ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MATLAB之Jacobi迭代法

2019-10-24 19:36:45  阅读:254  来源: 互联网

标签:11 10 end sum zeros MATLAB Jacobi 迭代法


function x=Jacobi(a,b,n,N,t)
x=zeros(n,1);
y=zeros(n,1);
for i=1:n
    if(a(i,i)==0)
        error('算法失败');
    end
end

for k=1:N+1
    d=0;
    for i=1:n
        sum=0;
         for j=1:n
             if(i~=j)
                 sum=sum+a(i,j)*x(j);
             end
         end
         y(i)=(b(i)-sum)/a(i,i);
         d(i)=abs(y(i)-x(i));
         if(d(i)>d)
             d=d(i);
         end
     end 
     if(d<t)
         for p=1:n
             fprintf('%d',y(p));
         end
         break;
     end
     if(k==N)
        fprintf('迭代失败');
        break;
     end
     for i=1:n
        x(i)=y(i);
     end
end
end

a=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8]

b=[6;25;-11;15]

n=4

N=100

t=0.001

标签:11,10,end,sum,zeros,MATLAB,Jacobi,迭代法
来源: https://blog.csdn.net/qq_43558971/article/details/102730153

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有