duplicated result in for loop

2 visualizaciones (últimos 30 días)
Tino
Tino el 4 de Jun. de 2019
Editada: Jan el 4 de Jun. de 2019
powerr = [ ...
0.6164 3.4161 0.9950 3.4117
3.1654 0.4123 4.2391 1.0198
0.5745 3.0364 1.3191 3.1129
2.9883 0.7348 3.8730 0.4123
0.9381 3.3749 2.0421 3.5014
2.1817 1.0630 3.0643 0.9487];
k = 3;
m = k;
croppedz = powerr(1:end-mod(end, 2*m), :);
result = zeros(size(croppedz, 1) / 2 / m, size(croppedz, 2));
for lol = 1 : size(croppedz, 2)
hh = powerr(1:3);
gg = powerr(4:6);
n = m*fix(numel(hh)/m);
result (:, lol) = sum(reshape(sort(hh(1:n), col),m,[]),1) ./ ...
sum(reshape(sort(gg(1:n), col),m,[]),1);
end
disp(result)
I am getting the result
0.7132 0.7132 0.7132 0.7132
instead
0.7132 1.3271 0.7298 1.5515
thanks in advance
Tino
  2 comentarios
KALYAN ACHARJYA
KALYAN ACHARJYA el 4 de Jun. de 2019
powerr mat code?
Tino
Tino el 4 de Jun. de 2019
Sorry that was a mistake it is powerr

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 4 de Jun. de 2019
Editada: Jan el 4 de Jun. de 2019
The body of the loop does not depend on the loop counter lol. Therefore you must get the same value for each iteration.
A bold guess of what you want instead:
for lol = 1 : size(croppedz, 2)
hh = powerr(1:3, lol);
gg = powerr(4:6, lol);
...

Más respuestas (0)

Categorías

Más información sobre Parallel Computing Fundamentals en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by