(matlab系列)线性方程组求根-------列主元高斯消元法
2012-09-23 21:45
519 查看
线性方程组求根的数值方法有直接法和迭代法,直接法常用于处理阶数较小的方程组。其中, 列主元高斯法比较简单,但是实现成代码需要考虑很多细节,matlab的调试过程需要很大的耐心,下面贴出matlab程序。
亲测成功:
%Gaussian elimination method to find root of linear equations function x=Gaussian_elimination(A,b) %b is a column vector [n,~]= size(A); x(1:n,1) = 0; if abs(det(A))<=1e-8 error('The matrix is a singular matrix'); return ; end %elimination for k=1:n ak = max( abs( A(k:n,k) ) ); index = find( abs(A(:,k))==ak ); %index is a column vector %main element temp = A(k,:); %temp is a row vector A(k,:) = A(index(1),:); A(index(1),:) = temp; temp_b = b(k); b(k) = b(index(1)); b(index(1)) = temp_b; %clear up column elements if A(k,k)~=0 for i=k+1:n if A(i,k)~=0 m=A(i,k)/A(k,k); A(i,k:n) = A(i,k:n)-A(k,k:n).*m; b(i) = b(i)-b(k)*m; end end end end %back substitution for k=n:-1:1 %step size : -1 x(k) = b(k)/A(k,k); for i=k-1:-1:1 %step size : -1 b(i) = b(i)-x(k)*A(i,k); end end
亲测成功:
相关文章推荐
- 计算方法-全主元高斯消元法解线性方程组(Matlab)
- 高斯消元法解线性方程组(选主元)
- (matlab系列)非线性方程求根
- 求解线性方程组之全选主元高斯消元法
- 高斯消元法解非奇异线性方程组的MATLAB程序
- 主元高斯消去法求解线性方程组 C#源码
- 高斯消元法求解线性方程组
- 数字图象处理系列问题研究(matlab实现)
- matlab 用LU分解求解线性方程组——代码记录
- 高斯消元法求解线性方程组(附python代码)
- 解密SVM系列(五):matlab下libsvm的简单使用:分类与回归
- 逐次超松弛迭代法求解线性方程组的MATLAB实现
- matlab-非线性方程求根函数及函数曲线绘制
- Retinex系列之McCann99 Retinex 分类: 图像处理 Matlab 2014-12-03 11:27 585人阅读 评论(0) 收藏
- Python计算——高斯消元法解线性方程组
- 深度学习系列文章之四:ubantu系统下MATLAB安装
- 99、插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法
- Matlab图像识别/检索系列(11)—开源介绍之深度学习工具MatConvNet toolbox
- Matlab解线性方程组
- 高斯消元法解整数(同余)线性方程组模板(含无解、无穷解的判断)