Assigning values to vectors of different lenghts
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Christina
le 27 Mar 2015
Réponse apportée : Jon
le 27 Mar 2015
Hello,
I've got three vectors, say a(1x4), b(1x4) and c(1x10). Vectors a and c represent the same thing, they are just codes. Vector b let's say it's my objective function.
a = [1 2 3 4]
b = [0.1 0.2 0.3 0.4]
c= [ 4 4 4 2 2 1 3 3 1 4].
I want to get another vector d, which will have the same dimensions as vector d (10x1) and in which the values of vector b will be assigned.
d should be like d = [0.4 0.4 0.4 0.2 0.2 0.1 0.3 0.3 0.1 0.4].
Any thoughts on this?
Many thanks
0 commentaires
Réponse acceptée
Konstantinos Sofos
le 27 Mar 2015
Modifié(e) : Konstantinos Sofos
le 27 Mar 2015
Hi,
if your starting point is that you have a and c you can make d from b as
[~,idx] = ismember(c,a);
d = b(idx);
>> d
d =
0.4000 0.4000 0.4000 0.2000 0.2000 0.1000 0.3000 0.3000 0.1000 0.4000
Plus de réponses (1)
Jon
le 27 Mar 2015
It's not clear what you need a for. You can make d directly from c and b as follows:
>> d=b(c)
d =
0.4 0.4 0.4 0.2 0.2 0.1
0.3 0.3 0.1 0.4
0 commentaires
Voir également
Catégories
En savoir plus sur Dialog Boxes 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!