matlab运行牛顿迭代总提示输入参数不足怎么回事啊
matlab运行牛顿迭代总提示输入参数不足怎么回事啊,下面是程序,
迭代程序
function x=newton(fnew,dfnew,x0,delta,maxx)
for k=1:maxx
x1=x0-fnew(x0)/dfnew(x0);
err= x1-x0;
if err<delta;
break
end
end
函数:
function y=fnew(x)
y=x^2-0.388*x-0.026-10^6*x^3/(8314*473.15)
end
导函数:
function dy=dfnew(x)
dy=2*x-0.388-3*10^6*x^2/(8314*473.15)
end
1592890520(1).png 返回小木虫查看更多
今日热帖
fnew和dfnew作为参数传递需要先@一下的,可以这样调用:
f1=@fnew;
f2=@dfnew;
newton(f1,f2,x0,delta,maxx);,
帮帮忙
提醒一下,程序缺少了更新步