how to write for and while loop for my excel data.?? can any one help me..

9 views (last 30 days)
i have daily data of 36 years in 4 columns manner like: 1/1/1950 1/2/1950 1/3/1950..........29/12/200 30/12/2000 31/12/2000 (days in order, months in order, years in order) in that case, i need 4 months data in each year. for example: june, july, august, september months in each year
how can pick that particular data and place it side help me please..

Answers (1)

ag
ag on 13 Nov 2024 at 16:41
Hi J,
To extract data for specific months (June, July, August, and September) from your dataset, you can utilise the "ismember" MATLAB function.
The below code snippet demonstrates how to do that:
% Assuming 'data' is a matrix where each row corresponds
% to a day and the columns are [day, month, year, value]
% Define the months of interest (June, July, August, September)
monthsOfInterest = [6, 7, 8, 9];
% Extract rows where the month is one of the months of interest
selectedData = data(ismember(data(:, 2), monthsOfInterest));
For more details, please refer to the following MathWorks documentation: ismember - https://www.mathworks.com/help/matlab/ref/double.ismember.html
Hope this helps!
  1 Comment
Voss
Voss on 13 Nov 2024 at 17:49
data = randi(9,5,4)
data = 5×4
4 7 1 9 9 3 2 7 2 6 5 1 5 5 2 6 6 8 2 5
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
monthsOfInterest = [6, 7, 8, 9];
% Extract *elements of first column* of data where second column is in [6,7,8,9]
selectedData = data(ismember(data(:,2),monthsOfInterest))
selectedData = 3×1
4 2 6
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% Extract *rows* of data where second column is in [6,7,8,9]
selectedData = data(ismember(data(:,2),monthsOfInterest),:)
selectedData = 3×4
4 7 1 9 2 6 5 1 6 8 2 5
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!