Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Error in locating a reference cell for calculations

1 visualización (últimos 30 días)
Adrienne
Adrienne el 14 de Mayo de 2014
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
So far I have got this code:
%%=================================================
%%to find average power first use "find" function to find the first zero in
%%Fz, have the cell referenced
%%then use nanmean for average power(av_pwr)
%%use nanmin for peak power (peak_pwr)
%%=================================================
ref= find(data{i,1}(:,5)==0);
ref=ref(1);%returns all times zero occurs then extracts first time data is 0
peak_pwr(i,1) = nanmin (data {i,1}(1:ref,5));
%preak power in coloumn E1 in all data with reference to cell found
av_pwr(i,1)=nanmean(data{i,1}(1:ref,5));
%average power in coloumn E1 in all data with reference to cell found
I have tried to locate the first zero in column E1 and then use this as a reference cell to get the peak and average power. However it is coming up with this error:
Attempted to access ref(1); index out of bounds because numel(ref)=0.
Error in code (line 53) ref=ref(1);%returns all times zero occurs then extracts first time data is 0
anyone know how to get around this?

Respuestas (1)

David Sanchez
David Sanchez el 14 de Mayo de 2014
If you read the line:
Attempted to access ref(1); index out of bounds because numel(ref)=0.
you can see that
data{i,1}(:,5)==0
is never fulfilled and therefore, ref remains an empty array with no values in it.
When you tried to access its first value:
ref=ref(1)
the system complains (yields an error) because there is nor such an element. Since I do not have data, it is nor easy to tell whether any of its elements equals 0 in any moment.
  5 comentarios
David Sanchez
David Sanchez el 14 de Mayo de 2014
how are you reading the CSV file?
Adrienne
Adrienne el 14 de Mayo de 2014
(i) is for the loop so that it stores the information rather than write over it each time as I have to know all the data for each 81 jumps. i had trouble reading them in so I had to do it like this:
i=1:njump;
x=sprintf('Trial%02d.csv',i),sprintf('Trial%02d',i),'A1:E7000';;% jump data
data{i}=xlsread(x,'A1:E7000');
% code
end

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by