资源描述:
《如何用matlab求解二阶微分方程,以及程序实例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如何用matlab求解二阶微分方程,以及程序实例(2010-03-2512:56:36)转载标签:matlab程序实例二阶微分方程dsolve文化微分方程的求解主要用到一个dsolve函数,如下面的“Uc1=dsolve('D2y+1000*Dy+10^6*y=0',’y(0)=10’,'Dy(0)=0’,'t');”,可以看出,函数的第一部分是所要求解的微分方程,其次是初始条件,最后是对自变量的说明。下面给出的程序实例是用于分析一个最简单零输入的二阶电路。其中C=1uf,L=1H。R是不确定的,他的值的选取将会直接影响到方程解的形式以及最后画出的曲线形状,在此我取R的值分别为1000,
2、2000,3000欧姆。R=1000;while(R<=3000)ifR<2000Uc1=dsolve('D2y+1000*Dy+10^6*y=0',’y(0)=10','Dy(0)=0’,'t');It1=-1*diff(Uc1)*(1e—6);Ul1=diff(It1);elseifR==2000Uc2=dsolve(’D2y+2000*Dy+10^6*y=0’,'y(0)=10',’Dy(0)=0','t');It2=—1*diff(Uc2)*(1e—6);Ul2=diff(It2);elseUc3=dsolve('D2y+3000*Dy+10^6*y=0',’y(0)=10’,’
3、Dy(0)=0’,'t');It3=—1*diff(Uc3)*(1e—6);Ul3=diff(It3);endR=R+1000;end%whilei〈=3figure(1)xlabel(’t’)ylabel('Uc(t)')holdon;p1=ezplot(Uc1,[0,0。02]);p2=ezplot(Uc2,[0,0。02]);p3=ezplot(Uc3,[0,0.02]);title(’电容电压Uc(t)变化曲线’)set(p1,’LineStyle’,’:’);set(p2,’LineStyle’,'--');legend(’uc1’,’uc2','uc3’);set(p1,'C
4、olor’,’r’);set(p2,’Color’,’k’);legend(’uc1’,'uc2','uc3');holdoff;axisauto;figure(2)xlabel(’t')ylabel('I(t)')holdon;p4=ezplot(It1,[0,0.02]);p5=ezplot(It2,[0,0。02]);p6=ezplot(It3,[0,0.02]);title('电流I(t)变化曲线’)set(p4,’LineStyle',':');set(p5,’LineStyle','——');legend(’uc1',’uc2','uc3');set(p4,'Color',’
5、r');set(p5,’Color’,'k’);legend(’It1','It2','It3’);holdoff;axisauto;figure(3)xlabel('t’)ylabel('Ul(t)')holdon;p7=ezplot(Ul1,[0,0.02]);p8=ezplot(Ul2,[0,0.02]);p9=ezplot(Ul3,[0,0.02]);title(’电感电压Ul(t)变化曲线')set(p7,’LineStyle',’:');set(p8,'LineStyle’,’-—');legend(’uc1',’uc2’,’uc3’);set(p7,'Color’,’r')
6、;set(p8,’Color’,'k');legend(’Ul1',’Ul2','Ul3');holdoff;axisauto;文档为个人收集整理,来源于网络