MATLAB Answers


i have a function that should work but doesn't

Asked by Omar Almahallawy on 13 Jun 2019
Latest activity Commented on by Adam Danz
on 13 Jun 2019
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])';


Sign in to comment.

1 Answer

Answer by Adam Danz
on 13 Jun 2019
Edited by Adam Danz
on 13 Jun 2019
 Accepted Answer

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));


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.

Sign in to comment.