For loop with changing matrix

5 views (last 30 days)
Bas
Bas on 14 Aug 2015
Commented: blaat on 18 Aug 2015
Hi,
I have a for loop (j= 1:years) in which matrix A changes per j. Matrix A is a matrix containing birthdates in column 8. Each row represents a person. Per year the total number of persons decreases, so every j+1, the rows in matrix A reduces.
I want to generate a new matrix B, representing the age of each person w.r.t. t= today. So matrix B should be of length(A), though this changes over j.
The output I want to get is a matrix B ,including all ages per j, so j columns.
Can anyone help me with this? I tried several codes, but it's not working...

Answers (1)

blaat
blaat on 14 Aug 2015
You could use a cell array to store the ages per j. For example:
B = cell(1, years);
for j = 1:years
% A is computed here
B{j} = <operations on A(:, 8) to calculate age>;
end
Is this what you mean?
  2 Comments
blaat
blaat on 18 Aug 2015
I'm assuming here that C has a single value per year j. You could then compare the value in a loop over the years:
for j = 1:years
is_equal = B{j} == C;
% Do things with is_equal here...
end
Alternatively, you could use cellfun().

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by