Simple Counter Problem using (i+1)

1 view (last 30 days)
bugatti79
bugatti79 on 19 Jul 2014
Answered: Jan on 19 Jul 2014
Hi Folks,
I have an excel 1 column 906 rows which i call into this script. I want to get the difference between the i+1 row and the ith row, ie B6-B5, B7-B6 all the way down the column. The problem is when i run into the last row i get the following error
"??? Attempted to access t(907); index out of bounds because numel(t)=906."
I suspect this is a classical problem with counters but i dont know a workaround. Thanks
Here is my script. The problem is the 2nd line "dt"
for i=1:906;
dt(i+1)=t(i+1)-t(i);
dT(i)=dt(i+1)*(P_loss(i)-h*As*(T_Oil(i)-T_amb(i)))/(ma*Cp);
T_final(i)=(T_Oil(i)+dT(i));
end

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 19 Jul 2014
change your for loop
for i=1:906-1;

More Answers (1)

Jan
Jan on 19 Jul 2014
Or more Matlabish without a loop:
dt = diff(t);
dT = dt .* (P_loss(1:905) - h*As*(T_Oil(1:905) - T_amb(1:905))) ./ (ma*Cp);
T_final = T_Oil(1:905) + dT;

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!