Matlab 将一个180x360数组乘以一个156项的时间序列,得到180x360x156数组?

Matlab 将一个180x360数组乘以一个156项的时间序列,得到180x360x156数组?,matlab,bsxfun,Matlab,Bsxfun,所以我的代码在上面 bsxfun的问题是,我收到以下错误消息: bsxfun(@times,RegressIndexFlux.(IndexNames{i}).(FluxNames{j}), Indices.(IndexNames{i})); 所以这里有一个问题:如果可能的话,有没有一种方法可以让我在不使用for循环的情况下通过timeseries转换180x360阵列?(我在这里使用了许多180x360阵列的结构)。基本上,regressionIndexflux是对时间序列的索引进行回归的,我

所以我的代码在上面

bsxfun的问题是,我收到以下错误消息:

bsxfun(@times,RegressIndexFlux.(IndexNames{i}).(FluxNames{j}), Indices.(IndexNames{i}));

所以这里有一个问题:如果可能的话,有没有一种方法可以让我在不使用for循环的情况下通过timeseries转换180x360阵列?(我在这里使用了许多180x360阵列的结构)。基本上,
regressionIndexflux
是对时间序列的
索引进行回归的,我正试图通过使用回归来重建时间序列。

你不能有不匹配的非单体维度。排列第二个参数。假设
A
m-by-n
矩阵,
B
是(
p-by-1
)列向量:

Error using bsxfun
Non-singleton dimensions of
the two input arrays must
match each other.
A = rand(6,5); B = rand(4,1);
% m-by-n @times 1-by-1-by-p => m-by-n-by-p
C = bsxfun(@times,A,permute(B,[3 2 1]));
size(C)
ans =
     6     5     4