matlab解线性微分方程组.跪求程序。 三个线圈在同一磁场回路,线圈2、3短路,线圈1接一个恒定电压。

电源电压7.5V。
电阻1:27欧姆。
电阻2、3:1欧姆。
电感1:5亨利。
电感2、3:0.1亨利。
互感13、12:0。6亨利。
互感23:0.12亨利。

2和3先闭合,再闭合1。求123中电流?
电路微分方程是:
7.5=27i1+5di1/dt+0.6di2/dt+0.6di3/dt
0=1i2+0.1di2/dt+0.6di1/dt+0.12di3/dt
0=1i3+0.1di3/dt+0.6di1/dt+0.12di2/dt
需要画出电流123在(0到1秒)的图像。

7.5=27i1+5di1/dt+0.6di2/dt+0.6di3/dt

0=1i2+0.1di2/dt+0.6di1/dt+0.12di3/dt

0=1i3+0.1di3/dt+0.6di1/dt+0.12di2/dt

 

先对方程进行处理

 

7.5-27*i1=5*di1/dt+0.6*di2/dt+0.6*di3/dt;

-i2=0.1*di2/dt+0.6*di1/dt+0.12*di3/dt;

-i3=0.1*di3/dt+0.6*di1/dt+0.12*di2/dt;

求解得到微分方程组的表达式为

 di1=(30*i2)/19 - (297*i1)/19 + (30*i3)/19 +165/38

 di2=(810*i1)/19 + (350*i2)/19 - (600*i3)/19 -225/19

 di3=(810*i1)/19 - (600*i2)/19 + (350*i3)/19 -225/19

采用matlab数值求解函数ode45

定义子函数

function dy=my_function(t,y)

dy=zeros(3,1);

dy(1)=(30*y(2))/19 -(297*y(1))/19 + (30*y(3))/19 + 165/38;

dy(2)=(810*y(1))/19 +(350*y(2))/19 - (600*y(3))/19 - 225/19;

dy(3)=(810*y(1))/19 -(600*y(2))/19 + (350*y(3))/19 - 225/19;

在命令窗口输入下面的主函数

[t,y]=ode45('my_function',[01],[0,1,1])


画图函数

figure(1)

plot(t,y(:,1),'r-.','linewidth',2);  

hold on

plot(t,y(:,2),'b','linewidth',2);

hold on

plot(t,y(:,3),'y--','linewidth',2);

legend('i1','i2','i3')

xlabel('t','fontname','Times New Roman','fontsize',10);

ylabel('y','fontname','Times New Roman','fontsize',10);

画图如下

追问

为什么要对微分方程组进行处理呢?
我写的方程组不能直接写进matlab吗?

温馨提示:答案为网友推荐,仅供参考
相似回答