【发布时间】:2021-01-18 22:51:14
【问题描述】:
我试图创建一个名为moving_average.m 的函数,它有一个数组作为参数
任意长度,并从三个连续值计算移动平均值。结果应该返回一个数组。这是我当前的代码:
function [output] = moving_average(inputarray)
sz = size(inputarray);
output = zeros(sz);
for i=1:sz
output(i,:) = (inputarray(i) + inputarray(i+1) + inputarray(i+2))/3;
end
end
现在,它只设置输出数组的第一个元素,其他元素为零。有人知道如何解决这个问题吗?
【问题讨论】:
-
在函数中设置断点,然后运行函数。它会在断点处停止,让您检查变量的内容,并逐行执行函数。在您定义
sz并检查其值之后,请执行此操作。这是你所期望的吗?1:sz的结果是什么?
标签: matlab filtering signal-processing