Error Using Horzcat: Dimensions of matrices being concatenated are not consistent
1 view (last 30 days)
Show older comments
I am receiving the following error message:
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
Error in test (line 55)
goodPoints = [goodPoints1, goodPoints2];
where
%
goodPoints1 = find((utcTime >= utcStarts1(jj)) &( utcTime <utcEnds1(jj)));
goodPoints2 = find((utcTime >= utcStarts2(jj)) &( utcTime <utcEnds2(jj)));
goodpoints1 is a 9532x1 double and goodpoints2 is a 8270x1 double
From my understanding this error shows because the two do not have the same number of rows. What alternatives can I use to fix this error? (in the most layman's terms possible!) Thank you for any help!
2 Comments
Star Strider
on 20 Jan 2016
Your variables ‘goodPoints1’ and ‘goodPoints2’ are vectors of indices, so their order may be important.
What do you want to do with them?
Answers (1)
Star Strider
on 20 Jan 2016
Put them in a cell array instead (note the curly brackets ‘{}’):
goodPoints = {goodPoints1, goodPoints2};
Cell arrays are a bit more difficult to work with (you have to retrieve the elements of the array to calculate with it, for instance), but are quite useful in storing data such as you want to.
4 Comments
Star Strider
on 20 Jan 2016
Edited: Star Strider
on 20 Jan 2016
You need to reference either column of ‘goodPoints’ here. For example:
bigDATA(ii, bigDATAstart:(bigDATAstart - 1 +length(goodPoints{1}))) = a(goodPoints{1});
although I have no idea if that is what you want to do.
My pleasure.
See Also
Categories
Find more on Characters and Strings 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!