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

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2014년 7월 19일

0 개 추천

change your for loop
for i=1:906-1;

추가 답변 (1개)

Jan
Jan 2014년 7월 19일

0 개 추천

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;

카테고리

도움말 센터File Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

태그

질문:

2014년 7월 19일

답변:

Jan
2014년 7월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by