在matlab中使用dsolve函数解范德波尔二阶微分方程

荷兰物理学家范德波尔为了描述三极管的震荡效应创建了范德波尔方程,其数学表达式如下:
范德波尔方程
我们假设μ=0,并给给出初始变量的值,可以简化方程如下:
在这里插入图片描述
我们把以上数学公式转换成matlab语言并且做出图像如下:

syms y(t)
Dy = diff(y,t)
D2y= diff(y,t,2)
equ = D2y + y == 0
con = [y(0) == 2, Dy(0)==0]
yS  = dsolve(equ,con)

t = 0:1:100
y = eval(subs(yS))
plot(t,y)

注意我们这里使用了diff函数对y关于t的函数进行的导数表达式处理,特别要注意的是,如果有多个方程和多个初始状态值得话,需要用逗号隔开之后,形成方程组和条件组,运行之后,我们就可以得到微分方程解及其图像如下:

yS =
 
2*cos(t)

在matlab中使用dsolve函数解范德波尔二阶微分方程_第1张图片

你可能感兴趣的:(matlab)