我做了一个模拟,每次模拟的结果都是一个矩阵,我从矩阵中选择某一行,所以如果模拟运行 = 500,我将有一个 500 矩阵,我每次选择的行将是(在模拟结束时)500行[第一个矩阵的一行...最后一个矩阵的最后一行]...问题是有时矩阵不包含我想要的特定行,答案是例如空矩阵:0×6 我想忽略这个答案注意:我选择的行不一定存在于所有矩阵中,所以如果 run=600 ,导致 600 矩阵,我选择的行可能 =400只有当结果为空矩阵时,其他 200 个将为零模拟停止:0 乘任何数字我使用 Matlab
问问题
4345 次
1 回答
1
您可以isempty
用来检测空数组,例如
a=zeros(0,5)
isempty(a)
a =
Empty matrix: 0-by-5
ans =
1
对于当索引超过矩阵维度时,您可以添加一个测试size
矩阵的条件,特别是如何使用size(m,1)
因此,在您的 for 循环中,您可以编写如下代码:
for n=1:blah
if ~isempty(M) % continue if matrix is non-empty
if size(M,1)<=n % continue if index doesn't exceeds matrix dimensions
....
....
于 2013-02-03T01:17:05.667 回答