Loop not providing the right answer
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    liu James
 el 15 de Dic. de 2016
  
    
    
    
    
    Comentada: liu James
 el 15 de Dic. de 2016
            Help, the calculation provides 0 for all cells. why calling the formula on the command line it provides the right answer for the line item, but once put into a loop the answers is 0 for all cells in N.
for s=1:34
TR1{s}=abs((prices{1,3}{1,s}(2:end))-(prices{1,4}{1,s}(2:end)));
TR2{s}=abs((prices{1,3}{1,s}(2:end))-(prices{1,5}{1,s}(1:end-1)));
TR3{s}=abs((prices{1,5}{1,s}(1:end-1))-(prices{1,4}{1,s}(2:end)));
TR4{s}=[TR1{1,s} TR2{1,s} TR3{1,s}];
TR{s}=max(TR4{1,s},[],2);
end
% N (Average True Range)
for i=1:length(TR)
    for t=length(TR{i})
      if t<21
          N{i}(t,1)=mean(TR{i}(1:t,1));
      else
          N{i}(t,1)=((19*(TR{i}(t-1,1)))+TR{i}(t,1))/20;
      end
    end
end
See attached for prices.mat
Respuesta aceptada
  KSSV
      
      
 el 15 de Dic. de 2016
        
      Editada: KSSV
      
      
 el 15 de Dic. de 2016
  
      All fine...only a minor change:
      clc; clear all ;
    load prices.mat ;
    for s=1:34
    TR1{s}=abs((prices{1,3}{1,s}(2:end))-(prices{1,4}{1,s}(2:end)));
    TR2{s}=abs((prices{1,3}{1,s}(2:end))-(prices{1,5}{1,s}(1:end-1)));
    TR3{s}=abs((prices{1,5}{1,s}(1:end-1))-(prices{1,4}{1,s}(2:end)));
    TR4{s}=[TR1{1,s} TR2{1,s} TR3{1,s}];
    TR{s}=max(TR4{1,s},[],2);
    end
    % N (Average True Range)
    % N = cell(length(TR),1) ;
    for i=1:length(TR)
        for t=1:length(TR{i})
          if t<21
              N{i}(t,1)=mean(TR{i}(1:t,1));
          else
              N{i}(t,1)=((19*(TR{i}(t-1,1)))+TR{i}(t,1))/20;
          end
        end
    end
4 comentarios
  KSSV
      
      
 el 15 de Dic. de 2016
				Check your t loop, it should be t=1:length(TR{i})...I have edited the answer....is that you are expecting?
Más respuestas (0)
Ver también
Categorías
				Más información sobre Loops and Conditional Statements 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!

