MATLAB Answers

why the error occur when i use horzcat fuction

1 view (last 30 days)
Shehab Tarek
Shehab Tarek on 27 May 2020
Commented: Image Analyst on 27 May 2020
the error message
the output from y is matrix [2,3]
then i take only the first element
the output must be rr=[4,2,3]

Answers (1)

Geoff Hayes
Geoff Hayes on 27 May 2020
Shehab - are you sure that the y is a 1x2 array like [2,3]? Or is it a 2x1 array like [2,3]'? If the latter, then you are trying to horizontally concatenate a 1x1 scalar with a 2x1 array and so the error makes sesne. From find, this function returns a vector with the same orientation as the input array. And your input at
y = find(a(iu) == matrix(:, i))
suggests that it is a column array/vector since you are comparing against the ith column of matrix. Use the MATLAB debugger to step through the code to validate this.
  1 Comment
Image Analyst
Image Analyst on 27 May 2020
Before the horzcat line, put this
whos rr
whos y
What do you see in the command window? Do they both have the same number of rows?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!