解方程及微分方程—MATLAB

解析解:

  • 解方程:

[x1,x2,x3,...]=solve(‘eq1’,'eq2','eq3',......,'x1','x2','x3','....') 

S=solve(‘eq1’,'eq2','eq3',......,'x1','x2','x3','....')

  1. 第一种方式,对solve的括号中的x1,x2,x3的次序会有要求(与前面[]的一致),第二种无要求。eq都是等式,不是表达式。
  2. 最好都打引号,不打引号也可以,但是一定要预先用sym,syms之类的设置,预定义符号。
  • 解微分方程:

dsolve(‘eq1’,'eq2',....)

要求同上

数值解

一般用ode45(@fun,tspan,y0)

1.编写好子函数,用矩阵的形式来表示微分方程组,且必须将原问题转换为n个一阶微分方程组。

2.y0一般是(n*1)向量,tspan一般是二元向量

2.也可以用函数句柄(匿名函数的方式)

例子:

对y'=2t,解微分方程

tspan = [0,5];
y0 = 0;
[t,y] = ode45(@(t,y) 2*t, tspan, y0);%使用函数句柄的方法

猜你喜欢

转载自blog.csdn.net/weixin_40244676/article/details/80143056