使用迭代查找方程的根

时间:2018-10-27 14:03:30

标签: matlab loops iteration equation-solving

我正在尝试使用迭代法找到方程3x 3 + x 2 -10的根。这是我到目前为止的代码,但是我认为我没有正确实现while循环,因为当前方程式仅被评估一次。本质上,代码应评估DM的绝对值是否小于0.0001,如果是,则应打印xVal-cVal的值并停止。否则,cVal的值应设置为等于xVal并循环返回,但是代码不这样做。

cVal

Image of flowchart for equation

2 个答案:

答案 0 :(得分:2)

提供的流程图中的方法无效。

尝试此脚本:

func = @(xVal)((10-xVal^2)/3)^(1/3);
x = fzero(func,StratingX)

答案 1 :(得分:1)

您需要在while循环中更新cVal

xVal = input('Enter a value for x:');
cVal =((10-xVal^2)/3)^(1/3);
while (abs(xVal-cVal)>0.0001)
   xVal = cVal;
   cVal =((10-xVal^2)/3)^(1/3);
end 
disp(cVal);

输出:

Enter a value for x:0
    1.3905