创建数组建立在另一个数组中

31日视图(30天)
你好,我有一个数组资料片(参见数组1如下),我想基于第一个数组创建第二个数组:
组1:
1
2
3
4
5
例如:
循环1:读第一索引数组1就是1,2将数组
数组2:2 3 4 5
循环2:读第二索引数组1等于2,数组2
数组2:1 3 4 5
循环3:读取第三索引数组1等于3,数组2
数组2:1 2 4 5
等等。
有可能不使用for循环?

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月11日
L =长度(A);temp = repmat (L, 1);临时(1:L + 1:结束)= [];l - 1 B =重塑(temp, []);

答案(1)

法比奥Freschi
法比奥Freschi 2021年8月11日
一个可能的解决方案,所有你想要数组的列矩阵a2
%的条目数组1
n = 5;
%创建数组1
a1 = (1: n)。”;
%创建矩阵a2为列向量
a2 = repmat (a1, n, 1)
%去除对角线项
a2 (1: n + 1: n ^ 2) = [];
%重塑a2得到矩阵
a2 =重塑(a2、n - 1 n);
输出是
a2 =
2 1 1 1 1
3 3 2 2 2
4 4 4 3 3
5 5 5 5 4
1评论
Khairul努尔
Khairul努尔 2021年8月16日
嗨……你的代码也工作. .谢谢你的代码

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!