note 2021-02-21 下面的文章来自我的公众号 yhm同学
note 2021-04-01 今天审稿,发现存在着一些我没有发现的错误,但是我不想修改了。
原文链接 https://mp.weixin.qq.com/s/J5nmK4Z9ImC3fRKqutXH5g
写个很简单的东西,可以说是备忘录
引子
这里打算用Simulink仿真一个常微分方程和初始条件描述的系统
(x, dot{x}, ddot{x}) 是研究的变量
[ddot{x}=frac{F}{m}+frac{T}{m}-9.8
]
变参数 (F, m, T)
[egin{array}{c}
F=left{egin{array}{rl}
-0.4dot{x}^{2} & dot{x}>0 \
0.4 dot{x}^{2} & dot{x}<0 \
0 & dot{x}=0
end{array}
ight. \
m=left{egin{array}{rl}
1400-18 t & 0<t leq 60 \
320 & t>60
end{array}
ight. \
T=left{egin{array}{rr}
32000 & 0<t leq 60 \
0 & t>60
end{array}
ight.
end{array}
]
其中(t) 是仿真时间
初始条件
[x(0)=0, dot{x}(0)=0
]
matlab仿真
feixiang.m
k=0.4;g=9.8;m0=1400;T=32000;
x0=[0,0];
ts=0:1:100;
[t,x]=ode45('huojian',ts,x0);
[t,x(:,1)]
a=[t,x];
x40=a(61,2)
v40=a(61,3)
a40=-(k/320)*v40^2+T/320-g
xmax=max(x(:,1))
subplot(2,1,1),plot(t,x(:,1)),title('altitude')
subplot(2,1,2),plot(t,x(:,2)),title('speed')
huojian.m
function y=huojian(t,x)
k=0.4;g=9.8;m0=1400;T=32000;m=m0-18*t;
if t>60
T=0;
m=320;
end
y=[x(2),-(k/m)*x(2)^2+T/m-g]';
Simulink仿真
嗯找了篇博客照着样子搭就行了
可能有用?当时用ctrl shift L 来快速打开Library Browser
.slx源文件传到坚果云了.你需要一个坚果云账号来access.
仿真结果
参考
如何在博客园中插入视频、音频、网页
html视频自动播放(iframe)及不自动播放(video)
HTML 标签的 height 和 width 属性
simulink建模之求解微分方程
Streamja - Simple video sharing,不好用,差评