求用matlab解一道题!ax^4-bx^3+cx+d=0a=2154.796,b=1.164043,c=0.00001

求用matlab解一道题!
ax^4-bx^3+cx+d=0
a=2154.796,b=1.164043,c=0.00001224,d=8.568E-08
初值大概定为0.00054
精度至少在小数点后6位,请问如果用迭代法解最后结果是多少?
乖朵啦 1年前 已收到4个回答 举报

叶宁云 春芽

共回答了30个问题采纳率:86.7% 举报

用fsolve函数解即可;
要建一个函数,如下:
function F = myfsolve(x)
a=2154.796;
b=1.164043;
c=0.00001224;
d=8.568E-08;
F=a*x^4-b*x^3+c*x+d;
保存为myfsolve.m.
然后再写求解过程:
x0=0.00054;
options=optimset('Display','iter');
[x,fval] = fsolve(@myfsolve,x0,options)
求解结果为:
x = 5.400000000000000e-004
迭代误差:fval = 9.228952864361376e-008

1年前

1

teihh 幼苗

共回答了4个问题 举报

没必要搞那么复杂吧,直接用
roots([a b c 0 d])
就可以求出方程的根,精度超过你要求的6位数字。

如果想求准确的解,也可以用
syms x
r=solve(a*x^4-b*x^3+c*x+d)

1年前

1

zickler 幼苗

共回答了165个问题 举报

clc;
clear;
syms x a b c d;
a=2154.796;
b=1.164043;
c=0.00001224;
d=8.568E-08;
solve('2154.796*x^3+1.164043*x^2+0.00001224*x+(8.568E-08)=0')

解出来3个根:
[ ...

1年前

0

yuanyuanwell 幼苗

共回答了1个问题 举报

扶持

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.026 s. - webmaster@yulucn.com