MATLAB Answers

why the error occur when i use horzcat fuction

2 views (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]


Sign in to comment.

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.