Averaging over specific columns in a for loop not working
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
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 comentarios
Rik
el 19 de Mzo. de 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
el 19 de Mzo. de 2020
Rik
el 19 de Mzo. de 2020
What does class(CompanyData) return?
Taylor Sumlin
el 19 de Mzo. de 2020
Editada: Rik
el 20 de Mzo. de 2020
Respuestas (1)
You can use cell2mat to convert the cell to a double array. Then it will work with movmean.
La pregunta está cerrada.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!