如何在 Scilab 的循环内创建动态矩阵?

How to make a dynamic matrix inside a loop in Scilab?

我在 Scilab 的 for 循环中有一个动态 3d 矩阵,其中的值在每次迭代时都添加到矩阵中,如下面的代码片段所示。我的问题是,每次我打开 Scilab 和 运行 我的代码时,for 循环之后的行都会生成一个错误,显示 'Submatrix incorrectly defined'.

我尝试删除'(ii,:,:)',没有错误,但输出不是我想要的。我再次添加它,代码工作得很好。当我关闭 Scilab、打开它并再次 运行 时,错误又出现了。有人能告诉我怎么了吗?还是有另一种方法可以在 for 循环中创建动态矩阵?

    for ii = 1:N
        Fn(ii,:,:) = repmat((1./VAL(ii)),[a b c]).*POP(ii,:,:);
        Fd(ii,:,:) = repmat((1./VAL(ii)),[a b c]);
    end

至少,在循环之前,您应该先将 FnFd 初始化为已知的最大大小。但是,在循环的两条内线中似乎存在大小不匹配,除非 a 等于 1.