MATLAB中方程组求解的学习总结

本文总结了MATLAB中解决方程组的方法,包括线性方程组的直接解法,如使用左除和LU分解,迭代解法如Jacobi迭代法,以及单变量和非线性方程组的求解策略,如fzero函数和fsolve函数的应用。
摘要由CSDN通过智能技术生成

线性方程组的直接解法

此方法一般适用于低阶稠密线性方程组。

一、利用左除的直接解法 对于Ax=b,变换后可得到x=A\b
示例代码如下

A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0]’;
x=A\b`

二、利用矩阵的分解求解(这里介绍的是LU分解)
MATLAB提供的lu函数调用格式如下
1.[L,U]=lu(X);
%产生一个上三角阵U和一个变换形式的下三角阵L,使得X=LU
2.[L,U,P]=lu(X);
%P为置换矩阵,满足PX=LU
示例代码如下(利用LU分解来计算线性方程组)

A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0]’;
[L,U]=lu(A);
x=U(L\b) %U与括号间还有个左除符号,不知道为什么无法显示

线性方程组的迭代解法

此方法一般用于求解大型稀疏矩阵,这里主要介绍的是Jacobi迭代法,对于方程组Ax=b,若A为非奇异方针,且主对角线元素都不为0,把A分解为A=D-L-U,D是对角矩阵,元素为A的对角元素,L与U为A的下三角矩阵取反和上三角矩阵取反,推导出迭代公式
y=B*x+f

function [y,n]=jacobi(A,b,x0,ep)
D=diag</
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值