Please help me to solve the issue for the following code
2 次查看(过去 30 天)
显示 更早的评论
I have asked this question already but I couldnt get the answers what i actually need.
A=[0.01 0.02 0.03 0 0 0 0.02;
0.02 0.03 0.04 0 0 0 0.03;
0.03 0.02 0.02 0 0 0 0.04]
s=sum(sum(A))
if i run the code it gives the value 0.3100.
But how to replace the numbers such that the sum of A should be 0.35. could anyone help me on this
1 个评论
Rik
2018-1-26
If you don't get an answer to work, you should comment there, NOT open a new question.
采纳的回答
Rik
2018-1-26
A=[0.01 0.02 0.03 0 0 0 0.02;
0.02 0.03 0.04 0 0 0 0.03;
0.03 0.02 0.02 0 0 0 0.04];
A = 0.35*A/sum(A(:))
s=sum(A(:))
2 个评论
Walter Roberson
2018-1-29
Why should that line not be included? If it gets you the answer you want, then why not use it?
If you want to generate A so that it already has the right sum, then use Roger's randfixedsum() from the File Exchange.
更多回答(1 个)
Prabha Kumaresan
2018-1-29
2 个评论
Walter Roberson
2018-1-29
编辑:Walter Roberson
2018-1-29
I do not understand that remark.
Perhaps you need
new_A = 0.35*A./sum(A(:));
additions_to_A = new_A - A;
and now the additions of numbers to A that you need to reach the desired total is in the matrix additions_to_A, and you can get the desired matrix by using
desired_matrix = A + additions_to_A;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!