永发信息网

用jacobi迭代法求解线性方程,求助matlab大师

答案:1  悬赏:80  手机版
解决时间 2021-11-07 08:56
用jacobi迭代法求解线性方程,求助matlab大师
最佳答案
找了段代码,稍加改造,供参考:
 
function [x,n]=jacobi(A,b,eps,x0)
% Jacobi迭代法求解线性方程组,其中
%  A --- 方程组的系数矩阵
%  b --- 方程组的右端项
%  eps --- 精度要求,缺省为1e-6
%  x0 --- 解的初值,可省略
%  x ---  方程组的解
%  n ---  迭代次数
if nargin < 2, error('输入参数数量不足'); end
if nargin < 4, x0 = zeros(length(b), 1); end
if nargin < 3, eps= 1.0e-6; end
 
M = 200;         % 最大迭代次数
D=diag(diag(A)); % 求A的对角矩阵
L=-tril(A,-1);   % 求A的下三角阵
U=-triu(A,1);    % 求A的上三角阵
B=D(L+U);
f=D;
x=B*x0+f; 
n=1; %迭代次数
while norm(x-x0)>=eps
    x0=x; 
    x=B*x0+f;
    n=n+1;
    if(n>=M) 
        disp('Warning: 迭代次数太多,可能不收敛!');
        return;
    end
end

 
调用示例:
A = [
    9  -1 3
    -1 10 -2
    -2 1  10
];
b=[10; 7; 6];
jacobi(A,b,1e-6)
 
得到结果:
ans =
   0.98126975286522
   0.93860544813362
   0.70239327635714

 
直接用A求解:
ans =
   0.98126951092612
   0.93860561914672
   0.70239334027055

可以看到,精度满足小数点后6位数字的要求。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
4.5除以1.8的简便方法
cos(33度33分48秒)怎么算
CD变装男变女,怎样才像是个女的?
蓝色大海的传说16集32分钟插曲女声唱的是什么
求这张宝石之国的2K或者4K动漫原图!
闺女儿子是否都有一样义务为老人修坟
细节描写同学注重礼貌的一段话
魅蓝note6的安卓版本是多少
我需要一位精通魂系列剧情的魂学家!
禄劝交警大队摩托车(科目二)地址在什么地方
“赊购材料一批,价值20000元,税率17%,材料
如何评价纪录片《转折点
猫咪刚到家两天没拉屎 第三天早上拉了一坨干
赵路庄村地址有知道的么?有点事想过去!
癞蛤蟆一生要脱几次皮
推荐资讯
微胶指甲油容易掉吗
34.6锦纶65.4腈纶的呢子容易起球吗????
218.202.4.*这个人是谁 。做人太可恶了!!!
移动GIS的主流开发平台
这个是什么世界啊,365天 好像得天天过节似的
某钙片中钙元素的质量分数,为什么不是用钙的
哪一个综艺节目有轮流煮饭的游戏?
弧长微分ds^2=dx^2+dy^2 怎么推导来的
炬星投资有限公司地址在哪,我要去那里办事
8千米50米一5千米300米等于多少
联通或者电信可以接入CMTDS吗
马连华的对战记录
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?