??? Error using ==> eq Matrix dimensions must agree.

1 view (last 30 days)
Giannakis Stoukas
Giannakis Stoukas on 15 Apr 2015
Edited: Jan on 16 Apr 2015
orders are min_cost = min(x(:));
[pnode, node] = find(x == min_cost);
[row, column]=find(My_matrix == pnode);
[rows, columns]=find(My_matrix==node);
and i get this error
Error in ==> lisi_dokimes4 at 635
[row, column]=find(My_matrix
== pnode);
and the min_cost instead of taking one value it takes an array,x is a matrix 101X101 My_matrix has dimensions 10X14
Adam on 16 Apr 2015
You need to give clear full details of the sizes of every variable in the code snippet if you want help to solve this, otherwise we are just guessing at what might be the problem.
Given the line of the error, the following variables are all relevant:
depending if the following line also has problems node may also be relevant.

Sign in to comment.

Answers (1)

Jan on 16 Apr 2015
Edited: Jan on 16 Apr 2015
diadromes_final and pnode have different sizes. As long as you do not post the code, which creates these two variables, we do not have the chance to guess the reason for this. So I suggest to use the debugger and step through the code line by line to find out, where the different sizes are comming from.
[EDITED] So let me clarify your question:
min_cost = min(x(:))
[pnode, node] = find(x == min_cost);
[row, column] = find(My_matrix == pnode);
Now it is not clear, how x and my_matrix are connected. But the error message means, that pnode and My_matrix have different sizes. Why do you assume that both have the same size? Perhaps you want ismember instead of the == comparison?
Jan on 16 Apr 2015
Edited: Jan on 16 Apr 2015
And what should happen, if the minimal value appears multiple times in the matrix?
Please provide a relevant small example of the inputs and the wanted outputs. The description as text does nopt allow to create a useful answer.

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!

Translated by