How to start analysing data from the highest value from excel?

5 次查看(过去 30 天)
Hello,
I have an excel file with all my data from different files, and I would just like to make it so that the data points I use for calculations start from the highest value of the data points.
experimentData = xlsread('Healthy_original.xlsx'); %Change for each experiment
t=experimentData(1:500,1);
for i=1:10 %start of loop
a=experimentData(1:500,1+i);
%%loop continues
Is there a way to get it so that the highest value of the data is taken to be the first point, everything before the highest point is irrelevant.
Thanks for any help

采纳的回答

Jos
Jos 2014-12-6
Hi Alexander,
I'm not entirely sure this is what you're looking for but I assume you want the vector 'a' within your for loop to start from the highest value in that particular column. To do this you can find the indices of the highest values in each column before the for loop
[~, indices] = max(experimentData(1:500,:));
then within the for loop you can use your data from the highest value by
a = experimentData(indices(i):500,1+i);
Cheers
Joe
  2 个评论
Alexander
Alexander 2014-12-7
编辑:Alexander 2014-12-7
Thanks very much for your answer, did a bit of tweaking and managed to get the results I was looking for. But I was wondering if you could just explain what kind of function [~, indices] is.
I understand that its creating a vector, but what does the ~ sign mean?
Thanks!
Jos
Jos 2014-12-7
the function max() creates two vectors if you use it on a matrix, a vector containing the maximum values and a vector containing the associated indices of these values. You can get both vectors by using
[max_values, indices] = max(experimentData(1:500,:));
In the case above I was only interested in the indices of the maximum values, therefore I used ~ instead of max_values which basically means the first output vector will not be generated

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by