文档

分阶段。系统对象

模拟平台运动

描述

分阶段。平台系统对象™为空间中一个或多个平台的平移运动建模。平台可以是目标,如车辆或飞机,或声纳或雷达发射器和接收器。该模型假设平台在每个仿真步骤中都以恒定的速度或恒定的加速度进行平移运动。位置和速度总是在全局坐标系中定义的。

模拟一个移动平台:

  1. 方法定义和设置平台建设过程。

  2. 反复拨打一步方法将平台沿所确定的路径移动分阶段。平台属性。

    的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)执行等效操作。

建设

sPlat =阶段性的。平台创建一个平台系统对象,长条木板.该物体模拟一个静止平台,其位置在原点,速度设为零。

sPlat =阶段性的。平台(的名字价值创建一个对象,长条木板,每个指定的属性Name设置为指定的Value。可以以任意顺序指定附加的名称-值对参数,如(Name1Value1、……).

sPlat =阶段性的。平台(pos韦尔的名字价值创建一个平台对象,长条木板,InitialPosition设置为pos而且速度设置为韦尔.其他指定的属性名称被设置为指定的值。的pos而且韦尔参数仅限值。纯值参数不需要指定Name,而是根据它们的参数位置进行解释。若要指定任何仅值参数,请指定所有前面的仅值参数。

运动模型要么是恒定速度,要么是恒定加速度。可以从两个运动模型中选择一个MotionModel财产。

MotionModel财产 使用
速度

如果你设置VelocitySource财产“属性”时,平台以恒定速度运动速度财产。您可以指定InitialPosition属性或保留其默认值。您可以更改可调项速度属性在任何模拟步骤。

当你设置VelocitySource财产输入端口的的参数时,可以输入瞬时速度作为参数一步方法。方法指定初始位置InitialPosition属性或将其保留为默认值。

加速度

当你设置AccelerationSource财产“属性”时,平台以恒定加速度运动加速度财产。您可以指定InitialPosition而且InitialVelocity属性或保留它们的默认值。您可以更改可调项加速度属性在任何模拟步骤。

当你设置AccelerationSource财产输入端口的,可以将瞬时加速度作为参数输入到一步方法。指定InitialPosition而且InitialVelocity属性或将其保留为默认值。

属性

MotionModel

物体运动模型

对象运动模型,指定为其中之一“速度”“加速”.当您将此属性设置为“速度”,在每个模拟步骤中,对象遵循恒定的速度轨迹。当您将此属性设置为“加速”,在每个模拟步骤中,对象遵循恒定的加速度轨迹。

默认值:“速度”

InitialPosition

平台初始位置

平台的初始位置,表示为3 × 1的实值列向量,形式为[x, y, z]或者一个实数3 ×N矩阵N是平台的数量。每一列都采用这种形式[x, y, z].位置单位是米。

默认值:(0, 0, 0)

InitialVelocity

平台初速度

平台初速度,表示为实值3 × 1列向量,形式为(vx; v; vz)或者一个实数3 ×N矩阵N是平台的数量。每一列都取表格(vx; v; vz).速度单位是米每秒。

属性时才应用此属性MotionModel财产“速度”VelocitySource输入端口的,或设置MotionModel财产“加速”

默认值:(0, 0, 0)

VelocitySource

速度数据来源

速度数据的来源,指定为“属性”输入端口的.当您将此属性的值设置为“属性”,使用速度属性来设置速度。当您将此属性设置为输入端口的的输入参数一步方法来设置速度。

属性时应用此属性MotionModel财产“速度”

默认值:“属性”

速度

平台当前速度

将平台的当前速度指定为3乘1的实值列向量,形式为(vx; v; vz)或者是3byN多平台实值矩阵。每一列都取表格(vx; v; vz).速度单位是米/秒。维度N是平台的数量。

属性时应用此属性MotionModel财产“速度”VelocitySource“属性”.此属性是可调的。

默认值:(0, 0, 0)

AccelerationSource

加速度数据来源

加速度数据的来源,指定为之一“属性”输入端口的.当您将此属性的值设置为“属性”方法指定加速度加速度财产。当您将此属性设置为输入端口的的输入参数一步方法设置加速度。

属性时应用此属性MotionModel财产“加速”

默认值:“属性”

加速度

平台加速度

将平台的当前加速度指定为表单中的实值3乘1列向量(ax, ay, az)或者一个实数3 ×N矩阵的每一列都采用这种形式(ax, ay, az).维度N是平台的数量。加速度单位是米/秒/秒。

属性时应用此属性MotionModel财产“加速”而且AccelerationSource“属性”.此属性是可调的。

默认值:(0, 0, 0)

InitialOrientationAxes

平台初始方向轴

平台的初始方向轴,指定为单个平台的3 × 3实值标准正交矩阵或3 × 3 ×N多平台实值矩阵。维度N是平台的数量。当方向矩阵为3 × 3时,三列表示本地坐标系的轴(某某).当方向矩阵是3 × 3 ×N,对于每个页面索引,得到的3 × 3矩阵表示局部坐标系的轴。

默认值:[1 0 0;0 1 0;0 0 1]

OrientationAxesOutputPort

输出方向轴

要获得平台的瞬时方向轴,请将此属性设置为真正的并在调用时使用相应的输出参数一步.如果不希望获得平台的方向轴,请将此属性设置为

默认值:

方法

重置 将平台复位到初始位置
一步 输出平台当前位置、速度、方位轴
通用于所有系统对象
释放

允许系统对象属性值更改

例子

全部展开

在原点处建立一个速度为(100,100,0)米/秒的平台。模拟平台两个时间步的运动,假设每一步所花费的时间为1秒。平台的位置在每一步之后都会更新。

sPlat = phase . platform ([0;0;0]、[100;100;0]);T = 1;

在第一次调用step时,位置是其初始值。

[pos,v] = step(sPlat,T);pos
pos =3×10 0 0

在第二次呼叫step时,位置发生了变化。

[pos,v] = step(sPlat,T);pos
pos =3×1100 100 0

一架飞机以每小时150公里的速度在半径为10公里的圆周上飞行,同时以20米/秒的速度下降。计算飞机的运动从它的瞬时加速度作为参数一步方法。将平台的初始方向设置为标识,与全局坐标系一致。

设置场景

指定飞机的初始位置和速度。飞机的地面距离为10公里,高度为20公里。

范围= 10000;Alt = 20000;initPos = [cosd(60)*range;sind(60)*range;alt];originPos = [1000,1000,0]';originVel = [0,0,0]';Vs = 150.0;phi = atan2d(initPos(2)-originPos(2),initPos(1)-originPos(1));Phi1 = + 90;Vx = vs*cosd(phi1);Vy = vs*sind(phi1); initVel = [vx,vy,-20]'; platform = phased.Platform(“MotionModel”“加速”...“AccelerationSource”输入端口的“InitialPosition”initPos,...“InitialVelocity”initVel,“OrientationAxesOutputPort”,真的,...“InitialOrientationAxes”、眼睛(3));relPos = initPos - originPos;relVel = initVel - originVel;rel2Pos = [relPos(1),relPos(2),0]';rel2Vel = [relVel(1),relVel(2),0]';r =√(rel2Pos'*rel2Pos);Accelmag = vs^2/r;unitvec = rel2Pos/r;Accel = - accmag *unitvec;T = 0.5; N = 1000;

计算轨迹

中沿圆周运动的物体的加速度x - y飞机。向着原点的加速度是v^2/r。

posmat = 0 (3,N);r1 = 0 (N);v = 0 (N);n = 1: n [pos,vel,oax] = platform(T,accel);Posmat (:,n) = pos;Vel2 = vel(1)²+ vel(2)²;V (n) =√(vel2);relPos = pos - originPos;rel2Pos = [relPos(1),relPos(2),0]';r =√(rel2Pos'*rel2Pos);R1 (n) = r;Accelmag = vel2/r;Accelmag = vs^2/r; unitvec = rel2Pos/r; accel = -accelmag*unitvec;结束

显示本地坐标系的最终方向。

disp (oax)
-0.3658 -0.9307 -0.0001 0.9307 -0.3658 -0.0010 0.0009 -0.0005 1.0000

画出轨迹和原点位置

Posmat = Posmat /1000;图(1)plot3 (posmat (1:), posmat (2:), posmat (3:)“b”。)举行plot3 (originPos (1) / 1000, originPos (2) / 1000, originPos (3) / 1000,“罗”)包含(“X(公里)) ylabel (“Y”(公里)) zlabel (“Z(公里)”网格保持

更多关于

全部展开

扩展功能

在R2012a中介绍

这个话题有帮助吗?