How total of column of a matrix can be kept be same????
1 次查看(过去 30 天)
显示 更早的评论
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.....
采纳的回答
Jos (10584)
2014-6-12
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!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!