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