matlab中如何剔除数组中的某些元素

问题描述:

matlab中如何剔除数组中的某些元素
程序如下
t=[1 2 3 4 5 6 7 8 9 10];
n1=length(t);%点数
x=[1 2 2 3 4 3 3 4 5 6];%未进行处理的点数据
x1(1)=x(1);x1(2)=x(2);
for j1=3:n1%%剔除某些数据点
if x(j1-2)==x(j1)
break
end
x1(j1)=x(j1);
end%%
%%要求是:当x(j1+2)==x(j1)时,删除x(j1+2)
上面的程序最终应该得到x=[1 2 2 3 4 4 5 6],但是我运行程序后只得到x=[1 2 2 3 4]
我采用了一楼的做法,得到的是x=[1 2 2 3 4 0 4 5 6],我不想要这个0,我想过用x1(find(x1==0))=[];但是,如果x[]中本身有0,而不是循环的时候得到的0,该怎么办呢
1个回答 分类:综合 2014-11-28

问题解答:

我来补答
x=[1 2 2 3 4 3 3 4 5 6];%未进行处理的点数据
n=length(x);%点数
x1=x(1:2);
p=3;q=1;
while p
 
 
展开全文阅读
剩余:2000
上一页:画钩的
下一页:速率