?? 不動點迭代法.txt
字號:
編寫不動點迭代法的M文件staticIterate.m如下:
function s=staticIterate(x,eps)
%不動點迭代法求非線性方程組
%x為迭代初值,eps為允許誤差值
if nargin==1
eps=1.0e-6;
elseif nargin<1
error
return
end
xx=fx(x);%第一次迭代
while norm(xx-x)>=eps%循環迭代
x=xx;
xx=fx(x);
end
s=xx;
return
例:x1.^2-10x1+x2.^2+8=0
x1*x2.^2+x1-10*x2+8=0
取迭代公式:x1(k+1)=0.1(x1(k).^2+x2(k).^2+8)
x2(k+1)=0.1(x1(k)*x2(k).^2+x1(k)+8)
用MATLAB實現,需要首先編寫上述非線性方程組的M文件fx.m.
function y=fx(x)
y(1)=0.1*(x(1)*x(1)+x(2)*x(2)+8);
y(2)=0.1*(x(1)*x(2)*x(2)+x(1)+8);
y=[y(1) y(2)];
staticIterate([0 0])
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -