How can I create a vector

1 visualización (últimos 30 días)
Javier Imaz Higuera
Javier Imaz Higuera el 23 de Ag. de 2022
Comentada: Matt J el 23 de Ag. de 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 comentarios
Javier Imaz Higuera
Javier Imaz Higuera el 23 de Ag. de 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 el 23 de Ag. de 2022
You should be getting Code Analyzer messages discouraging you from growing b iteratively in the loop.

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 23 de Ag. de 2022
Editada: Matt J el 23 de Ag. de 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

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by