Borrar filtros
Borrar filtros

Why I don't get any results from this code?

1 visualización (últimos 30 días)
Konstantinos
Konstantinos el 18 de Mayo de 2016
Comentada: Walter Roberson el 20 de Mayo de 2016
I run the following code:
for ii = length(pks4) %repeat the following process as many times as the pks4 points are
for k2 = (pks4(ii):xfb(end)); % for all k2 that belong between pks4 and the end of index
first2(ii) = k2(k2>xfb2); %find all k2 such that k2 is greater than xfb2
if ~isempty(first2)
first2 = first2(1); % store the first number (first2) which is greater than xfb2
else
disp('No value of k2 is greater than xfb2.')
end
distS(ii) = size(pks4(ii):first2(ii)); % distance between each pks4 and first2 points
mean_distS = mean(numPointsS(ii)); % mean distS
Send = locs_SwaveB*mean_distS; %location of S point
end
end
but in the end I get neither an error message nor any results. What's wrong with this code? And why Matlab doesn't give any error messages?
Thanks in advance for any help.

Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Mayo de 2016
The first length(pks4) entries in pks4 might all be greater than xfb(end) so the inner loop might never execute.
Caution: you have
first2(ii) = k2(k2>xfb2); %find all k2 such that k2 is greater than xfb2
Your comment implies there might be multiple k2 entries that fit the criteria, so the right hand side might be a vector, but you are trying to assign it into location that only fits a scalar.
  4 comentarios
Konstantinos
Konstantinos el 19 de Mayo de 2016
What's the point of the breakpoint? I tried it and didn't see anything useful after the displays.
Walter Roberson
Walter Roberson el 20 de Mayo de 2016
If you show us the output then we might be able to figure out why the loop is not working.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by