MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 96|回复: 1|关注: 0

[已答复] matlab求解RLC电路震荡方程收敛值不正确

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2017-11-15 00:39:58 | 显示全部楼层 |阅读模式
本帖最后由 DocEdward 于 2017-11-15 00:44 编辑

在RLC串联电路中,以电容两端的电压作为变量建立二阶常微分方程,使用dsolve语句求解:
U_C=dsolve('D2y+(R/L)*Dy+y/(L*C)=E/(L*C)','y(0)=0','Dy(0)=0','t');
在E=2V的直流激励下,令C=1μF,L=10mF,R=5Ω,此时系统出于欠阻尼态,U_C应该收敛在E。
但是用matlab作图得到的U_C与t的图像收敛值不正确,收敛值不等于2。


不知道是哪里出了问题,源代码如下:


R=input('电阻值(欧姆)=');
L=input('电感值(亨利)=');
C=input('电容值(法拉)=');
E=input('直流激励电压(伏特)=');
T=input('观测时间(秒)=');
syms t
t=0:0.000001:T;
U_C=dsolve('D2y+(R/L)*Dy+y/(L*C)=E/(L*C)','y(0)=0','Dy(0)=0','t');
U_C=eval(U_C);
plot(t,U_C),title('电容两端的电压随时间变化的图像');




另外,若令R=200Ω,即恰好为临界阻值的时候,发现dsolve无法对微分方程求解,该如何解决呢?



环境是Win10 64bit,Matlab2016b。

temp.png

入门

53 麦片

财富积分


50500


0

主题

160

帖子

11

最佳答案
  • 关注者: 1
发表于 2017-11-15 10:03:17 | 显示全部楼层
试着用ode45求解下,这个是数值方法求解微分方程 help ode45
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表