朴素高斯求解

function x= oridinarygauss(a,b)
n=length(b);
for j=1:n-1for i=j+1:nmult=a(i,j)/a(j,j);for k=j+1:na(i,k)=a(i,k)-mult*a(j,k);endb(i)=b(i)-mult*b(j);end
end
x(n)=b(n)/a(n,n);
for i=n-1:-1:1for j=i+1:nb(i)=b(i)-a(i,j)*x(j);endx(i)=b(i)/a(i,i);
end
end

说明:输入参数a为系数矩阵,b为Ax=b的b值。

LU分解

function [L,U,x] = lureslove(a,b)
n=size(a);n=n(1);
L=eye(n);U=a;
for j=1:n-1for i=j+1:nmult=U(i,j)/U(j,j);L(i,j)=mult;for k=1:nU(i,k)=U(i,k)-mult*U(j,k);endend
end
c(1)=b(1);
for i=2:nfor j=1:i-1b(i)=b(i)-L(i,j)*c(j);endc(i)=b(i);
end
x(n)=c(n)/U(n,n);
for i=n-1:-1:1for j=i+1:nc(i)=c(i)-U(i,j)*x(j);endx(i)=c(i)/U(i,i);
end
end

说明:输入参数a为系数矩阵,b为Ax=b的b值。

雅可比迭代

function [x,i] = yakebi(a,b,e,tol)
n=length(b);
D=diag(a);
D=spdiags(D,0,n,n);
r=a-D;i=0;
x=zeros(n,1);
while (norm((x-e),inf)>tol) x=D\(b-r*x);i=i+1;
end
end

说明:输入参数a为系数矩阵,b为Ax=b的b值。e为初始估计解常取e=zeros(n,1);tol为求解控制精度(用无穷范数表示的前向误差)。

高斯-塞德尔方法

function x = gaussseidel(a,b,k)
n=length(b);
D=diag(a);
D=spdiags(D,0,n,n);
e=inv(D);
L=tril(a,-1);U=triu(a,1);
x=zeros(n,1);
for i=1:kfor j=1:nx(j)=e(j,j)*(b(j)-U(j,:)*x-L(j,:)*x);end
end

说明:输入参数a为系数矩阵,b为Ax=b的b值。k为迭代次数。

连续过松弛(SOR)

function x = sor(a,b,w,k)
n=length(b);
D=diag(a);
D=spdiags(D,0,n,n);
e=inv(D);
L=tril(a,-1);U=triu(a,1);
x=zeros(n,1);
for i=1:kfor j=1:nx(j)=(1-w)*x(j)+w*e(j,j)*(b(j)-U(j,:)*x-L(j,:)*x);end
end

说明:输入参数a为系数矩阵,b为Ax=b的b值。k为迭代次数。w为松弛参数。

方程组求解matlab实现(朴素高斯求解、LU分解、雅可比迭代方法、高斯-塞德尔方法、连续过松弛(SOR))相关推荐

  1. 基于高斯塞德尔方法的超松弛迭代法MATLAB实现

    概述 用MATLAB编程实现,形成m函数文件.输入A,b矩阵,与松弛因子 ω \omega ω,无返回值.设置精度要求 ε = 1 0 − 4 \varepsilon=10^{-4} ε=10−4.所 ...

  2. MATLAB实现雅可比与高斯塞德尔迭代

    概述 用MATLAB编程实现,形成m函数文件.输入A,b矩阵,无返回值,解得x向量直接显示在命令行窗口,同时绘制出x向量的收敛曲线. A = [ 2 − 1 1 1 1 1 1 1 − 2 ] b = ...

  3. 雅可比(Jacobi)及高斯-塞德尔(Gauss_Seidel)迭代法求解线性方程组的matlab现实

    雅可比迭代法的实现代码: function X=Jacobi(A,B,P,delta,max1) %Input -A is a X*N nosingular matrix % -B is a N*1 ...

  4. 计算方法:列主元消去法,LU分解法, 雅可比迭代法,高斯塞德尔迭代法 解线性方程(C++)

    Matrix.h包括矩阵类Matrix的定义,Matrix.cpp包括该类成员函数的实现,LinearEqu.h包括线性方程类LinearEqu的定义,继承自Matrix类,其中solve()方法为列 ...

  5. [计算机数值分析]高斯-塞德尔迭代公式解线性方程组

    在雅可比迭代公式的基础上,对于收敛的迭代过程,所求出的"新值"常比"老值"更准确些,因此可以用它替代老值作进一步的计算,这样的思想就是著名的高斯-塞德尔迭代公式 ...

  6. 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组(转载)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yyywww666/article/details/42805071 算法介绍(迭代法介绍): 代码C ...

  7. 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组

    算法介绍(迭代法介绍): 代码C语言实现; # include<stdio.h> # include<math.h> # define N 6 /* *使用雅可比迭代法和高斯- ...

  8. matlab ilu函数,不完全 LU 分解

    ilu 不完全 LU 分解 语法 ilu(A,setup) [L,U] = ilu(A,setup) [L,U,P] = ilu(A,setup) 说明 ilu 生成一个单位下三角矩阵.一个上三角矩阵 ...

  9. Matlab与线性代数--矩阵的LU分解

    本图文详细介绍了Matlab中有关矩阵LU分解的操作.

最新文章

  1. 转换字符串中汉字为其拼音缩写(C#)
  2. es6 generator_让我们探索一下ES6 Generators
  3. 卷积神经网络要点解析
  4. WPF:使用Json.NET在TreeView中树形显示JSON数据
  5. 用python写一个手机app签到脚本_利用Python实现App自动签到领取积分
  6. Nginx设置禁止通过IP访问服务器
  7. 12bit的图像如何向8bit转化_干货分享 | 如何鉴别Western Blot图像的真实性?
  8. Linux学习笔记001---Windows下安装CentOS7_并且安装桌面UI
  9. 中国水上健身器材市场趋势报告、技术动态创新及市场预测
  10. apache storm 1.0.0 新特性
  11. Java线程与Android线程,Android线程篇(三):深入理解Java线程池(一)
  12. Windows环境上装在VM,VM安装CentOS7
  13. Dmp文件导入(Imp命令)
  14. jz2440裸机开发与分析:S3c2440ARM异常与中断体系详解8---定时器中断程序示例
  15. (转)yolov3运行及保存检测视频(包括摄像头)
  16. 路飞学城Python-Day13
  17. ​LeetCode刷题实战603:连续空余座位
  18. Error launching application on iPhone 11 Pro Max.
  19. 报错:tensorflow.python.framework.errors_impl.UnimplementedError: Cast string to float is not supported
  20. 计算机键盘清洗怎么弄,笔记本电脑键盘怎么清洗干净(专业户教你清洗键盘简易方法)...

热门文章

  1. mongodb 持久化 mysql_scrapy数据持久化存储(MySQL、MongoDB)
  2. 接口测试工具Postman(转)
  3. node.js实现formdata上传文件
  4. MaxCompute JDBC 2.2 发布说明
  5. Windows Phone 7 中的切换应用
  6. 计算机文化基础教程教案,新版《计算机文化基础》教案.doc
  7. 数据结构(C语言实现)勘误
  8. SPP pooling layer
  9. Linux基于expect(tcl)实现shell自动交互
  10. centos下实现程序开机自启动(tomcat为例)