Hi, I have a variable RRI, which is a 1x48 cell, each cell being matrices of different sizes.
m = 0;
for num = 1:length(RRI{1,1})-1
if (RRI{1,1}(num+1)-RRI{1,1}(num) > 50*10^(-3)*360)
m = m+1;
end
end
The code above works perfectly fine for one of the cells and when I do the computations individually for each cell. How can I (in a for loop for instance) do this for all 48 cells (RRI{1,i}, i = 1:48) and store the results in the variable m, which should also be a 1x48 cell?
Thanks!

 채택된 답변

Samatha Aleti
Samatha Aleti 2019년 10월 17일

0 개 추천

You can add another “for” loop and use a cell array to store the result. Folllowings a sample code:
m = repmat({zeros(1,1)},1,48) ; % Initialize
for i=1:length(RRI)
n = 0;
for num = 1:length(RRI{1,i})-1
if (RRI{1,i}(num+1)-RRI{1,i}(num) > 50*10^(-3)*360)
n = n+1;
end
end
m{i} = n;
end

댓글 수: 1

Uerm
Uerm 2019년 10월 17일
Thank you very much. It works perfectly!

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

추가 답변 (1개)

Uerm
Uerm 2019년 10월 17일

0 개 추천

Thank you. Your solution works!
How can I do the same for the following (see attached image): RRIseg is a 1x48 cell containing matrices of ROWx127. For all the cells, I want to compute exactly the same thing as above but along the rows of each matrix. For instance, if cell 1 is a 34x127 matrix, the result should be a 34x1 vector. How can I do that? Is it by using cellfun?

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

질문:

2019년 10월 14일

답변:

2019년 10월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by