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

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/06 21:03:05
Mathematica 如何生成每行之和为一定值的随机矩阵?如何生成每行之和为一定值的随机矩阵?例如:生成一个4行3列的随机矩阵,s1表示每行之和s1={10,11,12,13} 输出:s2= {{3,2,5},{1,2,8},{3,7,2},{1,3,9}}
x[O`ǿJWoh߶ТL.,5th-#$Ƴ!yDp!*ۖ}=iȶdS/wHjdŵdDSv3v֜j]O]oIR)s4*圭U<b ʾ2xgy(Bnnnh3cY,]lt4(pE,`XEX9$ P8i;Mn]xg.q^:5±3]# vcλ| :/+S#>8O|v L PZҒʴjdB71dRQ \&hC Kҏ[z0Gv?pv@A"+6j<212(+ђWw@/!'|.$W>͕)`ڍ(|ʠ_^PLFjSoM.&xBMr mrM7 qvN~\;G)9kx cdm̭ 2[]IogPi!^[\wA M rY 4={(3D{▕i9S4/J2A몔_{!eEM}܈h, 8ƈ,ò"\XY -bFaUN1%X5ITc<ā)H lk ]kQE^c8TI |P \Zm$cWZ;R

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

Mathematica 如何生成每行之和为一定值的随机矩阵?如何生成每行之和为一定值的随机矩阵?例如:生成一个4行3列的随机矩阵,s1表示每行之和s1={10,11,12,13} 输出:s2= {{3,2,5},{1,2,8},{3,7,2},{1,3,9}}
暂时想到了这一种方法,
自定义函数
       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的问题时请将问题归类到编程语言下面,