MATLAB: Loop not providing the right answer

for loop

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

Best Answer

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