Error on line 28 of a 9 line code?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have 365 text files of data, one for each day of the year. I have this code to create 12 new text files, monthly averages.
clear all
S = dir('*.txt');
N = {S.name};
for k = 1:numel(S)
A = load(N{k});
final = mean (N);
[~,name] = fileparts(N{k});
dlmwrite(sprintf('%s.txt',name),final)
end
I get the Error
Undefined function 'sum' for input arguments of type 'cell'.
Error in mean (line 28)
y = sum(x)/size(x,dim);
Error in Refining_to_Monthly (line 6)
final = mean (N);
I don't understand the error in general, but especially don't understand how there can be an error on line 28 of the code, when it is not even 28 lines long. Any help greatly appreciated.
Thank you in advance
0 Commenti
Risposta accettata
John D'Errico
il 7 Set 2015
Modificato: John D'Errico
il 7 Set 2015
READ THE COMPLETE ERROR. Actually, start at the bottom, (the end of the error message.)
Undefined function 'sum' for input arguments of type 'cell'.
Error in mean (line 28)
y = sum(x)/size(x,dim);
Error in Refining_to_Monthly (line 6)
final = mean (N);
The error message says it found a problem in the Refining_to_Monthly function, on line 6.
There you call the function mean. In fact, a problem has not yet occurred, at least not one that causes MATLAB to get upset. It was not until line 28 of the mean function that it got upset, where the problem became one where MATLAB was confused. At that point MATLAB reports the stack, that will allow you to trace back what is happening.
So in fact, the error is NOT in line 28 of mean, but in how you called mean (in line 6 of your code.) Mean does not accept cell array arguments.
0 Commenti
Più risposte (1)
Gurudatha Pai
il 7 Set 2015
The error is on line 28 of the function mean.
mean()
The function mean cannot work on cell arrays. You would want to call
mean(cell2mat(N))
or something like that.
1 Commento
Vedere anche
Categorie
Scopri di più su Spreadsheets in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!