教師モデルに従って単純なFalse Positionコードを実行しようとしていますが、実際に機能させることはできません。私のif-elseが正しいかどうか、またはそれが何を言っているのかはわかりませんが、とMethod Failed
の答えがあるはずです。プログラミングとmatlabはまったく新しいので、どんな助けも大いに価値があります。ありがとうP=3.0571
i=16
%False Position
%(x^2-4x+4-lnx=0 for 2<=x<=4)
p0=2; p1=4; TOL=10^-6; N=100;
q0=p0^2-4*p0+4-log(p0);
q1=p1^2-4*p1+4-log(p1);
i=2;
while i<=N
p=p1-q1*(p1-p0)/(q1-q0);
if abs(p-p1)<TOL
disp('False Position')
p
i
break
end
i=i+1;
q=p^2-4*p+4-log(p);
if q*q1<0
p0=p1;
q0=q1;
else
p1=p;
q1=q;
end
end
if i>=N disp('Method Failed')
end