交换给定符号矩阵的元素

时间:2016-03-16 23:28:56

标签: matlab symbolic-math

所以,问题很容易理解。给定任何dimmension的任何符号矩阵我想交换元素以获得一个相同大小,相同元素但分布不同的矩阵。

例如

syms a b c

A=[a b c;0 0 c]

交换A我们可以得到:

A=[b a c;0 c 0];

1 个答案:

答案 0 :(得分:0)

使用randperm(numel(A)),您可以生成数字1的随机排列:数字(A),它们是矩阵中的索引。

A(:)=A(randperm(numel(A)));

左侧的A(:)需要保留形状,否则您最终会得到元素的矢量。如果您希望保持矩阵A不变:

B=A; %just to get a matrix of same size and datatype
B(:)=A(randperm(numel(A)));