VERTCAT error when trying to populate array

3 views (last 30 days)
Hi folks,
I am trying to write some fata into an array, which I will then write to excel. I get the VERTCAT error when trying to create the array (Error using vertcat Dimensions of arrays being concatenated are not consistent).
Can you help identify why this is please?
Each column of data should be 256 elements long.
My code is as follows:
headings = {'Pixel Value', 'R', 'G', 'B', 'Grey'};
pixelValue = (0:255)';
allCoke_R = imhist(allCokeMask(:,:,1));
allCoke_G = imhist(allCokeMask(:,:,2));
allCoke_B = imhist(allCokeMask(:,:,3));
allCokeGrey = imhist(rgb2gray(allCokeMask));
dataCollectionAllCoke = zeros(257, 5);
dataCollectionAllCoke = [headings; pixelValue, allCoke_R, allCoke_G, allCoke_B, allCokeGrey];
writecell(dataCollectionAllCoke, resultsPath, 'Sheet', nameStringExcel, "Range", 'A1');

Accepted Answer

Jonas on 3 Jul 2021
try putting {} around the second line of concatenation
dataCollectionAllCoke = [headings; {pixelValue, allCoke_R, allCoke_G, allCoke_B, allCokeGrey}];
or convert all variable entries to cells
dataCollectionAllCoke = [headings;num2cell([pixelValue, allCoke_R, allCoke_G, allCoke_B, allCokeGrey])];
both should work concerning the concatenation, but i am not sure about the needed format for the writematrix() command

Sign in to comment.

More Answers (0)


Find more on Data Types in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by