作业帮 > 数学 > 作业

Mathematica 如何生成每行之和为一定值的随机矩阵?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/04/30 05:12:48
Mathematica 如何生成每行之和为一定值的随机矩阵?
如何生成每行之和为一定值的随机矩阵?
例如:生成一个4行3列的随机矩阵,s1表示每行之和
s1={10,11,12,13}
输出:
s2= {{3,2,5},{1,2,8},{3,7,2},{1,3,9}}
Mathematica 如何生成每行之和为一定值的随机矩阵?
暂时想到了这一种方法,
自定义函数
       randmatrix[list_,n_] := RandomChoice@IntegerPartitions[#,{n}] & /@ list;
其中参数 list 即为你的例子中的 s1,n 为矩阵列数
测试一下,效果还可以
       s1 = {10,11,12,13};randmatrix[s1,3]
输出 {{4,3,3},{7,2,2},{8,2,2},{6,6,1}}
注意:因为这是随机选取的,你的运行结果可能不一样.
提一点建议,以后再问关于Mathematica的问题时请将问题归类到编程语言下面,