How total of column of a matrix can be kept be same????

2 vues (au cours des 30 derniers jours)
suchismita
suchismita le 12 Juin 2014
Commenté : suchismita le 12 Juin 2014
If I have a matrix A A=[ 0.4000 0.6000 0.8000 0.8000 1.0000 1.6000 0.9333 1.2333 0.0000 0.0000; 1.2000 0.6000 0.8000 0.8000 1.0000 0.4000 0.5333 0 0 0; 1.2000 1.4000 1.6000 1.6000 1.8000 2.4000 2.5333 2.8333 4.0000 4.0000; 1.2000 1.4000 0.8000 0.8000 0.2000 0 0 0 0 0] I want to keep the total of column to remain same as here the total of each column is as:
sum(A(:,1))
ans =
4
>> sum(A(:,2))
ans =
4
>> sum(A(:,3))
ans =
4
>> sum(A(:,4))
ans =
4
>> sum(A(:,5))
ans =
4
>> sum(A(:,6))
ans =
4.4000
>> sum(A(:,7))
ans =
4
>> sum(A(:,8))
ans =
4.0667
>> sum(A(:,9))
ans =
4
>> sum(A(:,10))
ans =
4
at 6th and 8th column its becoming more than 4 .... so here how can round of this to 4??? plz plz help.....
  3 commentaires
suchismita
suchismita le 12 Juin 2014
yes....if needed some should be deleted to get 4
suchismita
suchismita le 12 Juin 2014
here in my example matrix can you help me in modifying without disturbing the zeros...please...like if in a column sum is more than 4 it should minus the rest and if its less it should add to make it 4... can you help me in that way...

Connectez-vous pour commenter.

Réponse acceptée

Jos (10584)
Jos (10584) le 12 Juin 2014
This is called a normalisation procedure.
A = rand(10,6) % some random data
sumA = sum(A,1) % unequal column sums
normfun = @(a,b) 4 * (a/b)
Anorm = bsxfun(normfun, A, sumA) % normalise each column
sum(Anorm,1) % all 4, check!
  1 commentaire
suchismita
suchismita le 12 Juin 2014
thank u so much... but here in my example matrix can you help me in modifying without disturbing the zeros...please...like if in a column sum is more than 4 it should minus the rest and if its less it should add to make it 4... can you help me in that way...

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by