matlab
文章平均质量分 66
梧桐雪
I am MetaWu from a magicverse where Models are all wrong, some of which are useful.
展开
-
使用matlab编写协方差矩阵计算矩阵
Dr.Can在他的教学视频(【卡尔曼滤波器】2_数学基础_数据融合_协方差矩阵_状态空间方程_观测器问题)中使用了足球运动员的数据介绍了协方差矩阵的概念和计算方法,原始数据如下图,那么协方差矩阵到底是什么?他有什么用?我们怎么计算协方差矩阵?如何编写程序让计算机帮助我们计算协方差矩阵呢?协方差矩阵其实是用来描述一个数据集中不同字段(属性)数据之间的关联程度的。百度词条的解释是:协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同原创 2022-05-08 11:43:06 · 8223 阅读 · 4 评论 -
使用matlab的appdesigner绘制Steward并联机构
文章目录Step 1: 启动appdesignerStep 2: 创建需要的控件Step 3: 回调函数的编写Step 4: 运行app我们可以使用matlab中的appdesigner工具来制作可视化的工具显示并联机器人的运动。具体的步骤如下所示:Step 1: 启动appdesigner我们直接在matlab的命令行中输入命令appdesigner即可启动appdesigner,启动之后选择空白项目就可以根据自己的需求来新建app。Step 2: 创建需要的控件在appdesigner的左侧原创 2021-09-03 20:27:11 · 3711 阅读 · 7 评论 -
使用matlab的mesh函数绘制3维图形绘制
我们在分析空间的时候,经常会遇到3D绘图的需求,在matlab中有可以直接调用的函数可以直接使用。下面的代码就展示了一个简单的示例。我们看到,代码先使用meshgrid函数生成了网格数组[mu,nu],函数的参数分别是这两个参量的取值范围和取点的数量,假设mu有N个取值,nu有M个取值,这个相当于是生成了N×M点,mu和nu分别为这N×M个点按照顺序排列下来的横纵坐标。然后我们可以使用mu、nu作为参数,使用matlab中的点乘方法计算z的值,这样N×M组mu和nu的值计算除了N×M个z值,这样就得到了原创 2021-08-31 09:41:47 · 6551 阅读 · 0 评论 -
用matlab对2003年香港SARS数据建模预估新冠病毒在H市的疫情走势
疫情隔离阶段果然是可以心无旁骛安心学习的时光。我在《用matlab对曲线拟合做最小二乘法单目标优化》https://blog.csdn.net/weixin_41855010/article/details/104225901 中查阅了2003年的SARS数据,根据当年香港的病例数据建立并且优化一波指数模型,爬了Z市卫计委的公开数据,用非典参数估计了2月H是的新增和累积,结论是按照现在趋势,2月底...原创 2020-02-08 22:12:32 · 4392 阅读 · 6 评论 -
用matlab对曲线拟合做最小二乘法单目标优化
在《用matlab的plot函数在一张图上画出两个对比图像》中(https://blog.csdn.net/weixin_41855010/article/details/104218876),我使用了负指数函数来拟合SARS期间香港疫情数据。那么问题来了,我们如何选择拟合函数的参数,使得它能够最近的逼近真实数据呢?这里就要用到优化算法,或者说是调参使得损失函数最小以完成最优化的任务。一种常见的...原创 2020-02-08 17:47:35 · 1852 阅读 · 0 评论 -
用matlab的plot函数在一张图上画出两个对比图像
我们在科研中经常会遇到需要做数据对比的情况,可以使用excel进行处理,但是excel作图比较麻烦,做的图也比较丑。所以考虑用matlab作图,第一比较学术,第二也比较好控制。此处我们使用的案例是非典时期香港4月11日开始的新增患者数据,我们发现这个数据比较符合指数下降的趋势,因此采用指数模型对其进行解析式表达,这样我们就得到了两个数组,我们使用plot指令,采用hold的方式,就可以把两个图形...原创 2020-02-08 09:03:10 · 28020 阅读 · 2 评论 -
用matlab编写SIR模型对SARS期间疫情数据进行模拟
SIR模型是传染病研究当中的一个重要模型,SIR由Susceptible(易感人但未感染节点)、Infective(感染节点)和Removal(移出节点)三种基本的节点模型组成,除了S/I/R参数之外,还引入两个重要的参数,感染强度β,和恢复强度γ,分别表示传染病的传染性和患者的治愈能力。经典SIR模型的数学表达式如下:本质上这是一个常微分方程,我们可以使用matlab中的ode方法对这个方程...原创 2020-02-07 00:16:41 · 30019 阅读 · 53 评论 -
matlab中使用ode45来解热水冷却问题一阶微分方程
在之前的博文中,我介绍了用dsolve的方法解热水冷却问题https://blog.csdn.net/weixin_41855010/article/details/104188103本文将使用另外一种更加通用的方法,即数值方法来解决该问题。首先我们根据物理学模型可以列出数学方程:然后我们就可以把它用matlab语言描述出来写成cooldown方程如下:function dT = co...原创 2020-02-06 16:17:05 · 2663 阅读 · 3 评论 -
matlab中使用ode方法解范德波尔微分方程的数值解
微分方程的解析解要求比较严苛,只有在特定的条件下才能写出解析解表达式,而在现实的科研问题当中,绝大多数情况我们会采用数值解(numeric solution)的方法来求解微分方程。这个时候就要用到ode方法了,ode是常微分方程英文名ordinary differential equation的缩写。我们将通过范德波尔方程为例演示求解的过程。大致可以分为2步:列方程和解方程。一、列方程。范德波...原创 2020-02-06 14:48:43 · 8425 阅读 · 7 评论 -
在matlab中使用dsolve函数解范德波尔二阶微分方程
荷兰物理学家范德波尔为了描述三极管的震荡效应创建了范德波尔方程,其数学表达式如下:我们假设μ=0,并给给出初始变量的值,可以简化方程如下:我们把以上数学公式转换成matlab语言并且做出图像如下:syms y(t)Dy = diff(y,t)D2y= diff(y,t,2)equ = D2y + y == 0con = [y(0) == 2, Dy(0)==0]yS = ds...原创 2020-02-05 22:41:22 · 4595 阅读 · 1 评论 -
使用subs函数和eval函数画出dsolve微分方程解析解的图像
我们可以使用dsolve函数解具有解析解的微分方程,比如 https://blog.csdn.net/weixin_41855010/article/details/104188103 这篇博客中给出的热传导问题微分方程,我们再把这个方程matlab解的代码复习一遍:syms y(t)eqn = diff(y,t) == -0.05*(y-20);con = y(0) == 100;yS ...原创 2020-02-05 22:21:09 · 4035 阅读 · 2 评论 -
matlab中使用dsolve函数求一常微分方程解析解
dsolve函数是matlab中自带的可以用来解决部分常微分方程的函数(方法),下面以物理学中的热传导问题为例展示如何使用这个函数。热力学模型假设物体和恒温的环境接触,温度随时间的变化率和温差成正比,我们假设环境温度为m=20,物体的初始温度为100(刚好假设这个物体是烧开的沸水),比例系数k为-0.05,由此我们可以得到以下常微分方程:y’ = k(y-m)y0=100k=-0.05我...原创 2020-02-05 20:49:07 · 9930 阅读 · 1 评论