vector problem , Suma de vectores

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 个评论

Your example does not make any sense to me. Please explain more clearly.
decia que los valores(2) del vector B ,rellene los ( 0 ) del vector A , pero solo hasta la longitud del vector A (length)

请先登录,再进行评论。

 采纳的回答

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 个评论

No, en si b tiene distintos valores , solo era un ejemplo de como podria sustituir los valores > y < a 0 de b dentro de los valores (0) de A con su misma longitud
Me parece que hayas equivocado en algunos valores de R (indicado con "^").
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 ];
^ ^ ^ ^ ^ ^
Mi resultado:
1 2 .5 1.4 2 1 1 .45 1 2 2 1 1 1 1 2 2 -0.15 1 -0.12
Lo que hice:
R = A;
R(A==0) = B(A==0);
R(R==0)=max(B)
En esta parte que realiza
R(A==0) = B(A==0);
R(R==0)=max(B)
Podrias explicar ?
% 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)

请先登录,再进行评论。

更多回答(1 个)

类别

帮助中心File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by