⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gaosi.txt

📁 该文件是运用MATLAB编辑的高斯法进行运算 希望大家能用得上
💻 TXT
字号:
%高斯列主消元法接方程组
a=input('请输入方程组系数矩阵a:')                     %输入方程组的系数矩阵(a)为方阵
disp(a)
[m,n]=size(a)                                 %输入系数矩阵的行(m)和列(n)的大小
if m~=n                                       %若a不是方阵显示false错误
    disp('false')
end
de=det(a);
if de==0
    disp('a矩阵奇异请检查!')
end
b=input('请输入b矩阵:')                        %输入方程组右边的矩阵b
disp(b)
xrt=b;                                        %备注,xrt为x的结果返回值
temp=zeros(m,1);
dmax=zeros(1,1);
for k=1:n                                     %循环次数用k控制
    dmax=zeros(1,1);
    row1=ones(1,1);
    for row=k:n                               %选主元
        for col=k:n
            if abs(a(row,col))>dmax
                dmax=abs(a(row,col));
                row1=row;                
            end
        end  
        if dmax==0                           %若选主元素为0则显示高斯求解出错:矩阵奇异
        disp('高斯求解出错:矩阵奇异')
    end
 if row1~=k                                  %若选出的行位置与k不相等则换行
        temp=a(k,:)
        a(k,:)=a(row1,:)
        a(row1,:)=temp;
        temp=zeros(n,1);
        temp=xrt(k)
        xrt(k)=xrt(row1)                      %对b矩阵即x的结果矩阵换行
        xrt(row1)=temp;
        disp(a)
        disp(xrt)
 end
    end
        for row=k+1:m                         %消元计算
   temp = a(row,k)/a(k,k)
   xrt(row)=xrt(row)-temp*xrt(k);  
   for  col=k:n
   a(row,col)= a(row,col)-temp* a(k,col);  
   end
        end
end
 disp(a) 
    disp(xrt)
if a(end,end)==0                            %若a矩阵最后一行一列的元素为0,则显示false错误
    disp('false')
end
xrt(end)=xrt(end)/a(end,end);               %回代计算x的解xrt
row=m-1;
temp=zeros(m,1);
while row>0
    for col=row+1:n
        temp(row)=temp(row)+a(row,col)*xrt(col)              
    end
    xrt(row)=(xrt(row)-temp(row))/a(row,row) 
     row=row-1;   
end 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -