Please help me to solve the issue for the following code

1 次查看(过去 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

采纳的回答

Rik
Rik 2018-1-26
You have a working answer here, you just didn't run the code correctly.
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 个评论
Prabha Kumaresan
Prabha Kumaresan 2018-1-29
编辑:Walter Roberson 2018-1-29
the command line A = 0.35*A/sum(A(:)) should not be included. On omitting the line s=0.31.
Could you please tell me how to change or replace the numbers in A such that the value of s=0.35.
Walter Roberson
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
Prabha Kumaresan 2018-1-29
if i use the command line it gives the result what i need but the addition of the numbers of the matrix was not changed.
  2 个评论
Walter Roberson
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;

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by