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

如何生成每行之和为一定值的随机矩阵?例如:生成一个4行3列的随机矩阵,s1表示每行之和s1={10,11,12,13}输出:s2={{3,2,5},{1,2,8},{3,... 如何生成每行之和为一定值的随机矩阵?
例如:生成一个4行3列的随机矩阵,s1表示每行之和
s1={10,11,12,13}
输出:
s2= {{3,2,5},{1,2,8},{3,7,2},{1,3,9}}

谢谢!
展开
iUkiyoE
2013-10-01 · TA获得超过643个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:393万
展开全部

暂时想到了这一种方法,

自定义函数

       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的问题时请将问题归类到编程语言下面,谢谢!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式