云过清天 发表于 2012-9-3 09:16

matlab中如何在三维矩阵中查找某一元素?并返回 行、列、页?

RT,如下面的矩阵A
A=1 2 4
    4 2 7

    3 5 2
    3 6 9

   3 4 6
   3 7 2

如果压在其中找出全部的“3”并返回所有的 3  行列页,该肿么办呢?
我也试过使用for循环,可以在储存的时候不知道怎么处理了

zjqylcy 发表于 2012-9-3 10:57

for i,j,k  if(element==3) return row,line,page

shaoxiagang 发表于 2012-9-3 17:28

不错啊,谢谢了

云过清天 发表于 2012-9-3 21:01

zjqylcy 发表于 2012-9-3 10:57 static/image/common/back.gif
for i,j,k  if(element==3) return row,line,page

可否详细一些?

zjqylcy 发表于 2012-9-4 10:49

其实我不知道你卡在哪一步了   

如果是我 要是没有find的函数 就直接写一个函数

for i=1:length(row)
   for j=1:length(line)
      for k=1:length(page)
          if(element==3)
             outrow(m)=i;
             outline(m)=j;
             outpage(m)=k;
差不多就是这个意思吧  
然后将out都做为函数的输出就好了

代码不严谨 请见谅

云过清天 发表于 2012-9-4 19:01

zjqylcy 发表于 2012-9-4 10:49 static/image/common/back.gif
其实我不知道你卡在哪一步了   

如果是我 要是没有find的函数 就直接写一个函数


就是卡在最后那个输出时的赋值上面
最后那个m怎么取值?

假设已知3的个数为 5
那么是不是 outrow(1:5)=i


可是如果不知道3的个数又该怎么办呢?

zjqylcy 发表于 2012-9-6 17:06

m赋初值为0

之后自加   每一个循环m++

子轩青木 发表于 2016-8-1 17:59

很不错》》》》》》

余燕 发表于 2016-8-1 21:28

{:3_41:}{:3_41:}{:3_41:}

余燕 发表于 2016-8-1 21:28

{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}
页: [1]
查看完整版本: matlab中如何在三维矩阵中查找某一元素?并返回 行、列、页?