How can i scan Column A in a matrix and if its true to have it average values in Column C

1 visualización (últimos 30 días)
Basically i have a excel file full of information in 3 different columns which are about 5000 rows long and i need to know if there is a way to have matlab scan the first column until it finds what i have prompted the user to enter. Once it finds the first instance in column A to be true i need it to immediately go to column C and average the current value as well as the next 20 values starting with the first.
Basically i want to tell matlab to search column A for 'United States' if its true switch to column C and average the current value and the next 20 is this possible? If so how would i go about doing it. Thanks.

Respuesta aceptada

Simon
Simon el 11 de Dic. de 2013
Hi!
So you already imported your data into matlab? What kind of matrix do you have? Is it a cell array with strings in the first column? What is in the third column?
If you have a cell array "C" with strings in the first column, you may find the user input "str" with
% logical vector of found strings
tf = strcmp(str, C(:, 1));
% do we have something?
if ~isempty(tf)
% positions (rows) in C
ind = find(tf);
% average for each found string
for n = 1:length(ind)
% this depends on the kind of matrix you have
mean([C{ind(n):ind(n)+20}])
end
end

Más respuestas (0)

Categorías

Más información sobre Data Import from MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by