在Matlab中,我正在寻找一种以更优雅的方式解决以下问题的方法:在一个三维数组中,在一个维度上(即在我的情况下是时间),从所有值的某个索引等于零,例如,以下示例数组a为0表示第二维的索引为3(即 a(:,3:end,: == 0)
):
a(:,:,1) =
1 1 0
1 0 0
1 0 0
a(:,:,2) =
1 1 0
1 0 0
1 1 0
a(:,:,3) =
1 1 0
1 1 0
1 1 0
[编辑,被要求预期结果]
预期结果是:
o(:,:,1) =
1 1
1 0
1 0
o(:,:,2) =
1 1
1 0
1 1
o(:,:,3) =
1 1
1 1
1 1
现在我当然可以检查维度2中的每个索引,到处都是零,这就是我现在正在做的事情,但我觉得有一些更好的方法可以在matlab中解决这个问题,更优雅一些方式(甚至可能是任何多维数组) . 谢谢你的帮助!
1 回答
Sample Runs:
也适用于高维矩阵 .