confusion related to 'for' loop.
Afficher commentaires plus anciens
epsilon = 2
p = cell(1,8);
for i = 1:8
p{i} = epsilon
end
How to edit this code so that I can get p{1} = epsilon,p{2} = epsilon ^2 ,p{2} = epsilon ^3 .......
i.e i want p{1} = 2,p{2} = 4, p{3} =8.....
Thanks
Réponse acceptée
Plus de réponses (1)
Steven Lord
le 20 Mar 2019
Do you need the elements in a cell array, or is having them in a regular vector sufficient?
epsilon = 2;
thepowers = 1:8;
p = epsilon.^thepowers
If you're preparing for epsilon being a vector or matrix in the future, you can still use this technique, taking advantage of implicit expansion which is a generalization of scalar expansion. It just gets a little more complicated for matrices or N-dimensional arrays.
epsilon = [1; 2; 3; 4];
thepowers = 1:8;
p2 = epsilon.^thepowers
For a matrix M, you want thepowers to be a 3-dimensional array.
epsilon = magic(4);
thepowers = reshape(1:8, 1, 1, []) % or
thepowers = reshape(1:8, [1 1 8])
p3 = epsilon.^thepowers
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!