matlab用直接三角分解法求解方程式,数值分析中直接三角分解法matlab程序

41528d3028836879cd698677c3999917.gif数值分析中直接三角分解法matlab程序

%直接三角分解法(1)function [x,y,L,U]=nalu(a,b)n=length(a);x=zeros(n,1);y=zeros(n,1);U=zeros(n,n);L=eye(n,n);U(1,:)=a(1,:);L(2:n,1)=a(2:n,1)/U(1,1);for k=2:nU(k,k:n)=a(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n);L(k+1:n,k)=(a(k+1:n,k)-L(k+1:n,1:k-1)*U(1:k-1,k))/U(k,k);endfor i=2:ny(1,1)=b(1,1);y(i,1)=b(i,1)-L(i,1:i-1)*y(1:i-1,1);endy(:,1);for i=n-1:-1:1x(n,1)=y(n,1)/U(n,n);x(i,1)=(y(i,1)-U(i,i+1:n)*x(i+1:n,1))/U(i,i);end x(:,1);clear all;clc;A=[1,2,3;2,5,2;3,1,5];b=[14;18;20];[x,y,L,U]=nalu(A,b);function [x,y,L,U]=sanjiao(a,b)n=length(a);x=zeros(n,1);y=zeros(n,1);L=eye(n,n);U=zeros(n,n); %L,U·Ö½âU(1,:)=a(1,:);L(2:n,1)=a(2:n,1)/U(1,1);for j=2:nU(j,j:n)=a(j,j:n)-L(j,1:j-1)*U(1:j-1,j:n);L(j+1:n,j)=(a(j+1:n,j)-L(j+1:n,1:j-1)*U(1:j-1,j))/U(j,j);end%Çó½â£¬ÁíUx=y,Ly=by(1,1)=b(1,1);for i=2:n y(i,1)=b(i,1)-L(i,1:i-1)*y(1:i-1,1);end x(n,1)=y(n,1)/U(n,n);for i=n-1:-1:1 x(i,1)=(y(i,1)-U(i,i+1:n)*x(i+1:n,1))/U(i,i);end clear all;a=[1,2,3;2,5,2;3,1,5];b=[14;18;20];[x,y,L,U]=sanjiao(a,b);xy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值