I am trying to perform a simple operation FOR loop. I think I am not able to get the indexing right.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Abhishek K Singh
il 14 Mag 2024
Commentato: Abhishek K Singh
il 15 Mag 2024
%%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 Commenti
Risposta accettata
Torsten
il 14 Mag 2024
Modificato: Torsten
il 15 Mag 2024
%% 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!