Save sub-matrix column and row in another matrix

I have a 2D array with 4 column and many rows.
Month Day Year Value
xx xx xxxx xxx.xxxx
I want to enter the year from keyboard then save in an other matrix all the rows (month, day,year,value info) that contain the year from the input I entered. I've tried this
for idx = 1:numel(array)
element = array(idx);
if(element == month)
..... "Don't know how to do..."
end
end
thank you in advance

 Réponse acceptée

KL
KL le 22 Oct 2017
Modifié(e) : KL le 23 Oct 2017
your_result = your_array(your_array(:,3)==your_choice_year,:);
but an efficient way to store such data is to use a table.
To create a table,
T = array2table(your_array, 'v',{'month','day','year','val'})
to extract year,
res = T(T.year==your_choice,:)
same goes for month or day

1 commentaire

I'm working with tables now. Is it possible to extract month and year at the same time?
Something like
res = T(T.year==1995,:) & T(T.month==1,:)

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 22 Oct 2017
Modifié(e) : Andrei Bobrov le 22 Oct 2017
Let a - your array [Month Day Year Value]
out = a(a(:,3) == input_year,:);

1 commentaire

giasco
giasco le 23 Oct 2017
It works great. And if I want to extract month and year ?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by