Averaging over specific columns in a for loop not working
Info
This question is closed. Reopen it to edit or answer.
Show older comments
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 Comments
Rik
on 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
on 19 Mar 2020
Rik
on 19 Mar 2020
What does class(CompanyData) return?
Taylor Sumlin
on 19 Mar 2020
Edited: Rik
on 20 Mar 2020
Answers (1)
You can use cell2mat to convert the cell to a double array. Then it will work with movmean.
This question is closed.
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!