1

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

我在 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,

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

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

我想知道为什么 arr 从不加起来 30 和 40 等我的系统如下:http: //imgur.com/nEKDqqS

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

4

2 回答 2

2

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

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

于 2013-10-31T18:38:21.363 回答
2

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

例如:信号生成器编辑器

于 2013-11-01T07:53:58.147 回答