matlab 两数组找相同数字所在位置

各位朋友,例如 a=[1,2,5,7,4,6];b=[2,4,6,8,10]; for i=1:6 w=find(b==a(i)); end 我想得到具体的位置,为什么结果是3啊?

结果当然是3,就是第三列的意思。这个程序找出的相同数字是6。
因为for i=1:6 ,i一直运算到6才结束循环,之前找出的相同数字2、4都被6覆盖了。
你试试看i=1:5,结果w=2,这样找出的值就是4。追问

呵呵,谢谢。我现在又有新问题了。。希望你帮帮我,就是如果有一个一维数组,比如,a=[1,3,6,9,8,10,6,25],我想删掉两个6间的数,保留后一个6和其他的,有什么快得吗?首先我们得找到6.。

追答

找到6很容易,直接c=find(a==6)就可以了。主要是删除前一个,保留后一个有点麻烦。下面是我编的程序,不是什么精简直接的方法,挺老套的,呵呵。
a=[1,3,6,9,8,10,6,25];
c=find(a==6);
for i=1:c(1)-1
b(i)=a(i);
end
for i=c(2):8
b(i)=a(i);
end
b(b==0)=[];

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜