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!

 Akzeptierte Antwort

Bruno Luong
Bruno Luong am 29 Okt. 2018

0 Stimmen

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.

Weitere Antworten (1)

KSSV
KSSV am 29 Okt. 2018

0 Stimmen

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.

1 Kommentar

Lilya
Lilya am 29 Okt. 2018
Thank you so much KSSV.. ur answers are always very helpful

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Gefragt:

am 29 Okt. 2018

Kommentiert:

am 29 Okt. 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by