[已答复] 在用ode45计算微分方程组中,怎样添加初始条件和边界条件

[复制链接]
zsq19940920 发表于 2017-11-13 22:50:16
在计算压缩机气阀运动过程中,牵扯到气阀的开启角度初值问题和阀片升程的边界问题,方程和边界设定我已经上传了图片,我的m文件是这样的:
function dy=qfyd(theta,y)
m=0.158;            %阀片质量
w=2*pi*(980/60);    %曲轴转速
b=0.9;              %推力系数
Ps=1.5*10^7;        %进气压力
As=8*10^-3;         %阀座出口处通流截面
k=1.4;              %等熵指数
P=11560;            %弹簧刚度
R=8.314;            %气体常数
Ts=373;             %进气温度
N=1;                %一侧工作腔气阀个数
Ae=3.35*10^-3;      %气阀有效通流面积
H=1.3*10^-3;        %气阀升程
Vs=9.8*10^-3;       %气缸行程容积
Z=32;               %弹簧个数
a=0.3;              %相对余隙容积
c=88.9/406.4;       %曲拐半径与连杆长度之比
C1=1/(m*w^2);                                 %常数1
C2=b*Ps*As;                                   %常数2
C3=Z*P;                                       %常数3
C4=1/H*(sqrt(2*k*R*Ts/(k-1))*N*Ae);           %常数4
dy=[y(2);
       C1*(C2*(1-y(3))-C3*(10^-3+y(1)));
        -k/(w*y(4))*(w*y(3)*(Vs*(sin(theta)/2+c/4*sin(theta)^2))-C4*y(1)*y(3)^(1/k)*sqrt(1-y(3)^(k-1/k)));
        Vs*(sin(theta)/2+c/4*sin(theta)^2)];

这个是M文件。用ode45指令在窗口运行:
[theta,y]=ode45(@qfyd,[0:0.01,180],[这个我不知道怎么填]);
plot(theta,y)
并不是我想要的结果,因为条件没有设定,我刚学几天,基础比较差,所以这个问题可能比较低级,请问各位,能帮忙说下吗?

这个是微分方程

这个是微分方程

这个是条件

这个是条件

1 条回复


ckchendian 发表于 6 天前
你好,请问你的问题解决了吗,我也在做这个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表