1

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

我在 Workspace 定义了以下内容:

I = [5 5.1 5.2 5.2];
V = [95 80 85 20];

我期望这样的输出:

%// at t=0
arr=20

%// at t=1    
arr=30

%// at t=2
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

  2. 我想知道为什么arr从来没有加起来 30 和 40 等

我的系统如下:

在此处输入图像描述

代码在这里:

在此处输入图像描述

我设法一次只得到一个值,但为什么 arr 从不加起来 30 和 40 等?它不断检测到 arr(count-1,1) 始终为零

4

1 回答 1

2

在final之前end,插入

scalar_value = arr(count,1);

并将您的功能声明为

[arr, scalar_value] = fcn(signal,V,count)

这将在 4x1 向量中获得感兴趣的值(scalar_value)arr,而不会破坏arr逻辑。

于 2013-11-04T09:48:42.653 回答