finding data in a matrix
7 次查看(过去 30 天)
显示 更早的评论
Hi all,
I am in a trouble :( i do have a matrix of 251*28 that I want to extract the data by giving x and y values (columns(28) and rows(251)). ex
ineedX = find(Xgrid >= 12 & Xgrid <=60); % the extracted data
ineedY = find(Zgrid>= -75 & Zgrid <=-60); % the extracted data
the find command is not working when I want to apply the function as it gives a vector which I want the matrix.
any help? Thanks a lot!
0 个评论
采纳的回答
Bruno Luong
2018-10-29
Depending on how your data is organized, (you did not tell if x is first index or second) after doing
ineedX = find(Xgrid >= 12 & Xgrid <=60); % the extracted INDEX
ineedY = find(Zgrid>= -75 & Zgrid <=-60); % the extracted INDEX
you should do
DataExtract = Data(ineedX,ineedY)
Where Data is your original matrix. Or the reverse in indexes if you have x in second dimension.
更多回答(1 个)
KSSV
2018-10-29
A = rand(251,28) ;
A(251,28) % this gives you 251 row and 28 column
Read about logical indexing. Don't use find.It will be slow.
Also read about ind2sub and sub2ind.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!