vector problem , Suma de vectores

3 visualizaciones (últimos 30 días)
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA el 12 de Ag. de 2020
Editada: Cris LaPierre el 13 de Ag. de 2020
Como podria dar el valor del segundo vector al primero donde haya 0 , ejemplo lo haga 1 por uno
(solo lo cambie los valores(2) del vector B , rellenen los ( 0 ) del vector A , pero solo hasta la longitud del vector A (length))
por ejemplo:
A=[ 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 ];
B=[ 2 0 .5 1.4 0 .88 0 .45 .49 0 0 .23 0 .39 .18 0 0 -0.15 0 -.12 0 -.22 0 1.7 -.25 .41 -.35 -.12 ];
R=[ 1 2 .5 1.4 .88 1 1 .45 1 .49 .23 1 1 1 1 .39 .18 -.15 1 -.22 ];
se que podria ser con un for, pero aun no logro interpretarlo ?
por favor podrian ayudarme
  2 comentarios
David Hill
David Hill el 12 de Ag. de 2020
Your example does not make any sense to me. Please explain more clearly.
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA el 12 de Ag. de 2020
decia que los valores(2) del vector B ,rellene los ( 0 ) del vector A , pero solo hasta la longitud del vector A (length)

Iniciar sesión para comentar.

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 12 de Ag. de 2020
Editada: Cris LaPierre el 13 de Ag. de 2020
Con su ejemplo, no necesitas B. Parece que el vector R es el vector A, pero los valores de 0 han sido cambiado a 2. Es esto lo que quieres hacer?
R = A;
R(R==0)=2;
R = 1×25
1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2
  5 comentarios
Cris LaPierre
Cris LaPierre el 12 de Ag. de 2020
% Remplaza los valores de 0 con el valor correspondiente de B
R(A==0) = B(A==0);
% Remplaza los valores de 0 que queda con el valor maximo de B
R(R==0)=max(B)
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA el 12 de Ag. de 2020
Muchas Gracias

Iniciar sesión para comentar.

Más respuestas (1)

David Hill
David Hill el 12 de Ag. de 2020
R=A;
a=A==0;
b=B(B~=0);
R(a)=b(1:nnz(a));

Categorías

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

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by