Mathematica 如何生成这种矩阵?

如何生成这种随机矩阵?
如何生成m*n的随机矩阵,使矩阵中每个元素为0或1或-1,且每列中有k1个1,k2个-1,其中m,n,k1,k2是整数.
谢谢!

第1个回答  推荐于2016-12-05
k1 = 2; k2 = 3; m = 8; n = 4; c =
Join[ConstantArray[1, k1], ConstantArray[-1, k2],
ConstantArray[0, m - k2 - k1]];
Transpose@Table[RandomSample[c], {n}](*//MatrixForm*)本回答被提问者采纳

Mathematica 如何生成这个矩阵?
用稀疏数组来生成的话,非常方便,不喜欢稀疏数组的话,可以用函数 Normal 将稀疏数组再转化为一般的列表,A = SparseArray[{{i_, j_} \/; j == 1 || Mod[j, i] == 0 -> c}, {10, 10}, d] \/\/ NormalA 的矩阵形式 A \/\/ MatrixForm ...

如何在mathematica输入矩阵
在Mathematica中输入矩阵非常简单。您可以使用以下语法:matrix = {{a11, a12, a13, ...}, {a21, a22, a23, ...}, ...} 例如,如果您想定义一个3x3矩阵,可以这样做:matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} 您也可以使用函数Array创建矩阵:matrix = Array[a, {3,...

Mathematica 如何生成每行之和为一定值的随机矩阵?
其中参数 list 即为你的例子中的 s1,n 为矩阵列数 测试一下,效果还可以 s1 = {10, 11, 12, 13};randmatrix[s1, 3]输出 {{4, 3, 3}, {7, 2, 2}, {8, 2, 2}, {6, 6, 1}} 注意:因为这是随机选取的,你的运行结果可能不一样。提一点建议,以后再问关于Mathematica的问题...

mathematica随机生成整数矩阵
Join[ConstantArray[1,k1],ConstantArray[-1,k2],ConstantArray[0,m - k2 - k1]];Transpose@Table[RandomSample[c],{n}](*\/\/MatrixForm*)

请问mathematica 中如何定义矩阵?
矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算.例:In[1]:=A={{a,b},{c,d}}; v={x,y};In[2]:=A.v (A左乘以v)Out[2]={ax+by,cx+dy} In[3]:=v.A (A右乘以v)Out[3]={ax+cy,bx+dy} In[4]:=Inverse[A]Out[4]= 如果...

Mathematica 如何用向量构建3*3的反对称矩阵?
v1,v2,v3]生成的反对称矩阵并不是你写的这样,根据这篇文献网页链接,正确的反对称矩阵应该是 [0,-v3,v2 v3,0,-v1 -v2,v1,0]所以相应的Mathematica代码应该是 NestList[RotateLeft, RotateRight[Reverse[v1,v2,v3]], 2]*NestList[RotateRight, {0, -1, 1}, 2]\/\/MatrixForm ...

宏记软件(九):Mathematica学习之括号、变量的使用,如何输入矩阵
在变量管理方面,变量名由字母、数字和下划线组成,必须遵循命名规则:首字母不能是数字,避免与内置函数名冲突,注意区分大小写。变量的赋值是通过将表达式赋给变量,值会一直保留,除非明确更改或重启Mathematica。接下来,输入矩阵有特定格式:单位矩阵用Identitymatrix[n]表示,其中n是矩阵阶数;而Diagonal...

如何在mathematica 7.0 中输入n级矩阵
输入矩阵:用菜单里的Insert \\ Table\/Matrix 或者键盘输入Ctrl+,, Ctrl+Enter 输出矩阵就用MatrixForm就行了。

在mathematica软件中,如何得到一个矩阵的加边矩阵?
将向量(x1(n),x2(n),…,xm(n))T映射为向量(x1(n+1),x2(n+2),…xm(n+1))T。它可以写成xn+1=Ax(其中xn , xn+1为m维向量,A为m×m矩阵)的形式。我们把形如y=Ax的映射称为线性映射。给出一个初始向量x0=(x1(0),x2(0),…,xm(0))T ,将上述映射反复作用可得到序列:...

关于Mathematica的问题
对于矩阵A的行列式|A|可以这么解决,随便找个没定义的变量(如a),输入Det[a]\/\/TraditionalForm,运行。得到结果|a|,将“这种形式”制成自定义模版,以后通过点击模板,以后就可以随意用|A|的形式输入任意矩阵的行列式了。对于上脚标的(3)让Mathematica当成高阶导数,可以这么处理:随便找个没定义的变量...

相似回答