您的当前位置:首页正文

雅可比迭代matlab

2022-05-13 来源:榕意旅游网


一.

1.迭代方程式

雅可比迭代

Ax=b,对方程组,只要有解一般都能解出。

例:Ax=b 解方程组

11x16414.252.75x20.512.753.5x1.253

2.迭代M文件的程序

function x = Jacobi_f(A,b,x0,tol,max)

% Óà Jacobi µü´ú·¨Çó½â·½³Ì×éAx=b

% ÊäÈ룺AÊÇÒ»¸önXnϵÊý¾ØÕó£¬bÊÇnx1µÄÓÒ¶ËÏòÁ¿

% Êä³ö£ºxÊÇnx1µÄ½âÏòÁ¿

% tol Ϊµü´úÎó²îÈÝÏÞ£¬×î´óµü´ú´ÎÊýmax

[n,m]=size(A);

xold = x0;C= - A;

for i= 1:n

C(i,i)=0;

end

for i=1:n

C(i,:)=C(i,:)/A(i,i);

end

for i=1:n

d(i,1)=b(i)/A(i,i);

end

i=1;

while i <= max

xnew = C * xold + d;

if norm(xnew - xold) <= tol

x = xnew;

disp('Jacobi µü´ú·¨ÊÕÁ²')

return;

else

xold = xnew;

end

disp([xnew']);

i=i+1;

end

disp('Jacobi µü´ú·¨²»ÊÕÁ²')

disp('×î´óµü´ú´ÎÊýµÄ½á¹ûΪ')

x=xnew;

3. 迭代结果的程序

截屏的程序:

function x = Jacobi_f(A,b,x0,tol,max)

对任意的方程组只要出入A,b,x0,tol,max 参数就行了。

因篇幅问题不能全部显示,请点此查看更多更全内容