matlab不选主元的高斯消去法,高斯消去法与列选主元的高斯消去法-matlab实现
上一次写了一篇关于列选主元的高斯消去法,这次进行了修改,直接对增广矩阵进行变换,更简洁一些。不过没有对主元过小时进行处理,因此有缺陷。
%高斯分解
function [X]=gauss(A,b)
%Inpiut A 是系数矩阵,b是右端项
%Output x是解
[N,N]=size(A);
X=zeros(N,1);
B=[A b];
for i=1:N-1
if A(i,i)==0
'A is singular. no unique solution'
break
end
for k=i+1:N;
temp=B(k,i)/B(i,i);
B(k,i+1:N+1)=B(k,i+1:N+1)-temp*B(i,i+1:N+1);
end
end
%回代法
X(N)=B(N,N+1)/B(N,N);
for k=N-1:-1:1
X(k)=(B(k,N+1)-B(k,k+1:N)*X(k+1:N))/B(k,k);
end
%列选主元的高斯消去法
function [X]=gauss_pivot(A,b)
%Inpiut A 是系数矩阵,b是右端项
%Output x是解
[N,N]=size(A);
X=zeros(N,1);
C=zeros(1,N);
B=[A b];
for i=1:N-1
[max1,j]=max(abs(B(i:N,i)));
%交换行
C=B(i,:);%C为A的第k列的值
B(i,:)=B(j+i-1,:); %将A的第K列赋为最大
B(j+i-1,:)=C;
%主元为0的情况
%主元为0的情况
if A(i,i)==0
'A is singular. no unique solution'
break
end
for k=i+1:N;
temp=B(k,i)/B(i,i);
B(k,i+1:N+1)=B(k,i+1:N+1)-temp*B(i,i+1:N+1);
end
end
%回代法
X(N)=B(N,N+1)/B(N,N);
for k=N-1:-1:1
X(k)=(B(k,N+1)-B(k,k+1:N)*X(k+1:N))/B(k,k);
end
%
matlab不选主元的高斯消去法,高斯消去法与列选主元的高斯消去法-matlab实现相关推荐
- 数值计算(一)之解线性方程组(高斯消去法,列选主元消去法,全选主元消去法,杜立特尔分解,克洛特分解,乔里斯基分解)
解线性方程组即解一个多元一次方程组,例如 目录 消去法 分解法 消去法 原理 没有学过高级的解法也没关系,凭借我们初高中的知识足以解决这个问题 这是一个多元一次方程组,拥有n个未知量,也有n方程 我们 ...
- 部分选主元matlab,列选主元的高斯消去法-matlab
大家对高斯消去法应该比较了解了,高代和线性代数中做的已经不少了,但是计算机实现的时候还是要注意一些东西, %列选主元的高斯消去法 function X=lufact_my(A,B) %Inpiut A ...
- 列选主元的高斯消去法——MATLAB实现
日期:11-14 作者:老李 按列选主元策略的高斯消去法 目标 编写函数,实现列选主元策略的高斯消去法 过程 1.消去 2.回代 代码如下: function [ X, U ] = colGaussE ...
- Matlab实现 LU分解法解线性方程组(全选主元列选主元)
选主元LU分解 实验内容:列选主元LU分解和全选主元LU分解求解线性方程组 计算方法: 全选主元消元法 1.1 初始化 根据参数A.b,记录下矩阵.右端项的尺寸n: 以得到的尺寸n初始化解向量x: 同 ...
- 有源电力滤波器APF MATLAB仿真 选阶补偿,matlab版本V2014,基于LCL滤波器的I型三电平拓扑仿真模型
有源电力滤波器APF MATLAB仿真 选阶补偿,matlab版本V2014,基于LCL滤波器的I型三电平拓扑仿真模型,三相四线制,软件锁相环,C语言编程提取谐波指令,直流电压和中点电位控制稳定. I ...
- py实现高斯列选主元消元法
什么是高斯列选主元消元法 高斯消元法解决的问题是线性方程组的求解问题. 比如下面这个方程组 x+2y = 3 x+4y = 8 我们大学之前学习的方法其实就是高斯消元法. 上面的方程组我们还可以写成矩 ...
- Python02 雅克比迭代法 Gauss-Seidel迭代法 列选主元法 LU分解法(附代码)
1. 实验结果 (1)在定义的矩阵类中设置需要求解的方程为: (2)在 test.py 中选择雅克比迭代法求解: 输入:最大容许迭代次数和精度要求: 输出:根据谱半径判断方法是否收敛,收敛时得到满足精 ...
- 如何将matlab代码转为C语言(2)--在C++中调用matlab的函数
如何将matlab代码转为C语言(2)–在C++中调用matlab的函数 在上一条博文中提供了一种直接在matlab操作中的方法,下面提供一种新的调用方法,即在C++中调用matlab中的dll文件. ...
- matlab在曲线给命名,matlab 利用xlsread画图,怎么将一组excel数据导入,通过matlab作图...
Matlab 循环 for 语句 xlsread EXCEL表格数据导入 画图 Matlab的 xlsread() 函数可以将Excel数据到matlab工作空间,然后就可以根据读入据作图.下面给出操 ...
最新文章
- 适配器模式(三种)简单使用
- 【阿里云 Linux 服务器】mysql 遇到以下问题Expression #1 of SELECT list is not in GROUP BY clause and contains nonag
- hdu 5504(枚举+找规律)
- python os 文件锁_python 中给文件加锁——fcntl模块
- python iocp_记对协程增加IOCP支持时候踩过的一些坑
- 查看node的位置_升级Node版本RN项目运行报错cb.apply is not a function
- 如何使用JPA和Hibernate映射JSON集合
- 解决“A problem has been encountered while loading the setup components. Canceling setup.”的问题...
- 表格占据整个页面_excel转换为pdf6个示例,在多个工作表、表格和空白页中进行选择...
- js中数组的操作方法
- 液晶屏和计算机组成,液晶显示屏结构是什么 液晶显示屏结构介绍【图文】
- 升级mac Mojave系统,git无法使用
- 运营商iptv服务器,IPTV 服务器
- P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
- 【Excel 教程系列第 14 篇】批量替换 Excel 中单元格的背景色
- python一入深似海-模块化编程-钢铁侠战甲(二)
- 回顾 深度学习 实验三 线性回归
- YMEC8A2TB3A2C3
- 计算机网络协议——OSI、TCP数据、IP数据包、Ethernet 数据包
- HTML里子DIV设置margin-top后影响父DIV位置的解决办法