Effacer les filtres
Effacer les filtres

Matlab Warning: Concatenation of empty arrays

7 vues (au cours des 30 derniers jours)
Andrea
Andrea le 26 Jan 2013
Hi,
I have write these lines in a matlab function
[r2, c2] = find(row == -2);
[r10, c10] = find(row == -10);
[r11, c11] = find(row == -11);
[r15, c15] = find(row == -15);
c = [c2 c10 c11 c15];
When I run the function on the matlab prompt I visualize this warning on the last line of the above code
Warning: Concatenation involves an empty array with an incorrect number of rows.
How can I resolve this warning?
Thanks in advance
Andrew
  1 commentaire
Walter Roberson
Walter Roberson le 26 Jan 2013
Please tell us what you get for
size(c2)
size(c10)
size(c11)
size(c15)

Connectez-vous pour commenter.

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 26 Jan 2013
Modifié(e) : Azzi Abdelmalek le 26 Jan 2013
Because c2 and c10, for example, have not the same size, then you can't concatenate them horizontally. Use instead
c = [c2 ;c10; c11; c15];

Walter Roberson
Walter Roberson le 26 Jan 2013
Perhaps this would be suitable?
c = find(row == -2 | row == -10 | row == -11 | row = -15);
which could also be coded as
c = find(ismember(row, [-2, -10, -11, -15]));
  1 commentaire
Andrea
Andrea le 28 Jan 2013
row is a row vector can be contains or a single value between {-2,-10,-11,-15} or a combination of its.
I should select the max column of the values contained in row and in fact in my code I have this:
c = [c2 c10 c11 c15]; c = max(c);
I obtain the same behaviour with this instruction, for example:
c = max(find(ismember(row, [-2, -10, -11, -15])));
Thanks
Andrew

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by