i have a function that should work but doesn't

i'm comparing two arrays and choosing the repeated numbers
and then rearranging the new output in descending order
Y1 = [0.0581 0.0424 0.0315 0.0239 0.0184 0.0143 0.0113 0.0090 0.0073 0.0059]
Z1 = [0.0090 0.0073 0.0059]
X = intersect(Z1, Y1)
Ratio = reshape(sort(X(:), 'descend'), [columns, rows])';
this is the result i get, i don't understand why
Undefined function or variable 'columns'.
Ratio = reshape(sort(X(:), 'descend'), [columns, rows])';

 Réponse acceptée

Adam Danz
Adam Danz le 13 Juin 2019
Modifié(e) : Adam Danz le 13 Juin 2019
Matlab doesn't know what "columns" means (nor "rows"). My guess is that 'columns' and 'rows' are the number of columns and rows of your reshaped data. Do you know what those values are supposed to be?
In your example data, X is a [1x3] vector. One example would be the following
Ratio = reshape(sort(X(:), 'descend'), [3, 1])';
which is the same as
Ratio = fliplr(sort(X));

2 commentaires

thnak you it works
Adam Danz
Adam Danz le 13 Juin 2019
Yes, my example using your inputs does not produce an error but make sure this is what your code is supposed to be doing. Just because there isn't an error doesn't mean the code is correct. Many people have learned that the hard way.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by