Undefined function 'sum' for input arguments of type 'cell'.

Undefined function 'sum' for input arguments of type 'cell'.
Error in mean (line 116)
y = sum(x, dim, flag)/size(x,dim);
Error in ccaFuse (line 69)
meanX = mean(trainX);
Error in CCA_feature_fusion (line 19)
[trainZ,testZ] = ccaFuse(trainX, trainY, testX, testY, 'concat');
%% program
clc;
clear all;
load('db4.mat');
load('db6.mat');
load('db3.mat');
load('db5.mat');
trainX =reduced_traindata;
trainY = reduced_traindata;
testX = reduced_testdata;
testY = reduced_testdata;
[trainZ,testZ] = ccaFuse(trainX, trainY, testX, testY, 'concat');

3 Comments

Didn't show us the pertinent code where the error actually is, but the message is clear. Apparently your variable trainX is a cell; and mean can't take the mean of the cell but has to have the content of the cell. Dereference the cell with "the curlies" {}.
W/o downloading the files don't know what is actually in the cell, but if is just a double vector, use
meanX = mean(trainX{:});
or, instead convert the cells to double in the calling code first:
trainX=cell2mat(reduced_traindata);
trainY=cell2mat(reduced_traindata);
testX=cell2mat(reduced_testdata);
testY=cell2mat(reduced_testdata);
before calling ccaFuse
where is accept answer button?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!