How to transform a vector to a matrix with same position ?

1 view (last 30 days)
Hello everyone!
i want to ask you, if i have a matrix A in each row i have only one value , the rest are set to zero.Also i have a column vector V.
V =sum(A,2) but with removed elements.
I want to replace the value in A by the value in V at the same positions.
this is an example :
A=[100 0 0 0 0 0
0 50 0 0 0 0
0 0 0 20 0 0
0 0 0 0 30 0
0 0 0 0 0 80]
here the removed element in row 2 (50).
So V is the follow:
V=[100
20
30
80]
Now i want to replace A by elements in V.
the required result is :
A1=[100 0 0 0 0 0
0 0 0 20 0 0
0 0 0 0 30 0
0 0 0 0 0 80]
How can i do that?

Accepted Answer

Matt J
Matt J on 30 Oct 2022
A=A( ismember(sum(A,2),V) ,:)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!