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

7 ビュー (過去 30 日間)
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.

採用された回答

Simon
Simon 2013 年 12 月 11 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by