我认为这应该相当简单,我真的不知道出了什么问题,已经试了一个星期,天啊!为自己感到羞耻。
我在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
答案 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源块。当您双击它时,您可以以图形方式创建信号。
例如: