Matlab Warning: Concatenation of empty arrays

2 visualizzazioni (ultimi 30 giorni)
Andrea
Andrea il 26 Gen 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

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 26 Gen 2013
Modificato: Azzi Abdelmalek il 26 Gen 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 il 26 Gen 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 Commento
Andrea
Andrea il 28 Gen 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

Accedi per commentare.

Categorie

Scopri di più su Entering Commands in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by