Matlab 数组元素删除多个元素

数组a=[2 3 2 3 5 2]
我想删除数组a中某些元素 这些元素的位置由数组b中的元素代表着 b=[1 3 6]
具体怎么实现呢 我编的程序有点问题 各位高手帮帮忙啊~~

这个问题对matlab来说确实太简单了
你的目的无非就是要删除a中的2
一句话可以实现:
a(a==2)=[] 这就可以删除a中等于2的元素

该方法等价于:
id=find(a==2);% 查找下标
a(id)=[]; %删除指定下标元素

类似的 a(a<3)=[] 就是删除数组a中小于3的元素,对你给的数据而言,结果一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-10
matlab删除很简单,就令其为[]即可。
a=[2 3 2 3 5 2];
b=[1 3 6];%保证升序
[m,n]=size(b);
for i=1:n
a(b(i)-i+1)=[];
end
a%输出a
第2个回答  2011-03-11
%a是存储数据的数组名,find是找到大于122的数的位置
a(Locate)=[]; %删除数组a中大于122的元素
第3个回答  2011-03-10
这个。。 个人感觉只能用循环了解决了
result=zeros(numel(a)-numel(b),1);
for index1=1:numel(a)
for index2=1:numel(b)
if index1~=b(index2)
result=a(index1)
end
end
end
第4个回答  2011-03-10
a(b)=[]本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网