我有一个载体
A = [ 1 1 1 1 2 2 2 4 4 6 7 ]
我要编写一行代码,在向量中的每个唯一值之后循环遍历向量将其拆分为两个。 例如:
第一个循环会给出
A1 = [ 1 1 1 1 ]
A2 = [2 2 2 4 4 6 7 ]
第二个循环将给出
A1 = [ 1 1 1 1 2 2 2 ]
A2 = [ 4 4 6 7 ]
等等,直到最终的载体
A1 = [1 1 1 1 2 2 2 4 4 6]
A2 = [7]
谢谢!
答案 0 :(得分:0)
这种方法怎么样:
A = [ 1 1 1 1 2 2 2 4 4 6 7 ];
solutions=0;
for i=1:size(A,2)
j=i+1;
if(j<=size(A,2))
if(A(1,i)~=A(1,j))
solutions=solutions+1;
B1{solutions}(1,:)=A(1,1:i);
B2{solutions}(1,:)=A(1,i+1:end);
end
end
end
循环遍历完整数组并检查两个相邻的条目是否存在不等式。如果是,则子矢量保存在两个单元阵列中。一个用于第一部分,一个用于所有第二部分。
答案 1 :(得分:0)
使用差异法
A = [ 1 1 1 1 2 2 2 4 4 6 7 ]
D = A(1:end-1)==A(2:end)
B = find(D==0)
for ii = 1:length(B)
A1 = A(1:B(ii))
A2 = A(B(ii)+1:end)
end