Averaging over specific columns in a for loop not working
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
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 Kommentare
Rik
am 19 Mär. 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
am 19 Mär. 2020
Rik
am 19 Mär. 2020
What does class(CompanyData) return?
Taylor Sumlin
am 19 Mär. 2020
Bearbeitet: Rik
am 20 Mär. 2020
Antworten (1)
You can use cell2mat to convert the cell to a double array. Then it will work with movmean.
Diese Frage ist geschlossen.
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!