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.
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
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 comentario
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



