Error on line 28 of a 9 line code?

3 ビュー (過去 30 日間)
Robert
Robert 2015 年 9 月 7 日
編集済み: John D'Errico 2015 年 9 月 7 日
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

採用された回答

John D'Errico
John D'Errico 2015 年 9 月 7 日
編集済み: John D'Errico 2015 年 9 月 7 日
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.

その他の回答 (1 件)

Gurudatha Pai
Gurudatha Pai 2015 年 9 月 7 日
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 件のコメント
Walter Roberson
Walter Roberson 2015 年 9 月 7 日
Probably
final = mean(A);

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by