Effacer les filtres
Effacer les filtres

fixing an error for calling a variable in an array

1 vue (au cours des 30 derniers jours)
sampath kumar punna
sampath kumar punna le 25 Oct 2019
Modifié(e) : Stephen23 le 25 Oct 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

Réponse acceptée

Stephen23
Stephen23 le 25 Oct 2019
Modifié(e) : Stephen23 le 25 Oct 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.

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays 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