vectors problem, como podria unir los vectores

Como podria dar el valor del segundo vector al primero donde haya 0 ,ambos de gran tamaño?
Pero que solo sustituya los valores de 0 hasta la longitud del vector A
por ejemplo:
A=[ 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 01 0 1 0 0];
B= [2 0 2 2 2 0 2 0 2 2 0 0 2 0 2 2 0 0 0 2 0 2 02 0 2 2 2 0 2 2];
Result=[ 1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 ];
se que podria ser con un for, pero aun no logro interpretarlo ?
por favor podrian ayudarme

 Accepted Answer

hola, es esto lo que esperas?
A = [1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0];
B = [2 0 2 2 2 0 2 0 2 2 0 0 2 0 2 2 0 0 0 2 0 2 0];
Result = A;
Result(A==0)=nonzeros(unique(B))
Result =
1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2

8 Comments

Si,solo que como hay diferentes posiciones pues por eso pensaba en un for
sí, si el tamaño del vector es diferente, entonces no podemos corresponder elemento por elemento. necesitamos definir un algoritmo que cree el vector resultante.
yo pensaba como en
valor=0;
for i=1:length(vector1)
valor=valor+vector1(i);
if valor>0 | valor< 0
pero nose como sumarlo con el segundo vector ??
"vecfinal12" no incluye un elemento único que no sea ceros como "B" que tenía solo un "2". por eso apareció ese error. compruebe si "vecfinal12" solo tiene un valor distinto de cero repetido.
espero que sea lo que querias
A = [1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0];
B = [2 0 2 2 2 0 2 0 2 2 0 0 2 0 2 2 0 0 0 2 0 2 0];
Result = A;
% compruebe si "Bu" tiene solo un elemento, al menos si hay más de uno,
% comprueba si están lo suficientemente cerca como para considerarlos iguales.
Bu = nonzeros(unique(B));
% 100% funciona porque solo tomamos el primer elemento único, pero podría conducir a
% de resultado inesperado, depende de los valores dentro de "Bu"
Result(A==0)=Bu(1);
De nada. Si el problema se resuelve, presione "Aceptar".

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!