MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   【求助】怎样将一个一维数组中的元素在指定行列的二维数组中找出它们的坐标? (https://www.labfans.com/bbs/showthread.php?t=1462)

wq1983 2008-02-27 17:15

【求助】怎样将一个一维数组中的元素在指定行列的二维数组中找出它们的坐标?
 
我在将一个二维数组中的有用数据提取出来后,将他们放到一个一维数组中了,现在需要找到这些有用数据在原二维矩阵中的坐标,请知道的朋友帮我一下吧!多谢了!

labfansyao 2008-02-27 17:20

find
 
试一下 find

wq1983 2008-02-27 17:32

find不行,我试过了,我有一个公式,
Position(i,1) = int32(m-1-mod(U(i),240)); %找出行号
Position(i,2) = int32(floor(U(i)/240)); %找出列号
但是这个好像不准确,画出来的图合实际的图形差别很大!
请问您还有其他办法么,帮帮我吧!

labfansyao 2008-02-27 18:03

看一下你的原始数据
 
能不能把你的原始数据和对问题的完整描述都发上来,谢谢

chenhuips2 2008-03-06 17:47

这个问题很好解决~
把你在第一步提取坐标点的时候记录数据的一维数组做成多维数组~
比如1×n变成3*n~
后面的2,3两行可以分别记录数据的x,y坐标~

如果记录的数据本身是多维的~
同样可以用这种追加维数的方法记录坐标等等与数据本身相关的信息~
当然也可以另外开一个数组或者矩阵记录~
但是无论采用哪一种方法在实际操作的时候一定要注意矩阵变量的结构~
追加维数的方法要注意调用数据的时候多维变量的引用方式~
另开记录用的矩阵变量则需要更原数据同步更新(例如原数据位置变动或者增添的时候,记录矩阵也需要做相同的处理)~


所有时间均为北京时间。现在的时间是 11:04

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.