Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

# It only shows the else value if value of b crosses 15 even once.

1 visualización (últimos 30 días)
Adhish Aggarwal el 19 de Abr. de 2017
b = AXIS(1:100,1) - KOTAK(1:100,1);
avg5 = zeros(5,1);
for k = 5:length(b)
avg5(k) = mean(b(k-4:k,1));
end
a = 0;
avg5 = [a;avg5];
avg5(numel(avg5),:) = [];
std5 = zeros(5,1);
for al = 5:length(b)
std5(al) = std(b(al-4:al,1));
end
% a = 0;
std5 = [a;std5];
std5(numel(std5),:) = [];
up5 = zeros(length(std5),1);
for d = 1 : length(std5)
if abs(b) < 14.5
up5(d) = std5*2 + avg5;
down5(d) = std5*(-2) + avg5;
else
up5(d) = std5*2 + avg5;
down5(d) = std5*(-2) + avg5;
end
end
It works well till up5 = zeros(length(std5,1));
##### 3 comentariosMostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Geoff Hayes el 19 de Abr. de 2017
Adhish Aggarwal el 19 de Abr. de 2017
I have mine given my full code p above. Please let me know. Thank you

### Respuestas (1)

Steven Lord el 19 de Abr. de 2017
That's the correct behavior. From the documentation for the if keyword: " if expression, statements, end evaluates an expression, and executes a group of statements when the expression is true. An expression is true when its result is nonempty and contains only nonzero elements (logical or real numeric). Otherwise, the expression is false. "
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Adhish Aggarwal el 19 de Abr. de 2017
I have mine given my full code p above. Please let me know. Thank you