Question about graph data
1 回表示 (過去 30 日間)
古いコメントを表示
I have a graph with temperature on the y axis against time on the x axis.
I was able to find the maximum point of temperature by using this function:
tmaxinner = max(u(:,1));
time along the bottom axis is given by variable 't'.
I would like to get the time value for when the temperature is at its maximum.
I thought something like this would work but it didnt:
timetaken = (t,max(u(:,1));
please can you help
many thanks
0 件のコメント
回答 (2 件)
Leah
2013 年 4 月 12 日
you just need the location of the maximum value.
[tmaxinner locmax]= max(u(:,1));
timetaken = t(locmax,1);
this would give you the first occurrence to the maximum value
0 件のコメント
Image Analyst
2013 年 4 月 12 日
Try this:
% Extract times from the 2D (badly-named) u.
times = u(:, 1); % Times are in the first column (I think).
% Extract temperatures from u.
temperatures = u(:, 2); % Temperatures are in the second column (I think).
% Find the max value of the temperatures
% and return the index of that location
[maxTemp, indexOfMaxTemp] = max(temperatures);
% Now we know the array index where the max temperature occurs.
% Get the time that that temperature happened by
% extracting the value of the times array at that same index
timeAtMaxTemperature = times(indexOfMaxTemp);
I hope the code is so well commented that it's basically self-explanatory. If it's not, just ask.
2 件のコメント
Image Analyst
2013 年 4 月 13 日
It was not clear from your original question what u was and where I could get the times and temperatures, so that's what I did. Are you saying that you can't make the simple adaptations to my code to get the times and temperatures from whatever variables you have?
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!