s=A(i,(i+1):n)*x((i+1):n,1); else s=0; end
x(i,1)=(b(i)-s)/A(i,i); end
function x=SolveDownTriangle(A,b) %求解下三角矩阵Ax=b的解 N=size(A);
n=N(1); for i=1:n if(i>n)
s=A(i,1:(i-1))*x(1:(i-1),1); else s=0; end
x(i,1)=(b(i)-s)/A(i,i); end
%求解线性方程组的解 clc clear
A=[12 -3 3;-16 3 -1;1 1 1]; b=[15;-13;6]; %x=A\\b
[x,L,U]=Crout(A,b) 解: x = 1 2 3 L =
12.0000 0 0 -16.0000 -1.0000 0 1.0000 1.2500 4.5000 U =
1.0000 -0.2500 0.2500 0 1.0000 -3.0000 0 0 1.0000
列主元LU分解
function [L,U,x]=lux(A,b)
%LU 分解法解线性方程组(列主元LU分解) [n,n]=size(A);
p=eye(n);%p记录了选择主元时候所进行的行变换 for k=1:n-1
[r,m]=max(abs(A(k:n,k))); %选列主元 m=m+k-1; if(A(m,k)~=0) if(m~=k)
A([k m],:)=A([m k],:); p([k m])=p([m k]); end
for i=k+1:n
A(i,k)=A(i,k)/A(k,k); j=k+1:n;
A(i,j)=A(i,j)-A(i,k)*A(k,j); end end end
L=tril(A,-1)+eye(n,n); U=triu(A); %解下三角矩阵 Ly=b newb=p*b; y=zeros(n,1); for k=1:n j=1:k-1;
y(k)=(newb(k)-L(k,j)*y(j))/L(k,k); end
%解上三角方程组 Ux=y x=zeros(n,1); for k=n:-1:1 j=k+1:n;
x(k)=(y(k)-U(k,j)*x(j))/U(k,k); end
以上是由77cn范文大全为大家整理的1、克劳特(Crout)(LU)分解法求解线性方程组的matlab实现的相关范文,本文关键词为克劳,Crout,解法,求解,线性,方程组,matlab,实,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
1、克劳特(Crout)(LU)分解法求解线性方程组的matlab实现.doc
免费范文网为全国范文类知名网站,下载全文稍作修改便可使用,即刻完成写稿任务。
已有11人下载
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库1、克劳特(Crout)(LU)分解法求解线性方程组的matlab实现在线全文阅读。
本文来自:免费范文网(www.77cn.com.cn) 转载请注明出处!