查看: 3777|回复: 1|关注: 0

[已解决] 关于数组特定元素的删除

[复制链接]

新手

22 麦片

财富积分


050


43

主题

72

帖子

0

最佳答案
本帖最后由 qishi123 于 2014-12-15 10:34 编辑

现在有一个一维数组a=[0 1 1 0 0 1 0 1 0];需要删除的序号为b=[3 5 7];要求是当b中元素对应a中的元素为0时,将a中的元素删除。例如a的第5个元素是0并且在要删除的号码的行列,所以删除;最后a=[0 1 1 0 1 1 0].这个怎么写?想用for循环迭代,但是发现不行,想问问怎么实现?

a=[0 1 1 0 0 1 0 1 0];
b=[3 5 7];
for i=1:9
    for j=1:3
        if a(1,i)==0 && i==b(j)
            a(1,i)=[];
        end
    end
end
a

回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

92 麦片

财富积分


50500


1

主题

108

帖子

17

最佳答案
发表于 2014-12-15 13:30:07 | 显示全部楼层 |此回复为最佳答案
  1. a=[0 1 1 0 0 1 0 1 0];
  2. b=[3 5 7];
  3. temp=[];
  4. for i = 1:length(b)
  5.     if a(b(i))==0
  6.         temp=[temp b(i)];
  7.     end
  8. end
  9. a(temp)=[];
  10. a
复制代码
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表