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,不好用,差评

Simulink的MATLAB function使用的更多相关文章

  1. Calling Matlab function from python: “initializer must be a rectangular nested sequence”

    I am writing a python script from which I hope to call the Matlab anovan function. I have attempted ...

  2. Matlab function lorenzgui

    function lorenzgui %LORENZGUI Plot the orbit around the Lorenz chaotic attractor. % This function an ...

  3. matlab之simulink仿真入门

    Matlab Simulink仿真工具的应用 ****Simulink是一个用来对动态系统进行建模.仿真和分析的软件包.使用Simulink来建模.分析和仿真各种动态系统(包含连续系统.离散系统和混合 ...

  4. 以神经网络使用为例的Matlab和Android混合编程

    由于需要在一个Android项目中使用神经网络,而经过测试发现几个Github上开源项目的训练效果就是不如Matlab的工具箱好,所以就想在Android上使用Matlab神经网络代码(可是...) ...

  5. 【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent

    首先要下载安装光盘. Matlab801_MacUnix.iso [root@db-172-16-3-150 mnt]# md5sum /ssd1/Matlab801_MacUnix.iso  0d3 ...

  6. 调试和运行matlab代码(源程序)的技巧和教程

    转载请标明出处:专注matlab代码下载的网站http://www.downma.com/ 本文主要给大家分享使用matlab编写代码,完成课程设计.毕业设计或者研究项目时,matlab调试程序的技巧 ...

  7. Simulink 产品说明

    Simulink 产品说明 仿真和基于模型的设计 Simulink® 是一个模块图环境,用于多域仿真以及基于模型的设计.它支持系统级设计.仿真.自动代码生成以及嵌入式系统的连续测试和验证.Simuli ...

  8. 图像对比度调整的simulink仿真总结

    图像对比度调整可以由一个模块contrast adjustment 完成,参数有输入范围和输出范围,计算过程由以下公式决定 解释一下,当input<=low_in的时候输出的值是low_out+ ...

  9. Simulink仿真入门到精通(十八) TLC语言

    TLC(Target Language Compiler)是一种为转换为目标语言而存在的额解释性语言,其目的就是将模型中编译出来的rtw文件转换为目标代码(C/C++等).与M语言类似,既可以写成脚本 ...

  10. Simulink仿真入门到精通(十四) Simulink自定义环境

    14.1 Simulink环境自定义功能 sl_sustomization.m函数是Simulink提供给用户使用MATLAB语言自定义Simulink标准人机界面的函数机制.若sl_sustomiz ...

随机推荐

  1. POJ 1830 开关问题 异或高斯消元

    题目链接 将题目转化为矩乘问题 构建一个 \(n \times n\) 的开关信息矩阵,其中第 \(i\) 列第 \(j\) 行的元素为 \(0 / 1\) 代表在改变开关 \(i\) 的情况下开关 ...

  2. oracle 数据恢复 回滚数据

    1.查询你执行update 语句之前的数据 精确到什么时间 select * from 表名 as of timestamp to_timestamp('2017-07-21 17:16:38', ' ...

  3. 使用端口排查解决启动Tomcat端口被占问题

    有时候在eclipse中启动Tomcat或启动纯净版的Tomcat会出现端口被占的问题,下面菜鸟小编带大家进行端口排查解决问题.(下面假设是我的80端口被占了,如果你不知道你的Tomcat端口是多少就 ...

  4. 数论之GCD+LCM+扩展欧几里得

    最大公约数GCD 整数a和b的最大公约数记为gcd(a,b) <1 经典的欧几里得算法,辗转相除法 int gcd(int a, int b){ return b == 0 ? a : gcd( ...

  5. java 递归查子菜单

    递归查: @Override public List<PromotionOrgInfoPO> queryOrgInfo() { List<PromotionOrgInfoPO> ...

  6. vue项目中 vscode 保存时自动格式化设置,保持单引号和去除多余分号、逗号

    1.settings.json中添加: "prettier.semi": false, // 取消自动加分号 "prettier.singleQuote": t ...

  7. ZXing 生成二维码和条形码(添加NuGet包)

  8. 用python写xml文件

    def writeInfoToXml(filename, config_id, obj_name): from xml.dom.minidom import Document ''' eg: < ...

  9. RS485总线常用拓扑结构

    RS485总线拓扑结构一般可分为以下4种,分别是:总线型拓扑结构.星型拓扑结构.树形拓扑结构.环形拓扑结构.根据RS485总线布线规范,只能按照总线拓扑结构布线,但是由于现场环境复杂多变,为了能够使整 ...

  10. Redis5.0.4-集群(单机版)搭建

    最近尝试搭建了一下redis集群,这里记录一下,最后附上的是参考的博客地址. 安装C语言编译环境GCC yum install -y gcc-c++ 下载redis并编译安装 下载: wget htt ...