matlab中怎么对数组进行重新排序

例如:数组[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
取3;6;13;并且取出3前一个位置数和3后一个位置数;取6前一个位置数和6后一个位置数;取13前一个位置数和13后一个位置数;
最后得到[1,8,9,10,11,15,16,17,18,19,20];取出的数为[2,3,4,5,6,7,12,13,14]

你好,只要给定一个数组a和另外一个数组b,就可以这么做

a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, 22, 24, 26, 28];
b = [3,6,13, 26]; % 取哪几个数字
c = ismember(a, b); % 找到这些数字所在位置
c = c | [false,c(1:end-1)] | [c(2:end), false]; % 前后都要
a1 = a(c)  % 取出的数为
a2 = a(~c) % 最后得到的数

结果:

a1 =

     2     3     4     5     6     7    12    13    14    24    26    28


a2 =

     1     8     9    10    11    15    16    17    18    19    20    22

你是想这样吗

img

a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
a([2:7])=[]
a([6:8])=[]
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632