Borrar filtros
Borrar filtros

create a new matrix with combining two matrices with the same size

1 visualización (últimos 30 días)
My aim is to create a new matrix which the same rows in matrix A and matrix B are zero. the same rows in matrix A which are zero, should also be zero in matrix C.
I want to create matrix C from matrix B.
A=
1 2
0 0
3 2
0 0
B=
7 2
3 6
4 5
2 6
C=
7 2
0 0
4 5
0 0
  2 comentarios
Paul Sponagle
Paul Sponagle el 4 de Ag. de 2016
Is this what you are trying to do?
A=[1,2;0,0,;3,2;0,0]
B=[7,2;3,6;4,5;2,6]
C=B;
C(A==0)=0
Results in:
C =
7 2
0 0
4 5
0 0
This will work for all elements of A that are zero. If you only want to modify B if both elements in the row of A are zero this won't work.
Rather than guessing your intent I provided the simpler solution.

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 4 de Ag. de 2016
C=B
C(~any(A,2),:)=0

Más respuestas (1)

Paul Sponagle
Paul Sponagle el 4 de Ag. de 2016
I put this in comments, it should have been in the 'Answers' section.
The question was not quite clear, but I think this might also work:
A=[1,2;0,0,;3,2;0,0]
B=[7,2;3,6;4,5;2,6]
C=B;
C(A==0)=0
Results in:
C =
7 2
0 0
4 5
0 0
This will create C by copying and modifying B for all elements of A that are zero. If you only want to modify B if both elements in the row of A are zero this won't work and you need to see Aziz's answer.
Paul

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by