>I 从形状的矩阵开始:N · 2 ·M,我称之为x。然后,我有另一个矩阵,称为形状为 M 的 theta。下面的代码在八度音阶中给了我以下错误:不一致的参数(op1 是 2x2x2,op2 是 2x2x2(。
x(n+1,:,:) = x(n+1,:,:) + [cos(theta(:)) sin(theta(:))]
它有什么问题?
附言。以下是完整的代码:
M=30;
N=32;
for n=1:1:N
z = [1.0 0.0]
x(1,1,1:M) = z(1);
x(1,2,1:M) = z(2);
x(n+1,:,:) = x(n,:,:) + randn([1,2,M])
theta(:) = randn([M,1]);
x(n+1,:,:) = x(n+1,:,:) + [cos(theta(:)) sin(theta(:))]
end
size([cos(theta(:)) sin(theta(:))])
是30x2,而size(x(n+1,:,:))
是1x2x30
它们不匹配。
我不知道这在数学上是否是您需要的(即,如果将索引加在一起的索引是应该的索引(,但是您可以通过执行以下操作来解决此问题:
x(n+1,:,:) = x(n+1,:,:) + reshape([cos(theta(:)) sin(theta(:))].',1,2,M);