转载 用SOR方法解方程组计算方法matlab matlab中sor迭代法

原文地址:用SOR方法解方程组计算方法matlab作者:不再彷徨

function [Lw,f]=fifth1(A,b)%输入方程左端系数和右端向量,输出SOR方法的迭代矩阵,
%及另一个系数
s=size(A);%方程组左端系数矩阵的大小
ss=size(b);
f=zeros(ss(1),ss(2));%定义一个与b向量大小相同的向量
L=zeros(s(1),s(2));
U=L;
D=L;
mv1=L;%定义一个与L大小相同的中间矩阵
w=1.1;%松弛因子
for j=1:1:s(1);
D(j,j)=A(j,j);%对D赴A中的对角线值
fori=j+1:1:s(1);
L(i,j)=-A(i,j);%对L赴A的下三角值
U(j,i)=-A(i,j);%对L赴A的上三角值
end
end
mv1=inv(D-w*L);
mv2=(1-w)*D+w*U;
Lw=mv1*mv2;%得到SOR方法的迭代矩阵
f=w*mv1*b;%得到SOR方法另一系数

%主程序:

clc
clear
A=[4 -1 0 -1 0 0;
-1 4 -1 0 -1 0;
0 -1 4 0 0 -1;
-1 0 0 4 -1 0;
0 -1 0 -1 4 -1;
0 0 -1 0 -14];%初值
b=[2;1;2;2;1;2];%初值
N=20;%循环次数

s=size(A);%方程组左端系数矩阵的大小
[Lw,f]=fifth1(A,b);
X=zeros(s(2),1);%定义所求变量的向量
[转载]用SOR方法解方程组计算方法matlab matlab中sor迭代法
fork=1:1:N;
X=Lw*X+f;%循环,得到的X值覆盖原来的空间
mv3=b-A*X;%定义中间变量向量,以供判断
m=mv3(1);
fori=1:1:(size(X))(1);
if(mv3(i)>m)
m=mv3(i);%找出中间变量中的最大元素
end
end
if(m<0.00001)%判断是否符合要求的精度
break;%若是退出循环,跳出循环是的k值就就是循环次数
end
end
r=inv(A)*b;%调用软件的函数直接求,进行比较

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/87562.html

更多阅读

怎样用简单方法深层补水 深层保湿补水

秋天到来后,由于空气开始变得非常干燥,加之早晚温差大,天气逐渐变冷,引起皮肤毛孔收缩,皮肤表面的皮脂腺与汗腺分泌减少,从而使得皮肤表面很容易丧失水分。怎样用简单方法深层补水——步骤/方法怎样用简单方法深层补水 1、  而皮肤衰老

微信实时对讲怎么用的方法 微信群实时对讲怎么关

微信实时对讲怎么用的方法——简介微信实时对讲是微信最新版推出的语音功能,非常的方便就像打电话一样。那么微信实时对讲怎么用呢?看下文详解!微信实时对讲怎么用的方法——工具/原料装有微信的手机微信实时对讲怎么用的方法——方

转载 写意画的用笔方法是怎样的 工笔画与写意画的区别

原文地址:写意画的用笔方法是怎样的作者:宁馨园写意画的用笔方法是怎样的写意画的用笔方法,历代画家总结了很多宝贵的经验,其中比较重要的是:“意、力、韵、趣”的用笔“四要”。(1)笔意就是要意在笔先,画家下笔时要心使腕运,以一种特定的情

matlab中同一文件定义子函数的方法 matlab定义函数的方法

matlab中同一文件定义子函数的方法有时子函数可能很短,就几行,可能希望将多个函数定义放在同一个.m文件中,这里就存在一个子函数的定义问题。在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同

声明:《转载 用SOR方法解方程组计算方法matlab matlab中sor迭代法》为网友叶落纷飞飞满天分享!如侵犯到您的合法权益请联系我们删除