how can I arrange the answer into an array?

my code is:
allData = xlsread('C:\in.xlsx');
%time vector and a column array of temperatures
timeVec = allData(:,1);
tempVecs = allData(:,2:end);
%Find the peak time of all temperatures
[maxTemps, maxIndices] = max(tempVecs);
timeVec(maxIndices);
%Find the times that temperature increases
for i =1:5;
for j=200:50:850;
firstIndex = find(tempVecs(:,i) > j, 1, 'first');
lastIndex = find(tempVecs(:,i) > j, 1, 'last');
a=timeVec(firstIndex);
b=timeVec(lastIndex);
residence=b-a;
end
end
Output is like
residence =
82.6500
residence =
73.6500
residence =
63.366
residence =
52.3000
residence =
40.5167
residence =
26.2000
.............
total 70 data.
each column has 14 data point. I want to arrange the residence time in a one file that has 5 column and each column contains 14 data. How can I do that? Any one can help me. A very good guy help me to do the above code. thank good guy.

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2012년 8월 31일
편집: Azzi Abdelmalek 2012년 8월 31일

0 개 추천

allData = xlsread('C:\in.xlsx');
%time vector and a column array of temperatures
timeVec = allData(:,1);
tempVecs = allData(:,2:end);
%Find the peak time of all temperatures
[maxTemps, maxIndices] = max(tempVecs);
(maxIndices);
% initialise a counter
count=0;
%Find the times that temperature increases
for i =1:5;
for j=200:50:850;
count=count+1;
firstIndex = find(tempVecs(:,i) > j, 1, 'first');
lastIndex = find(tempVecs(:,i) > j, 1, 'last');
a=timeVec(firstIndex);
b=timeVec(lastIndex);
%store a vector residecnce 1x70
residence(count)=b-a;
end
end
%reshape a vector residence
residence=reshape(residence,14,5)

댓글 수: 5

Tan Has
Tan Has 2012년 8월 31일
thanks. cool
Hi Azzi, I face a problem. When I have less data point such as for j i choose 200:50: 850. but if I don't have 750, 800, 850 in the column so the find actually give the results of 200 to 700 and for 750, 800 and 850 is zero or nan. how could i do that? Now I am getting an error
??? Improper assignment with rectangular empty matrix.
Error in ==> find_time_temp at 19 residence(count)=b-a;
when the column does not have data for above a temperature.
i did'nt understand your question, what is equal to nan?
Tan Has
Tan Has 2012년 9월 3일
I mean no value. in the code i represent column number and j represent value range. for an example fir i=1 the first column has max value 1100. so 850 value for j falls within the range but if the second column has max value 767 then 800 and 850 is out of max value. so in that case i need to consider j= 200: 50: 750. which is i am doing now manually by changing the j after observe the max value. Can I do that automatically?
u cane add nan value to tempVecs and some values to timeVec
n=length(tempVecs)
if n<850
tempVecs(end+1:850)=nan
timeVec(end+1:850)= timeVec(end)+1: timeVec(end)+850-n
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Calendar에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by