MATLAB-正确定义函数和运行脚本
我试图为二分法编写一个程序,但我不完全理解如何正确定义函数和运行脚本。我搜索过谷歌,看过YouTube视频和MATLAB教程,但我就是不明白。我希望这里有人能帮助我,一旦我提出我的代码,我得到的错误消息,以及我应该看到的 代码:MATLAB-正确定义函数和运行脚本,matlab,Matlab,我试图为二分法编写一个程序,但我不完全理解如何正确定义函数和运行脚本。我搜索过谷歌,看过YouTube视频和MATLAB教程,但我就是不明白。我希望这里有人能帮助我,一旦我提出我的代码,我得到的错误消息,以及我应该看到的 代码: function [f] = Bisection(a,b,Nmax,TOL) f(x)= x^3 - x^2 + x; i=1; BisectA=f(a); while i <= Nmax p=a+(b-a)/2; BisectP=f(p);
function [f] = Bisection(a,b,Nmax,TOL)
f(x)= x^3 - x^2 + x;
i=1;
BisectA=f(a);
while i <= Nmax
p=a+(b-a)/2;
BisectP=f(p);
if BisectP == 0 || (b-a)/2 < TOL
disp('p');
end
i=i+1;
if BisectA*BisectP > 0
a=p;
BisectA=BisectP;
else
b=p;
end
end
disp('Method failed after num2str(Nmax) iterations, Nmax=', Nmax);
我不知道如何定义“x”??另外,我应该创建多个函数吗?我想把它们都放在一个文件里
谢谢。发生错误是因为
x
确实未定义。如果您试图创建一个以x
为参数的
f = @(x)x.^3-x.^2+x;
然后,您可以像稍后一样调用
f(a)
。另一个潜在问题是二分法
函数返回f
。您想让它返回函数句柄吗?我不知道函数句柄是什么意思。你会建议我的函数不返回f.h.,还是不返回?
f = @(x)x.^3-x.^2+x;