arrays - 在Matlab中将一个数组的变量放入另一个数组的一行中

标签 arrays matlab matrix

正如我在主题名称中所说,我想将 3 个数组的变量放在另一个数组的一行中。
看:例如我有 3 个数组 X1、X2、X3,它们的变量是:

X1=[1 2 3];   
X2=[4 5 6];   
X3=[7 8 9];  

另一个数组 Y 是这样的:

Y=zeros(3,3);   
0  0  0   
0  0  0   
0  0  0   

现在我想随机化第一行中的 X1、第二行中的 X2 和第三行中的 X3,如下所示:

3  1  2   
4  6  5   
9  8  7  

很多:)

最佳答案

如果您的 Xi 行向量位于单个数组 X 中,这会更容易实现。

编辑:感谢 LuisMendo 的优化建议。

X = [X1;X2;X3];
[rows,cols] = size(X);
Y = zeros(rows,cols);

for i = 1:rows
    Y(i,randperm(cols)) = X(i,:);
end

关于arrays - 在Matlab中将一个数组的变量放入另一个数组的一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129318/

相关文章:

Numpy 高级索引困惑

Python PCA - 投影到低维空间

c++ - 尝试对对象数组进行排序时程序终止

algorithm - 在 N×N 二进制矩阵中找到仅包含零的最大矩形

c++ - 防止调用类内数组的默认构造函数

list - 如何删除数组中的重复项但保持相同的顺序?

MATLAB 枚举 switch 语句总是进入第一种情况

python - 计算元素仅为相邻整数的矩阵的排列数

ios - 快速解析ip

data-structures - 如果变量名存储在变量中,如何访问数据集中的变量?