Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

why the error occur when i use horzcat fuction

1 vue (au cours des 30 derniers jours)
Shehab Tarek
Shehab Tarek le 27 Mai 2020
Clôturé : MATLAB Answer Bot le 20 Août 2021
the error message
the output from y is matrix [2,3]
then i take only the first element
rr=4;
the output must be rr=[4,2,3]

Réponses (1)

Geoff Hayes
Geoff Hayes le 27 Mai 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 commentaire
Image Analyst
Image Analyst le 27 Mai 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?

Community Treasure Hunt

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

Start Hunting!

Translated by