For loop with changing matrix

28 ビュー (過去 30 日間)
Bas 2015 年 8 月 14 日
コメント済み: blaat 2015 年 8 月 18 日
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...

回答 (1 件)

blaat 2015 年 8 月 14 日
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>;
Is this what you mean?
  2 件のコメント
blaat 2015 年 8 月 18 日
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...
Alternatively, you could use cellfun().


Community Treasure Hunt

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

Start Hunting!

Translated by