随机产生10阶系数矩阵的线性方程组,分别用高斯消去法,列主元高斯消去法,LU分解法求解的matlab程序是怎样的

随机产生10阶系数矩阵的线性方程组,分别用高斯消去法,列主元高斯消去法,LU分解法求解的matlab程序是怎样的,第1张

有两个主要元件的方法的主要元件的方法,一个完整的初级元件方法,在一般情况中,主元件的方法将能够以确保了该算法的稳定性,所谓的稳定的过程中,该算法的计算错误(消除法这种直接的方法主要是指舍入误差带来的是由于计算机的字长有限)可以控制的,完整的主要成分是更稳定的算法主要元素的方法,但计算量的方法比主元大多主元法只在每次消除同一列的比较的元素,做的比较与线性方程组的顺序数,n是相同的顺序,每做一次全主元素法消除系数矩阵所有元素的比较,计算量是比多列主元大的计算量,在一般情况下,不使用的完整的初级元件方法,而主元素的使用方法可以n ^ 2的相同的顺序。

线性方程组的三角分解求法其实和常用的高斯消去法等效。

如果要直接利用Matlab内置的三角分解算法,可在命令窗口直接执行以下命令:

A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4];

b=[11; 12; 7; 5];

[L,U]=lu(A); %L为下三角,U为上三角

x=U\(L\b) %求解x

若要自己编程实现以上算法,可建立以下函数文件:

function x=GaussMethod(A,b)

%高斯消去法求解线性代数方程组Ax=b

n=size(A,1);

m=zeros(n-1,n-1);

x=zeros(n,1);

for k=1:n-1

for i=k+1:n

m(i,k)=-A(i,k)/A(k,k);

A(i,k:n)=A(i,k:n)+A(k,k:n)m(i,k);

b(i)=b(i)+b(k)m(i,k);

end

end

x(n)=b(n)/A(n,n);

for i=n-1:-1:1

p=0;

for j=i+1:n

p=p+A(i,j)x(j);

end

x(i)=(b(i)-p)/A(i,i);

end

编写函数后保存。在命令窗口输入:

A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4];

b=[11; 12; 7; 5];

x=GaussMethod(A,b)

运行后可得到

x =

10000

20000

10000

20000

以上就是关于随机产生10阶系数矩阵的线性方程组,分别用高斯消去法,列主元高斯消去法,LU分解法求解的matlab程序是怎样的全部的内容,包括:随机产生10阶系数矩阵的线性方程组,分别用高斯消去法,列主元高斯消去法,LU分解法求解的matlab程序是怎样的、LU法求解线性方程组,matlab编程、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10118369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存