0

我需要一个 3 维矩阵,但第一个维度不一样。所以我说 NxT1(N x T1),NxT2 NxT3 和 NxT4。我想把它们放在一个矩阵中,这样我就可以遍历每个维度。这是我的代码:

y2(:,:,1) = zeros(N,T2(:,1));
y2(:,:,2) = zeros(N,T2(:,2));
y2(:,:,3) = zeros(N,T2(:,3));
y2(:,:,4) = zeros(N,T2(:,4));
y2(:,1,:) = c/(1-rho);

for z=1:size(T2,2)
    for i=2:T2(:,z)
        for j=1:N
            y2(j,i,z) = y2(j,i-1)+randn;
        end
    end
end

我基本上想要不同时间范围的随机游走。T2=[50,100,150,200] 所以我的 3 维矩阵将包含 4 种不同时间规格的 N 次模拟。

4

1 回答 1

3

我认为你想要的是一个数组,而不是一个矩阵。

c = 1.0;
rho = 0.5;
N = 100;
T2 = [50, 100, 150, 200];
for i = [1:length(T2)];
    y2{i} = zeros(N, T2(i));
    y2{i}(1,:) = c/(1-rho);
end;

for i = [1:length(T2)];
    for j = [2:N];
        for k = [1:T2(i)];
            y2{i}(j,k) = y2{i}(j-1,k) + randn()
        end;
    end;
end;
于 2014-03-26T13:18:06.943 回答