如何在Scilab中的循环内制作动态矩阵?

时间:2019-03-31 07:35:15

标签: matrix scilab

我在Scilab的for循环中有一个动态3d矩阵,其中,每次迭代将值添加到矩阵中,如下面的代码片段所示。我的问题是,每次我打开Scilab并运行我的代码时,for循环之后的行都会生成一个错误,指出“子矩阵​​定义不正确”。

我尝试删除'(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

1 个答案:

答案 0 :(得分:1)

至少,在循环之前,应首先将FnFd初始化为已知的最大大小。但是,在循环的两行中似乎存在大小不匹配的情况,除非a等于1。