confusion related to 'for' loop.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
parag gupta
el 20 de Mzo. de 2019
Respondida: Steven Lord
el 20 de Mzo. de 2019
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
0 comentarios
Respuesta aceptada
madhan ravi
el 20 de Mzo. de 2019
p = num2cell(2.^(1:8))
1 comentario
madhan ravi
el 20 de Mzo. de 2019
In your loop you just had to add
p{i} = epsilon^i
but you can straight away use the method in the answer.
Más respuestas (1)
Steven Lord
el 20 de Mzo. de 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
0 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!