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

1 vue (au cours des 30 derniers jours)
jaah navi
jaah navi le 18 Juin 2019
Modifié(e) : Andrei Bobrov le 18 Juin 2019
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.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 18 Juin 2019
Modifié(e) : Andrei Bobrov le 18 Juin 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);

Plus de réponses (0)

Catégories

En savoir plus sur Particle & Nuclear Physics dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by