I am trying to perform a simple operation FOR loop. I think I am not able to get the indexing right.
조회 수: 1 (최근 30일)
이전 댓글 표시
%%I am trying to something which seems pretty eady, but I cant get it right.
t1 = [2 7 11 14 16];
t2 = [3 6 9 12 15 17 19];
t3 = [5 8 10 13 14 15 17 19];
%% why does not the following operation work
for i =1:3
di = 2*ti
end
댓글 수: 0
채택된 답변
Torsten
2024년 5월 14일
편집: Torsten
2024년 5월 15일
%% why does not the following operation work
Because the numbers 1,2 and 3 in t1, t2 and t3 are not indices you can loop over, but part of the three independent variable names t1, t2 and t3.
You can define a cell array with name t with three elements - then its possible to perform numerical operations on the different cell array elements of t:
t{1} = [2 7 11 14 16];
t{2} = [3 6 9 12 15 17 19];
t{3} = [5 8 10 13 14 15 17 19];
for i =1:3
d{i} = 2*t{i};
end
d
or shorter
d = cellfun(@(x)2*x,t,'un',0)
But cell arrays are mostly a bad thing to handle - in order to say what is best in your situation we must know how many such t-arrays exist and what you want to do with them.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!