Simple for loop problem

1 visualización (últimos 30 días)
Zeeshan Ahmad Khan
Zeeshan Ahmad Khan el 19 de Feb. de 2019
Comentada: Stephen23 el 19 de Feb. de 2019
Hi hope an expert can provide an answer to this trivial problem:
I have a problem with this nester for loop which I am posting here:
eta = [1e-3:1e-2:9e-1];
HN =5;
for ii = 1:numel(eta)
for v = 1:HN
Delta(v) = eta(ii)*6;
end
end
This code gives the output of DeltaEta as a 1x5 vector. However, I want the result to be 90x5 vector where DeltaEta is computed 5 times for each value of eta.
With these lines of code, the output is incorrect.
I believe the problem is with the way I am initializing the loops.
Any leads would be appreciated.
  1 comentario
Stephen23
Stephen23 el 19 de Feb. de 2019
Simpler:
repmat(6*eta(:),1,HN)

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 19 de Feb. de 2019
Editada: KSSV el 19 de Feb. de 2019
eta = [1e-3:1e-2:9e-1]; m = length(eta) ;
HN =5;
DeltaEta = zeros(m,HN) ;
for ii = 1:m
for v = 1:HN
DeltaEta(ii,v) = eta(ii)*6;
end
end
Or Simply use:
DeltaEta = repmat(eta'*6,1,5) ;

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices 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!

Translated by