Effacer les filtres
Effacer les filtres

How can I create a vector

1 vue (au cours des 30 derniers jours)
Javier Imaz Higuera
Javier Imaz Higuera le 23 Août 2022
Commenté : Matt J le 23 Août 2022
I want to create a vector b from the vector a, such as:
a = [2 4 3]
b = [1/2 1/2 1/4 1/4 1/4 1/4 1/3 1/3 1/3]
(note that there are as many fractions in b, as the sum of the vector a. Also, the number of different fractions correspond with the individual values of a)
Is there any easy way to generalize this example?
Thanks
  2 commentaires
Javier Imaz Higuera
Javier Imaz Higuera le 23 Août 2022
found a way:
b=[];
for i = 1:length(a)
b=[b,a(i).*ones(a(i),1)']
end
b=b.^(-1);
Matt J
Matt J le 23 Août 2022
You should be getting Code Analyzer messages discouraging you from growing b iteratively in the loop.

Connectez-vous pour commenter.

Réponses (1)

Matt J
Matt J le 23 Août 2022
Modifié(e) : Matt J le 23 Août 2022
a=[2,4,3];
b=1./repelem(a,a)
b = 1×9
0.5000 0.5000 0.2500 0.2500 0.2500 0.2500 0.3333 0.3333 0.3333

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by