【计算方法笔记】列高斯消元法解线性方程组
来源:互联网 发布:下载切换mp3软件 编辑:程序博客网 时间:2024/06/05 07:02
针对齐次方程组
解线性方程组AX=b
采用高斯列主元方法为:
k=1:n-1时
- 选主元,并判断主元是否在精度内,不在则输出无解
- 换行
- 消元
k=n时
- 判断A(n,n)是否为0,为0则无法迭代输出无解 不为0则回代求解
重点理解矩阵的乘法
%高斯消元法%列主元素消元法,主元的选择是在对角线元素所在列的行下面选择%注意b和解的向量都是列向量,同时矩阵的乘法就是线性方程组的表示方法clear;A=[1,2,1,-2;2,5,3,-2;-2,-2,3,5;1,3,2,5];b=[-1;3;15;9];[n,cl]=size(A);x=zeros(n,1);for k=1:n-1 [prime,maxk]=max(abs(A(k:n,k)));%在第k列在对角元包括对角元下面寻找主元 maxk=maxk+k-1; if prime<=eps disp('无解!!!');%结束 else %换行 temp=A(k,1:cl); A(k,1:cl)=A(maxk,1:cl); A(maxk,1:cl)=temp; temp1=b(k); b(k)=b(maxk); b(maxk)=temp1; clear temp1,temp; %消元分系数矩阵A和b消元,从第k+1行开始计算 b(k+1:n,1)=b(k+1:n,1)-A(k+1:n,k)/A(k,k)*b(k,1); A(k+1:n,1:cl)=A(k+1:n,1:cl)-(A(k+1:n,k)/A(k,k))*A(k,1:cl); endendif(k+1==n) if abs(A(k,k))<=eps disp('无解!!!'); else %回代求解 x(n,1)=b(n,1)/A(n,n); for i=n-1:-1:1 x(i,1)=(b(i,1)-A(i,i+1:n)*x(i+1:n,1))/A(i,i); end disp(x); endend
阅读全文
0 0
- 【计算方法笔记】列高斯消元法解线性方程组
- 【计算方法笔记】矩阵分解求解线性方程组
- 计算方法-全主元高斯消元法解线性方程组(Matlab)
- 计算方法:矩阵三角分解法解线性方程组
- 计算方法之用高斯列主元消去法求线性方程组
- 计算方法之用追赶法求线性方程组
- 计算方法之用雅克比法求线性方程组
- 计算方法 实验四 解线性方程组的迭代法
- 线性代数笔记:线性方程组
- 计算方法Gauss-Jordan消去法求线性方程组的解
- 计算方法列主元素消去法求线性方程组的解
- 线性方程组
- 线性方程组
- 线性方程组
- 线性方程组
- 线性方程组
- 线性方程组
- 【计算方法笔记】数值积分
- 将Eclipse上普通Java Project移植到Linux上
- ArrayList循环遍历并删除元素的常见陷阱
- 循环链表小练习
- s5p6818
- KVO的底层实现原理
- 【计算方法笔记】列高斯消元法解线性方程组
- TCP/IP学习笔记(3)-IP协议,ARP协议,RARP协议
- Makefile初步理解
- java语言基础(96)——线程池的使用
- 这是一篇博客
- 关于glsl集中参数类型
- Matlab/Simulink 中枚举类数据的定义
- linux权限2
- 浅析大型网站架构之分布式消息队列