how can I arrange the answer into an array?

5 次查看(过去 30 天)
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
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-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?
Azzi Abdelmalek
Azzi Abdelmalek 2012-9-3
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 个)

类别

Help CenterFile Exchange 中查找有关 WLAN Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by