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
解决方案
至少,在您的循环之前,您应该首先初始化Fn
并Fd
使其已知的最大大小。但是,在循环的两条内线中似乎存在大小不匹配,除非它a
等于 1。
推荐阅读
- visual-studio-code - 如何更改 VS 代码的字体大小和主题?
- python - 使用 Python 从运行在 BlueStacks 上的应用程序获取代码
- python - Python 中的 TDD - 我们应该测试辅助函数吗?
- arrays - 重复选择菜单提示的最佳方式
- google-api - 如何从 gmailpostmastertools 按日期获取域的流量统计信息?
- sql - 为什么在使用 MIN/MAX 函数时必须使用聚合器
- overlap - 池和任务的重叠之间的差异
- active-directory - 针对 Windows 域控制器的凭据窃取 NTLM 中继攻击
- angular - 编辑或添加后无法刷新 ag 网格的行 - Angular
- asp.net - cookie 将被 asp.net 忽略