Nei*_*l G 1 arrays matlab concatenation
例如,我想要组合两个数字范围,如下所示:
1 2 3 4 5 11 12 13 14 15 16 17 18 19 20
Run Code Online (Sandbox Code Playgroud)
所以,我尝试过:
a = 1:5,11:20
Run Code Online (Sandbox Code Playgroud)
但那没用.
我还想以非硬编码方式执行此操作,以便缺少5个元素可以从任何索引开始.
对于您的示例,您需要使用方括号来连接两个行向量:
a = [1:5 11:20];
Run Code Online (Sandbox Code Playgroud)
或者减少硬编码:
startIndex = 6; %# The starting index of the 5 elements to remove
a = [1:startIndex-1 startIndex+5:20];
Run Code Online (Sandbox Code Playgroud)
您可能还想查看这些相关功能:HORZCAT,VERTCAT,CAT.
还有一些其他方法可以做到这一点.首先,你可以先制作整个矢量,然后索引你不想要的元素并将它们删除(即将它们设置为空矢量[]):
a = 1:20; %# The entire vector
a(6:10) = []; %# Remove the elements in indices 6 through 10
Run Code Online (Sandbox Code Playgroud)
您也可以使用set操作来执行此操作,例如SETDIFF函数:
a = setdiff(1:20,6:10); %# Get the values from 1 to 20 not including 6 to 10
Run Code Online (Sandbox Code Playgroud)