すべてをプロットして最終的な答えにたどり着く方法を示す、ある種の二分法プログラムを実行しようとしています。私のファイルで、別の m ファイルの関数からデータをプロットできない理由を知っていますか? そのエラーがあります:
mainhazia 27 end 'Roots' の正確な (大文字と小文字を区別する) 一致が見つかりません
最も近い一致は次のとおりです: C:\Program Files\MATLAB\R2012b\toolbox\matlab\polyfun\roots.m の roots
mainhazia のエラー (23 行目) plot(Roots,f(Roots),'.');
私のコード:
主要 :
f=@(x)x.^2-1;
XR=2;
xL=-2;
XL=xL ;
eps=0.001;
ezplot(f);
hold on ;
plot(XR,f(XR),'r*');
plot(xL,f(xL),'r*');
for df=xL:0.15:XR
if f(xL)*f(df)<= 0
xR=df;
BisectionM(f,xR,xL,eps);
plot(Roots,f(Roots),'.');
xL=df;
xR=XR;
end
end
二等分M :
function Roots = BisectionM(f,xR,xL,eps)
while abs(xR - xL) > eps
xM = (xR + xL) / 2;
if (f(xL))*(f(xM)) > 0
xL = xM;
plot(xL,f(xL),'*');
else
xR = xM;
plot(xR,f(xR),'*');
end
Roots = xM;
end
end
私の母国語ではない私の英語について申し訳ありません。