Matlab - Llenar un vector en base a otro vector

 
Vista:
sin imagen de perfil
Val: 55
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Llenar un vector en base a otro vector

Publicado por Pilar (35 intervenciones) el 21/10/2019 02:59:27
Sé que el título es un tanto confuso, pero espero puedan ayudarme.
Necesito hacer un código para una aplicación en específico, pero estoy confundida en cómo hacer una parte. Tengo lo siguiente:
1
2
3
Nmax=25;
A=ones(1:Nmax);
B=[1;1;6;12,1];

Lo que necesito hacer es llenar el vector A con el número de ceros que indica el vector B, es decir, el vector A va cambiando de unos a ceros en base al vector B en el orden en que se encuentra. Por ejemplo:
El primer y segundo valor de B indica que es 1 cero, por lo tanto, el vector A=[00111...]
El tercer valor de B indica que son 6 ceros, por lo tanto, el vector A=[0000000011111...]
Y así sucesivamente.
La lógica del código debe ser así, ya estuve intentando índice por índice con un ciclo for, pero me marca errores.
De antemano agradezco su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Llenar un vector en base a otro vector

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 21/10/2019 13:27:12
te recomiendo reeplantear tu pregunta ya que es un poco confusa de la forma planteada, puedes ayudarte de un excel para mostrar un poco mejor la lógica del programa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 55
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Llenar un vector en base a otro vector

Publicado por Pilar (35 intervenciones) el 21/10/2019 20:59:43
Hola, no sé cómo agregar un excel a la pregunta, pero reeplanteo la idea aquí:


Duda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Llenar un vector en base a otro vector

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/10/2019 23:01:45
respuesta a su pregunta original.

1
2
3
4
5
6
7
8
9
clear
Nmax=25;
A=ones(1,Nmax);
B=[1 1 6 12 1];
k=1;
for i=B
     A(k:k+i-1)=zeros(1,i)
     k=k+i;
end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>> unos_ceros_unos
A =
     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
 
 
A =
     0     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
 
 
A =
     0     0     0     0     0     0     0     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
 
 
A =
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1     1     1
 
 
A =
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1     1

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar