vector problem , Suma de vectores

조회 수: 3 (최근 30일)
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA 2020년 8월 12일
편집: Cris LaPierre 2020년 8월 13일
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
David Hill
David Hill 2020년 8월 12일
Your example does not make any sense to me. Please explain more clearly.
ALEJANDRO ESPINOZA
ALEJANDRO ESPINOZA 2020년 8월 12일
decia que los valores(2) del vector B ,rellene los ( 0 ) del vector A , pero solo hasta la longitud del vector A (length)

댓글을 달려면 로그인하십시오.

채택된 답변

Cris LaPierre
Cris LaPierre 2020년 8월 12일
편집: Cris LaPierre 2020년 8월 13일
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
Cris LaPierre
Cris LaPierre 2020년 8월 12일
% 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 2020년 8월 12일
Muchas Gracias

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Hill
David Hill 2020년 8월 12일
R=A;
a=A==0;
b=B(B~=0);
R(a)=b(1:nnz(a));

카테고리

Help CenterFile 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