数学建模社区-数学中国

标题: matlab中如何在三维矩阵中查找某一元素?并返回 行、列、页? [打印本页]

作者: 云过清天    时间: 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
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
其实我不知道你卡在哪一步了   

如果是我 要是没有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


作者: 余燕    时间: 2016-8-1 21:28






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5