采用GAUSS列主消元法求解线性方程组(MATLAB)
来源:互联网 发布:淘宝便宜有趣的小玩意 编辑:程序博客网 时间:2024/06/06 00:22
程序清单:
%%求解任意线性方程组的解
clc;
clear all;
format long e
disp('线性方程组求解,请输入参数');
n=input('维数n=');
A=input('矩阵A=');
b=input('右端项b=');
eps=input('控制精度eps=');
b=b'; %%变为列向量
A=[A b]; %%矩阵增广
for k=1:n-1
B=A(k:n,k); %%先将第k列可能作为主元的元素取出方至矩阵B
P=max(abs(B)); %%选主元P
if(P<eps) %%控制小主元
disp('无解');
break;
else
u=find((abs(B))==P); %%计算主元所在行相对与k行的位置
if(u~=1)
A([k,u],:)=A([u,k],:); %%换行
end
m=A(k+1:n,k)/A(k,k); %%求出各行行乘数并放至矩阵m
for i=1:length(m)
A(k+i,k:n+1)=A(k+i,k:n+1)-m(i)*A(k,k:n+1); %%消元按行进行
end
end
end
if A(n,n)==0
disp('无解'); %%若矩阵A不满秩,则无解
else
x(n)=A(n,n+1)/A(n,n); %%由最后一行首先求出方程组的第一个解x(n)
for i=n-1:-1:1 %%计算第i个解x(i)
for j=1:1:n-i %%利用回代思想
A(i,n+1)=A(i,n+1)-A(i,i+j)*x(i+j); %%减去已知部分
end
x(i)=A(i,n+1)/A(i,i);
end
end
disp('方程组的解');
x=x' %%输出方程组的解
流程图:
结果演示:
- 采用GAUSS列主消元法求解线性方程组(MATLAB)
- 求解线性方程组(SVD,QR,Gauss,LU)
- 数值分析 Gauss-Seidel迭代法求解线性方程组 MATLAB程序实现
- Gauss消去法解线性方程组(Matlab)
- 求解线性方程组--Gauss-Seidel迭代法
- Gauss消去法求解线性方程组
- gauss消元法求解线性方程组(举例子)
- Matlab线性方程组求解
- 求解线性方程组----Matlab
- matlab求解线性方程组
- 用matlab求解线性方程组
- Matlab求解线性方程组
- matlab 求解线性方程组
- MATLAB求解非齐次线性方程组
- MATLAB 线性方程组求解
- 高斯—赛德尔(Gauss - Seidel)迭代法解线性方程组(Matlab程序)
- Gauss-Jordan消去法中完全选主元法求解线性方程组
- 数值计算 && 实验8 && Gauss-Seidel迭代法求解线性方程组
- 【PAT甲级】1051. Pop Sequence (25)
- 联系Mail变更为kping2008@163.com
- github 原版RGBDSLAMV2上手详细攻略(科普ros方面)
- Linux学习(信号量)
- [c#]记一次实验室局域网的ARP欺骗
- 采用GAUSS列主消元法求解线性方程组(MATLAB)
- Tiny210(S5PV210) U-BOOT(三)----配置时钟频率源码分析
- 圆形ImageView——头像显示
- MyBatis-----3、MyBatis分页插件PageHelper
- Ubuntu 安装Srilm
- JDK源码分析(2)-java.util.LinkedList
- Tiny210(S5PV210) U-BOOT(四)----Nand Flash原理(1)
- The Python Challenge 题解
- hbase的admin可用api汇总