Problem with the mean function

Hi,
I have a problem with the mean function. I want to have the mean of a matrix A (129x1)
but the function : c= mean (A) doesn't work.
How could I solve this Problem ?

2 个评论

Do you get an error message, or is the value of c not what you expect?
The error message is:
Undefined function 'sum' for input arguments of type 'cell'.
Error in mean (line 82) y = sum(x,dim,flag)/size(x,dim);
Error in Devoir1vo (line 16) c= mean (A)

请先登录,再进行评论。

 采纳的回答

In the Command Window, type:
which mean -all
I suspect it will result with the first line being:
mean is a variable.
If it does, you will have to rename whatever your ‘mean’ variable is. (This is the most common problem when built-in functions abruptly fail to work correctly.)
EDIT —
You didn’t mention that ‘A’ was a cell. You can convert it easily to a double array by using the ‘{:}’ notation:
A = {rand(10,1)};
c = mean(A{:});

7 个评论

I don't think the problem is with the mean function. Is that possible it's because of 'cell'type data ?
Yes. When I tried it with a cell, it gave the same error.
Another, albeit more indirect, way to take the mean of a cell variable:
c = cellfun(@mean, A);
Both this and my previous version work.
I would like directly found the mean of 129x1 cell ...
Why did you ever stick your data into a cell array in the first place? If you didn't then where did it come from? xlsread() or something?? Can you just use a regular numerical array?
@Mr LE —
The mean function will not work on cell arrays. (I thought we already established that.) You have to convert them to double arrays first. (The reason is that cell arrays can contain non-numeric data.)
The two methods I mentioned are two ways I know of to do it. Still another option is:
c = mean(cell2mat(A));
You can create your own function to take the mean of a cell. I call it ‘cellmean’ here:
cellmean = @(c) cellfun(@mean, c);
c = cellmean(A);
So long as your cell array contains only numeric data, it should work without problems.
Thanks a lot!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by