普通会员

我姓梁丶我心阳

此用户很神秘,没有留下任何信息

6帖子
0回复
63积分
ID:001491
北太振寰
基于Baltamulink的一维线性插值介绍

1 线性插值

线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。

线性插值相比其他插值方式,如抛物线插值,具有简单、方便的特点。

线性插值的几何意义即为概述图中利用过A点和B点的直线来近似表示原函数。

线性插值可以用来近似代替原函数,也可以用来计算得到查表过程中表中没有的数值。

1.2 基础知识

已知函数图片1.png在区间图片2.png图片3.png个互异点图片4.png上的函数值图片5.png,若存在一简单函数图片6.png,使

 图片7.png

并要求误差

 图片8.png

的绝对值图片9.png在整个区间图片10.png上比较小。这样的问题称为插值问题。

其中:

图片11.png:插值节点

图片12.png:被插值函数

图片13.png:插值函数

图片14.png:插值区间

如果在插值区间内部用图片13.png代替图片12.png则称为内插;在插值区间以外,用图片13.png代替图片12.png则称为外插。

1.3 简介

线性插值是一种较为简单的插值方法,其插值函数为一次多项式。线性插值,在各插值节点上插值的误差为0。

设函数图片1.png在两点图片15.png图片16.png上的值分别为图片17.png图片18.png,求多项式

 图片19.png

使满足

 图片20.png

由解析几何可知

 图片21.png

图片22.png图片12.png图片24.png处的一阶均差,记以图片25.png。于是,得

 图片26.png

如果按照图片27.png整理,则

 图片28.png

以上插值多项式为一次多项式,这种插值称为线性插值。

1.4 几何意义

线性插值的几何意义如图1所示,即为利用过点图片29.png图片30.png的直线图片31.png来近似原函数图片32.png

 图片33.png

1.5 应用

1)线性插值在一定允许误差下,可以近似代替原来函数;

2)在查询各种数值表时,可通过线性插值来得到表中没有的数值。

2一维线性插值仿真实例

首先,在Baltamulink中,添加输出正弦波模块、一维插值模块、信号合并模块、输出模块,建立一维插值仿真模型,每个模块参数都设置为默认值;模型如下图所示;

 图片34.png

设置仿真参数:

仿真时长:10s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

 图片35.png

绿色代表原正弦波数据;

橙色表示一维插值后的正弦波数据。


0 2023-04-28
基于Baltamulink的弹簧-质量-阻尼系统模型仿真

      已知质量块质量 m = 1kg,阻尼 b = 3 N.s/m,弹簧系数 k = 90 N/m,且物块的初始位移 x(0) = 0.04m,其初始速度为x’(0) = 0.01 m/s。创建该系统的北太真元模型,并运行仿真。弹簧-质量-阻尼系统如下图所示:


 图片1.png

 

建立理论数学模型。对于无外力的系统,根据牛顿定理可以得到:

mx’’ + bx’ + kx = 0

代入数值并整理得:

x’’ = -3x’ - 90x

在北太真元建立模型如下图所示:

 图片2.png

设置仿真参数:

仿真时长:10s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

 图片3.png

 

0 2023-05-18
基于Baltamulink的二自由度质量弹簧阻尼串联系统仿真

      已知二自由度质量-弹簧-阻尼串联系统模型如下图所示:

 图片1.png

      这个系统由两个质量块(小车)和三组弹簧阻尼器组成,假设地面是光滑的,这样系统中没有摩擦作用。 u1(t) 和 u2(t) 分别是两个质量块所受的外力, x1(t) 和 x2(t) 分别是两个质量块的位移。 m1,2、k1,2,3 和 b1,2,3 分别对应图中的质量、弹簧刚度和阻尼系数。是对于整个系统而言,输入两个外力,输出两个位移,因此这是一个多输入多输出系统。两个小车都只能沿横向左右运动,因此为二自由度系统。

根据牛顿第二定律,物体所受合力等于物体的惯性力,而惯性力是物体质量与加速度的乘积。可以理解为物体受力后产生加速度,而有加速度存在就会产生运动趋势,造成物体运动。

对两个质量块分别进行受力分析:

 图片2.png

首先需定义系统的状态变量,在这种情况下一般用物体的位移和速度作为状态变量。设状态向量 Z分别对应质量块1的位移和速度、质量块2的质量和速度:

 图片3.png

根据上面对模型的数学推导,当将各状态向量 z 对时间求导(微分),可以将系统整理为各状态量的一阶微分方程组:

 图片4.png

因为这是一个线性系统,因此系统的状态可以表示为矩阵形式:

 图片5.png

式中,A 为系统状态矩阵;B 为输入矩阵;u 为输入(控制)向量:

 图片6.png

      有了系统的状态空间方程,接下来考虑系统的输出,也就是我们希望得到的量。我们假设对两个质量块的位移感兴趣,即 z1 和 z3 ,那么就将它两个状态作为系统的输出,则输出方程的矩阵形式为:y = Cz;

式中,y 为输出向量;C 为输出矩阵:

 图片7.png

以上,使用状态空间模型对系统完成描述。

令,质量:m = 1kg;弹簧刚度: k = 1N/m;阻尼系数:b = 1N.s/m。

则,状态空间方程系数如下:

A = [0 1 0 0;-2 -2 1 1;0 0 0 1;1 1 -2 -2];

B = [0 0;1 0;0 0;0 1];

C = [1 0 0 0;0 0 1 0];

D = [0 0;0 0];

 

在北太真元建立模型如下图所示:

 图片8.png

设置仿真参数:

两个质量块所受的外力u1是常量模块 = 2 N; u2是阶跃型号=1N。

仿真时长:10s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

 图片9.png

 


0 2023-05-18
利用Baltamulink仿真求解二阶微分方程

求解二阶微分方程:x’’(t) + 0.4x’(t) + 0.9x(t) = 0.7u(t) 的解,其中u(t)是脉冲信号。

 

在北太真元建立模型如下图所示:

 图片1.png

设置仿真参数:

脉冲信号u(t)为方波信号模块,参数振幅 = 1;周期 = 2.5;脉冲宽度 = 50;相位 = 0;

仿真时长:10s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

图片2.png

0 2023-05-18
利用Baltamulink仿真力—质量系统

力——质量系统,要拉动一个箱子(拉力f=1N),箱子质量为M(1kg),箱子与地面的摩擦力为[(b=0.4N.m/s)],其大小与车子的速度成正比。如下图所示:

 图片1.png

其运动方程式为:

F - bx’ = Mx’’

拉力作用时间为2s。

在北太真元建立模型如下图所示:

 图片2.png

设置仿真参数:

设置stepInputOne模块的阶跃时间为0,表示摩擦力作用时间;

设置stepInputTwo模块的阶跃时间为2,表示拉力作用时间;

设置gainTwo模块的增益值为0.4表示摩擦力;

仿真时长:10s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

 图片3.png

因为有摩擦力存在,箱子最终会停止前进。


0 2023-06-07
利用Baltamulink仿真零极点增益模型

零极点增益模型实际上是传递函数的另一种表现形式,其原理是分别对源系统传递函数的分子、分母进行因式分解处理,以获得系统零点和几点的表示形式。

图片4.png 

式中,k为系统增益;zi(i = 1,2,3,...,m)为分子多项式的根,称为系统的零点;pj(j = 1,2,...,n)是分母多项式的根,称为系统的极点。

传递函数的分母多项式就是它的特征多项式,它等于零的方程就是传递函数的特征方程,特征方程的根也就是传递函数的极点。传递函数的极点决定了所描述系统的自由运动状态;零点影响系统各模态在系统响应中的比重。

零点增益模型的命令格式如下:

ZPG = zpk(z, p, k)

其中ZPG是建立的零极点增益模型;z、p、k分别是系统的零点向量、极点向量和增益。

例:利用Baltamulink建立系统

G(s) = 18(s + 2) / (s + 0.4)(s + 15)(s + 25)

的零点增益模型,进行系统仿真。

将上面零点增益模型进行转换得到模型的传递函数如下:

G(s) = 18(s + 2)/(s^3 + 40.4s^2 + 391s + 150)

根据该传递函数模型,在北太真元建立模型如下图所示:

 图片5.png

设置仿真参数:

仿真时长:20s;步长0.01s;求解器:ode4

得到的仿真结果,如下图所示:

图片6.png

0 2023-06-07