vector problem , Suma de vectores

2 Ansichten (letzte 30 Tage)
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA am 12 Aug. 2020
Bearbeitet: Cris LaPierre am 13 Aug. 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 Kommentare
David Hill
David Hill am 12 Aug. 2020
Your example does not make any sense to me. Please explain more clearly.
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA am 12 Aug. 2020
decia que los valores(2) del vector B ,rellene los ( 0 ) del vector A , pero solo hasta la longitud del vector A (length)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 12 Aug. 2020
Bearbeitet: Cris LaPierre am 13 Aug. 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 Kommentare
Cris LaPierre
Cris LaPierre am 12 Aug. 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 am 12 Aug. 2020
Muchas Gracias

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

David Hill
David Hill am 12 Aug. 2020
R=A;
a=A==0;
b=B(B~=0);
R(a)=b(1:nnz(a));

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by