仅从常量块发送一个值

时间:2013-10-31 14:31:51

标签: constants block simulink

我认为这应该相当简单,我真的不知道出了什么问题,已经试了一个星期,天啊!为自己感到羞耻。

我在Workspace中定义了以下内容:I = [5 5.1 5.2 5.2]; V = [95 80 85 20];

我期望输出如下:t = 0,arr = 20,t = 1,arr = 30,t = 0,arr = 40,

当我运行模拟时,我得到的是:在t = 0,arr = 20,0,0,0,在t = 1,arr = 0,10,0,0,在t = 2,arr = 0,0,10,0,

这个结果几乎没有问题:1。我希望在特定时间只有一个arr值,但它一次出现四个arr值

我想知道为什么arr永远不会增加到30和40等 我的系统如下:http://imgur.com/nEKDqqS

代码在这里:http://imgur.com/Cipjbyn

2 个答案:

答案 0 :(得分:2)

您需要使用“从工作区”块。这将有助于您在每个时间步骤发送不同的值。您可以将块的数据指定为参数。块对话框显示此参数的格式。如果您有DSP系统工具箱,使用“信号来自工作区”块将使这更加简单。您只需提供一个数据向量,每个时间步都会获取一个值。这两个块的文档位于

http://www.mathworks.com/help/simulink/slref/fromworkspace.html http://www.mathworks.com/help/dsp/ref/signalfromworkspace.html

答案 1 :(得分:2)

如果您不想从工作区输入值,并希望留在Simulink中: 使用Signal Builder源块。当您双击它时,您可以以图形方式创建信号。

例如:Signal Builder Editor