For loop with changing matrix

조회 수: 2 (최근 30일)
Bas
Bas 2015년 8월 14일
댓글: blaat 2015년 8월 18일
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...

답변 (1개)

blaat
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>;
end
Is this what you mean?
  댓글 수: 2
Bas
Bas 2015년 8월 14일
Thanks, this works. But now I want to check for every i= 1:length(A) of matrix B per j= 1:years if the value equals a value in matrix C. How can I compare this cell array with a normal matrix?
blaat
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...
end
Alternatively, you could use cellfun().

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by