Averaging over specific columns in a for loop not working
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
CompanyTable = cell(nCompany,4);
for n = 1:nCompany
%determine and display the name of the company studied
thisCompany = uniqNames{n};
fprintf('\nStudying %s \n',thisCompany);
tf = strcmp(row1,thisCompany);
thoseCompany = cell2mat(CompanyData(tf,3));
tmp = movmean(CompanyData,nCompany,1);
Averagelate = tmp(:,nCompany:nCompany:end);
%latetime = [shipData{2:end,thisCompany}
Currently I am looking to average out companies data based off certain times. I saw a thread about using movmean and I have attempted that, but I am currently getting "Invalid data type. First input must be numeric or logical." CompanyData is an array of only nunmeric values.
4 commentaires
Rik
le 19 Mar 2020
Where did you define this variable? The line above it suggests it is not a numeric array, but a cell array instead.
Taylor Sumlin
le 19 Mar 2020
Rik
le 19 Mar 2020
What does class(CompanyData) return?
Taylor Sumlin
le 19 Mar 2020
Modifié(e) : Rik
le 20 Mar 2020
Réponses (1)
You can use cell2mat to convert the cell to a double array. Then it will work with movmean.
Cette question est clôturée.
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!