Matlab求解线性方程组非线性方程组.pdfVIP

  • 0
  • 0
  • 约4.48千字
  • 约 9页
  • 2026-02-05 发布于河北
  • 举报

求解线性方程组

solve,linsolve

例:

A=[5042;1-121;4120;1111];

%矩阵行之间用分号隔开,元素之间用逗号或空格

B=[3;1;1;0]

X=zeros(4,1);%建立一个4元列向量

X=linsolve(A,B)

diff(fun,var,n):对表达式fun中变量var求n阶导数。

例如:F=sym(1u(x,y)*v(x,y),);%sym()用来定义一个符号表达式

diff(F);%matlab区分大小写

pretty(ans)%pretty():用习惯书写方式显示变量;ans是答案表达式

非线性方程求解

fsolve(fun,xO,options)

其中fun为待解方程或方程组文件名;

xO位求解方程初始向量或矩阵;

option为设置吩咐参数

建立文件fun.m:

functiony=fun(x)

y=[x(1)-0.5*sin(x(l))-0.3*cos(x(2)),...

x(2)-0.5*cos(x⑴)+0.3*sin(x⑵)];

clear;x0=[0.1,0.1];fsolve(@fun,x0,optimset(fsolve))

注:

…为续行符

m文件必需以function为文件头,调用符为@;文件名必需与定义函

数名相同;fsolve()主要求解困难非线性方程和方程组,求解过程是一

个靠近过程。

Matlab求解线性方程组

AX=B或XA=B

在MATLAB中,求解线性方程组时,主要采纳前面章节介绍除法运算

符和。如:

X=A\B表示求矩阵方程AX=B解;

X=B/A表示矩阵方程XA=B解。

对方程组乂=人\8,要求A和B用相同行数,X和B有相同列数,

它行数等于矩阵A列数,方程X=B/A同理。

假如矩阵A不是方阵,其维数是mxn,则有:

m=n恰定方程,求解精确解;

mn超定方程,寻求最小二乘解;

mn不定方程,寻求基本解,其中至多有m个非零元素。

针对不同状况,MATLAB将采纳不同算法来求解。

一.恰定方程组

恰定方程组由n个未知数n个方程构成,方程有唯一一组解,其一般

形式可用矩阵,向量写成如下形式:

Ax=b其中A是方阵,b是一个列向量;

在线性代数教科书中,最常用方程组解法有:

(1)利用came公式来求解法;

(2)利用矩阵求逆解法,EPx=A-lb;

(3)利用gaussian消去法;

(4)利用hi法求解。

一般来说,对维数不高,条件数不大矩阵,上面四种解法所得结果差

别不大。前三种解法真正意义是在其理论上,而不是实际数值计算。

MATLAB中,出于对算法稳定性考虑,行列式与逆计算大都在hi分

解基础上进行。

在MATLAB中,求解这类方程组吩咐非常简洁,干脆采纳表达式:

x=A\bo

在MATLAB指令说明器在确认变量A非奇异后,就对它进行lu分解,

并最终给出解x;若矩阵A的条件数很大,MATLAB会提示用户留意所

文档评论(0)

1亿VIP精品文档

相关文档