MATLAB Answers

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

9 views (last 30 days)
Balaji M. Sontakke
Balaji M. Sontakke on 29 Feb 2020
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

dpb
dpb on 29 Feb 2020
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

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!