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

📄 gauss1.m

📁 这是运用MATLAB进行编程的一些应用,可供大家学习一下
💻 M
字号:
%列主元gauss消去函数
function [A,u]=gauss(a,n)
%消去过程
for k=1:n-1
   %选主元
   c=0;
   for q=k:n
      if abs(a(q,k))>c
         c=a(q,k);
         l=q;
      end
   end
   %如果主元为0,则矩阵A不可逆
   if abs(c)<1e-10
      disp('error');
      pause;
      exit;
   end
   %如果l不等于k,则交换第l行和第k行
   if l~=k 
      for q=k:n+1
         temp=a(k,q);
         a(k,q)=a(l,q);
         a(l,q)=temp;
      end
   end
   %计算第k步的元素值
   for i=k+1:n
      for  j=k+1:n+1
         a(i,j)=a(i,j)-a(i,k)/a(k,k)*a(k,j);
      end
   end
end
%回代过程
x(n)=a(n,n+1)/a(n,n);
for i=n-1:-1:1
   s=0;
   for j=i+1:n
      s=s+a(i,j)*x(j);
   end
   x(i)=(a(i,n+1)-s)/a(i,i);
end
%返回列主元gauss消去后的增广矩阵
A=triu(a);
%返回方程组的解
u=x;

⌨️ 快捷键说明

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