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\)
\[\begin{array}{c} F=\left\{\begin{array}{rl} -0.4\dot{x}^{2} & \dot{x}>0 \\ 0.4 \dot{x}^{2} & \dot{x}<0 \\ 0 & \dot{x}=0 \end{array}\right. \\ m=\left\{\begin{array}{rl} 1400-18 t & 0<t \leq 60 \\ 320 & t>60 \end{array}\right. \\ T=\left\{\begin{array}{rr} 32000 & 0<t \leq 60 \\ 0 & t>60 \end{array}\right. \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,不好用,差評