zxqk.net
当前位置:首页 >> mAtlAB输出方程的根 >>

mAtlAB输出方程的根

这个函数的根非常多,在[-2,2]间就一个,可以求在某个值附近的解 fsolve('x*sin(x)-0.5',a),其中a是输入的值

对于a*x^2+b*x+c这种方程的根求解方法,有方法一syms xsyms a b csolve(a*x^2+b*x+c,'x')运行结果ans = -(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a)方法二p=[a b c];x=roots(p)运行结果x = -(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

eqn = @(x) 4*x^4-4*x^2; fzero(eqn, 0) fzero(eqn, -1.1) fzero(eqn, -1) fzero(eqn, -0.9) fzero(eqn, 0.0) fzero(eqn, 1) fzero(eqn, 1.1)

举个简单例子: 问题1:求f(x)=1-x-sinx=0在【0,1】的根 误差不超过0.5*10^(-4) 解答: clc;clear a=0;b=1; fa=1-a-sin(a); fb=1-b-sin(b); c=(a+b)/2; fc=1-c-sin(c); if fa*fb>0,break,end while abs(fc)>0.5*10^(-4) c=(a+b)/2; fc=1-c-sin(c); if fb*fc>0 b=c; fb

你就把原方程的x换成你所求出的根,如果方程两边都相等就正确啦

用>> ezplot('exp(x)+x^3+x^2+1',[-1,1])可以看出,方程没有实根.>> solve('exp(x)+x^3+x^2+1=0')ans =6.3951031211035325819457205443799+5.0863211229750221515823443830895*i

y=func(0,10)% definefunction y = func(y,x) if x>0 y = x + func(y,x-1); else y = x; endend

p = [135 280 370 665 1150 1300];t = [];for i = 1:numel(p) t = [t; zeros(numel(p)-i+1, 1)+p(i)];endR = .7;a = .1;f = @(m)sum(t.^m .* log(t))/sum(t.^m) - log(log(R)/log(a) * sum(t.^m))^(1/m);m = fsolve(f, 1)

这个只有多项式方程的拟合结果可以输出,比如:x=0:0.01:pi/2;y=sin(x); p=polyfit(x,y,2);%用二次多项式拟合三角函数 poly2sym(p)%输出拟合的多项式ans =(2690379932593893*x)/2251799813685248 - (6087626332385193*x^2)/18014398509481984 - 1714034506437743/72057594037927936

对于形如a*x^2+b*x+c=0的方程 可以使用下面的程序求根 x=roots([a b c]) 例如4*x^2-5*x+1=0 x=roots([4 -5 1]) x = 1.0000 0.2500 祝你学习愉快!

网站首页 | 网站地图
All rights reserved Powered by www.zxqk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com