【发布时间】:2019-11-21 13:06:32
【问题描述】:
所以我目前正在处理不同的数据集。有些是每月一次,有些是每天一次,但我想要每季度一次。这就是我编写以下函数的原因:
function y = average2(data, frequency)
% Monthly/Daily data to quarterly data by taking average
% INPUT data Nx2 monthly/daily data
% OUTPUT y Mx2 quarterly data
% USAGE average2(data)
if frequency == 'monthly';
K = 1:3:(length(data)-3);
quarterly = (data(K, 2)+data(K+1, 2)+data(K+2, 2))/3;
timevector = data(K, 1);
y = [timevector quarterly];
elseif frequency == 'daily';
y = data*data; %just as an example, not correct calculation
else frequency ~= 'daily' || 'monthly';
error('Requested frequency not available');
end
(每日的计算不是问题)。所以我的问题如下:如果我使用每月选项,一切正常。但每次我在函数中使用不同于“每月”的频率时,都会收到错误消息:
Matrix dimensions must agree.
Error in average2 (line 8)
if frequency == 'monthly';
因此,激活 elseif 子句并处理我收到的频率输入不起作用。有谁知道我哪里有错误?提前致谢
【问题讨论】: