Could anyone help me how to shuffle the numbers in each column

1 Ansicht (letzte 30 Tage)
A=[3.8723 3.6040 3.3271 3.0534 2.8094 2.6242;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0]
I want to shuffle the numbers present in each column to oher places of that corresponding column in a way such that sum(A,2) should not be zero
For example i want to shuffle the number in the following manner.
[3.8723 0 0 3.0534 0 0;
0 0 3.3271 0 0 0;
0 3.6040 0 0 0 0;
0 0 0 0 0 2.6242;
0 0 0 0 2.8094 0]
could anyone please help me on it.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 18 Jun. 2019
Bearbeitet: Andrei Bobrov am 18 Jun. 2019
[m,n] = size(A);
out = zeros(m,n);
out([randperm(m) + (0:m-1)*m,randi(m,1,n-m)+m^2]) = A(A~=0);

Weitere Antworten (0)

Kategorien

Mehr zu Particle & Nuclear Physics finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by