我有一个二维列表和一维列表.我想将1D列表作为附加列插入到2D列表中.例如:
array = {{a,1,2},{b,2,3},{c,3,4}};
column = {x,y,z};
Run Code Online (Sandbox Code Playgroud)
变
final = {{a,1,2,x},{b,2,3,y},{c,3,4,z}};
Run Code Online (Sandbox Code Playgroud)
我做得非常好:
Table[Insert[array[[i]], column[[i]], 4], {i, Length[array]}];
Run Code Online (Sandbox Code Playgroud)
我的问题:在Mathematica中这样做的正确方法是什么?我不认为它需要我正在使用的循环.我的解决方案感觉很难看.
作为合成噪声生成算法的一部分,我必须在运行中构建许多大的非奇异平方矩阵
一个I,J(I,J:1..N)/∀(I,J)一个I,J ∈ℤ和0≤一个I,J ≤k和挪威并[a]≠0
但是a i,j在[0,k]中均匀分布后也应该是随机的.
在目前的化身中,问题是n≅300,k≅100.
在Mathematica中,我可以非常快地生成随机元素矩阵,但问题是我还必须检查奇点.我目前正在使用Determinant值.
问题是这个检查,对于300x300矩阵需要2秒左右的时间,我负担不起.
当然,我可以通过选择随机的第一行然后构造连续的正交行来构造行,但我不确定如何保证这些行的元素遵循[0,k]中的均匀分布.
我正在寻找Mathematica的解决方案,但也欢迎使用更快的生成矩阵的算法.
NB> U [0,k]条件意味着采用一组矩阵,整个集合中的每个位置(i,j)应遵循均匀分布.