Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在matlab中将三维阵列的元素设置为零_Arrays_Matlab - Fatal编程技术网

Arrays 在matlab中将三维阵列的元素设置为零

Arrays 在matlab中将三维阵列的元素设置为零,arrays,matlab,Arrays,Matlab,我有一个三维数组a(m,n,t),(8 x 60 x 8),用正数填充 我要做的是,如果第三个索引(t)小于第一个索引(m),则将该数组的每个元素设置为零。 因此,对于示例A(5,42,3),当m=5>t=3时,应将其设置为0。但是A(5,13,7)不应改变,因此m=5尝试以下方法: [xg,yg,zg]=ndgrid(1:size(arr,1),1:size(arr,2),1:size(arr,3)); arr(xg>zg)=0; 你确定那个循环做了你想让它做的事吗。。。?如果有,我肯

我有一个三维数组
a(m,n,t)
,(8 x 60 x 8),用正数填充

我要做的是,如果第三个索引(t)小于第一个索引(m),则将该数组的每个元素设置为零。 因此,对于示例A(5,42,3),当m=5>t=3时,应将其设置为0。但是A(5,13,7)不应改变,因此m=5尝试以下方法:

[xg,yg,zg]=ndgrid(1:size(arr,1),1:size(arr,2),1:size(arr,3));
arr(xg>zg)=0;

你确定那个循环做了你想让它做的事吗。。。?如果有,我肯定没有,但是如果有,那么你可以用
A(2:8,:,1:7)=0替换循环
我同意。看起来你根本没有比较
m
t
。你是说比较指数还是这些指数的值?我是说比较指数。除非我没有在头脑中搞砸什么,否则循环应该会工作,因为我知道一旦我修复了循环中的第一个索引,索引就会比第一个索引小。你的循环不是在比较索引。
[xg,yg,zg]=ndgrid(1:size(arr,1),1:size(arr,2),1:size(arr,3));
arr(xg>zg)=0;