Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB/Simulink-以编程方式提供多个外部输入_Matlab_Simulink - Fatal编程技术网

MATLAB/Simulink-以编程方式提供多个外部输入

MATLAB/Simulink-以编程方式提供多个外部输入,matlab,simulink,Matlab,Simulink,我有以下Simulink模型: 我想从外部提供输入u[k]和y[k],即,我将通过MATLAB命令行运行仿真。我希望可以设置[LoadExternalInput和ExternalInput][3]选项,它们默认为向量[tu] 但是我的u[k]和y[k]是向量,看起来ExternalInput只能指定一个向量。因此,[tu]的每一行是时间t时整个向量u的值 在我的模型中,u[k]和y[k]的大小不一定提前知道。有没有一种方法可以传递这些向量(可能是结构体)?从我发现我可以这样做 sim('myM

我有以下Simulink模型:

我想从外部提供输入
u[k]
y[k]
,即,我将通过MATLAB命令行运行仿真。我希望可以设置[LoadExternalInput和ExternalInput][3]选项,它们默认为向量
[tu]

但是我的
u[k]
y[k]
是向量,看起来
ExternalInput
只能指定一个向量。因此,
[tu]
的每一行是时间
t
时整个向量
u
的值

在我的模型中,
u[k]
y[k]
的大小不一定提前知道。有没有一种方法可以传递这些向量(可能是结构体)?

从我发现我可以这样做

sim('myModel', 'LoadExternalInput', 'on', 'ExternalInput', 'u, y');
其中
u
y
是具有字段
时间
信号.值
,和
信号.尺寸
的结构;每行
信号。值
是对应于
时间
的n个元素的向量<代码>信号。维度是
信号的维度。值
。我必须手动设置In1端口,以期望与
u.signals.values
相同的尺寸(当然,我可以在手动之前通过编程完成):

注意必须将输入端口或触发器块的端口维度参数设置为与相应输入结构的
维度
字段相同的值。如果值不同,则尝试模拟模型时会显示错误消息

(来自)

如果我必须手动设置In1块上的尺寸,那么设置
signals.dimensions
有什么意义?无论如何,这可能就是我要做的:只需在运行模拟之前检查
u
y
,然后设置Inblock属性(当然是以编程方式)以期望该长度的向量

我仍然希望有一个更优雅的解决方案