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

3 views (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)

Categories

Find more on Elementary Math 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!