fixing an error for calling a variable in an array
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
sampath kumar punna
il 25 Ott 2019
Modificato: Stephen23
il 25 Ott 2019
Y = [1 7
3 9
11 12
15 18
22 12
12 23
15 19
10 22
17 28
111 123]
z= [ 9 12 18 12 23 19 22 28 123]
for i= 1: length(z)
out(i) = Y(find(Y(:,2) == z(:,i)))
end
this code shows an error while executing (Unable to perform assignment because the left and right sides have a different number of
elements.)
can anyone please fix this error
thanks
0 Commenti
Risposta accettata
Stephen23
il 25 Ott 2019
Modificato: Stephen23
il 25 Ott 2019
I suspect that you want something like this:
>> Y = [1,7;3,9;11,12;15,18;22,12;12,23;15,19;10,22;17,28;111,123]
Y =
1 7
3 9
11 12
15 18
22 12
12 23
15 19
10 22
17 28
111 123
>> z = [9,12,18,12,23,19,22,28,123]
z =
9 12 18 12 23 19 22 28 123
>> [~,idx] = ismember(z,Y(:,2));
>> out = Y(idx,:)
out =
3 9
22 12
15 18
22 12
12 23
15 19
10 22
17 28
111 123
Using a loop is unlikely to be a neat or efficient solution.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Multidimensional Arrays 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!