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

1 回表示 (過去 30 日間)
Giannakis Stoukas
Giannakis Stoukas 2015 年 4 月 15 日
編集済み: Jan 2015 年 4 月 16 日
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
  3 件のコメント
Giannakis Stoukas
Giannakis Stoukas 2015 年 4 月 16 日
I changed it here and i wrote it My_matrix instead of diadromes_final to understand what "diadromes_final" is.Diadromes_final is the matrix My_matrix.Where i have write My_matrix it is diadromes_final,but i forgot to change it in the error,so the error is
Error in ==> lisi_dokimes4 at 635 [row, column]=find(My_matrix == pnode);
Adam
Adam 2015 年 4 月 16 日
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:
x
min_cost
pnode
My_matrix
depending if the following line also has problems node may also be relevant.

サインインしてコメントする。

回答 (1 件)

Jan
Jan 2015 年 4 月 16 日
編集済み: Jan 2015 年 4 月 16 日
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?
  4 件のコメント
Giannakis Stoukas
Giannakis Stoukas 2015 年 4 月 16 日
Maybe the "==" isn't right and i have to use something else.In the problem i have a matrix x and a variable min_cost and i want to find in which row is the value (pnode) and in which column (pnode).After this,i have another matrix,My_matrix,and i want to find in which rows and columns are the pnode and node in the matrix My_matrix.
Jan
Jan 2015 年 4 月 16 日
編集済み: Jan 2015 年 4 月 16 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by