vertcat error while using splitapply

AA = csvread('temp.csv');
YA = unique(AA(:,1));
GA = findgroups(AA(:,1));
SA = splitapply(@max,AA(:,4:13),GA);
AM = [YA SA];
I am trying to get annual maximum value for the given data but i am getting this error while running the code. The code is working perfectly fine for my other station data. Help me
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Error in splitapply>localapply (line 253)
finalOut{curVar} = vertcat(funOut{:,curVar});
Error in splitapply (line 132)
varargout = localapply(fun,splitData,gdim,nargout);

 Accepted Answer

Jan
Jan on 16 Mar 2021
Edited: Jan on 16 Mar 2021
@max calculates the maximum over the 1st non-singleton dimension. If the input is a matrix, this is the first dimension, but if a row vector is applied, it is the 2nd dimension. So you have to specify the dimension explicitly:
SA = splitapply(@(x) max(x, [], 1), AA(:, 4:13), GA);

More Answers (0)

Categories

Products

Release

R2020a

Tags

Asked:

on 16 Mar 2021

Commented:

on 16 Mar 2021

Community Treasure Hunt

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

Start Hunting!