LU法求解线性方程组,matlab编程如何在matlab里面求解一下线性方程组:A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4]b=[11 12 7 5],x=[X1 X2 X3 X4]如何求Ax=b中的L、U还有X的值,请给出详细程序步骤!谢谢!
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 01:22:54
![LU法求解线性方程组,matlab编程如何在matlab里面求解一下线性方程组:A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4]b=[11 12 7 5],x=[X1 X2 X3 X4]如何求Ax=b中的L、U还有X的值,请给出详细程序步骤!谢谢!](/uploads/image/z/7004935-55-5.jpg?t=LU%E6%B3%95%E6%B1%82%E8%A7%A3%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84%2Cmatlab%E7%BC%96%E7%A8%8B%E5%A6%82%E4%BD%95%E5%9C%A8matlab%E9%87%8C%E9%9D%A2%E6%B1%82%E8%A7%A3%E4%B8%80%E4%B8%8B%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84%EF%BC%9AA%3D%5B1+4+0+1%3B1+5+1+0%3B-3+2+0+3%3B-4+0+1+4%5Db%3D%5B11+12+7+5%5D%2Cx%3D%5BX1+X2+X3+X4%5D%E5%A6%82%E4%BD%95%E6%B1%82Ax%3Db%E4%B8%AD%E7%9A%84L%E3%80%81U%E8%BF%98%E6%9C%89X%E7%9A%84%E5%80%BC%2C%E8%AF%B7%E7%BB%99%E5%87%BA%E8%AF%A6%E7%BB%86%E7%A8%8B%E5%BA%8F%E6%AD%A5%E9%AA%A4%21%E8%B0%A2%E8%B0%A2%21)
LU法求解线性方程组,matlab编程如何在matlab里面求解一下线性方程组:A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4]b=[11 12 7 5],x=[X1 X2 X3 X4]如何求Ax=b中的L、U还有X的值,请给出详细程序步骤!谢谢!
LU法求解线性方程组,matlab编程
如何在matlab里面求解一下线性方程组:A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4]
b=[11 12 7 5],x=[X1 X2 X3 X4]如何求Ax=b中的L、U还有X的值,请给出详细程序步骤!谢谢!
LU法求解线性方程组,matlab编程如何在matlab里面求解一下线性方程组:A=[1 4 0 1;1 5 1 0;-3 2 0 3;-4 0 1 4]b=[11 12 7 5],x=[X1 X2 X3 X4]如何求Ax=b中的L、U还有X的值,请给出详细程序步骤!谢谢!
线性方程组的三角分解求法其实和常用的高斯消去法等效.
如果要直接利用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)
若要自己编程实现以上算法,可建立以下函数文件:
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 =
1.0000
2.0000
1.0000
2.0000
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); %计算上三角和下三角
x=U\(L\b) %求解x