matlab 列主元 三角分解法 解线性方程组 数值分析

%MtriangleDecomposition
%带列主元法的三角分解


%input输入矩阵,包括系数和参数
%inputC 用于分解LU矩阵的合成矩阵
%oringinData保留的初始矩阵
%output 输出答案,对应X的各个值
%Toutput:修正顺序后的答案,对应输入数据的X顺序
%rememberdet:行列变化中介值
%remember:行列变化记录矩阵
%xnum,ynum 输入矩阵的尺寸
%Lneed 消元中,主式需要乘的变量
%keepnum 保留小数位数
%contrastFrom(各个多项式的误差)
%deltanum:矩阵中变化的最大值
%Ldet:分解出来的下矩阵
%Udet:分解出来的上矩阵

%%注意,元素中不能有为零的数
clear all%启用模块化后需要注释该句

input=[0,2,0,1,0;
    2,2,3,2,-2;
    4,-3,0,1,-7;
    6,1,-6,-5,6];%输入矩阵
oringinData=input;



error1='the condition are not meet for using this algorithm' ;

%format short%设置精度 short为精确到小数点后3位 数值型 roundn(A,3)保留3位小数

keepnum=-20;%设置保留n位小数,记得加负号表示小数位
[ynum,xnum]=size(input);%获取输入矩阵大小

Ldet=zeros(ynum);
Udet=zeros(ynum);%创建LU的背景矩阵
inputC=input;
[Ldet,Udet]=lu(input);


%开始解方程组
%回代
for i=1:ynum%这里计算出结果
    output(ynum+1-i,1)=roundn(Udet(ynum+1-i,xnum),keepnum)/roundn(Udet(ynum+1-i,xnum-i),keepnum)%output为输出结果
    for j=i+1:ynum
        %回代结果到多项式中,将其他值消除
        if i

matlab 列主元 三角分解法 解线性方程组 数值分析_第1张图片matlab 列主元 三角分解法 解线性方程组 数值分析_第2张图片

你可能感兴趣的:(数值分析,学习,matlab,矩阵,线性代数)