前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >按照元素指定条件筛选结构体数组

按照元素指定条件筛选结构体数组

作者头像
演化计算与人工智能
发布2020-08-14 11:03:28
5800
发布2020-08-14 11:03:28
举报

按照元素指定条件筛选结构体数组

定义一个类

代码语言:javascript
复制
classdef Chromosome
    properties
        skill_factor;
    end
  • Chromosome类有一个属性

根据Chromosome类生成N个对象

  • 这里假设N==6,并且生成的N个对象本质是结构体数组
代码语言:javascript
复制
for i=1:N
    % 新建一个染色体类
    % 这里population是一个Chromosome类型的结构体数组
    population(i)=Chromosome;
    % 设置每个population实例的skill_factor
    if i<=N/2
        population(i).skill_factor=1;
    else
        population(i).skill_factor=2;
    end
end

如果想挑选出所有skill_factor==1的结构体

代码语言:javascript
复制
 population_T1=population([population.skill_factor]==1)
  • 由于结构体数组中所有字段均包含相同类型的数据并且可以构成超矩形,则可以串联列表项 ,即skill_factor中存储的数据类型相同并可以串成矩阵。具体结构体元素访问可以查看这篇博客[1]
  • 因此,[population.skill_factor] 返回的是 括号不要掉!! 1 1 1 0 0 0
  • 而([population.skill_factor]==1) 返回的也是 1 1 1 0 0 0 表示这个表达式子的正确与错误。而根据这个类似true和false的语句,可以将population中满足条件的结构体挑选出来!!!

参考资料

[1]

这篇博客: https://xuzhiwei.blog.csdn.net/article/details/102836602

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 按照元素指定条件筛选结构体数组
  • 定义一个类
  • 根据Chromosome类生成N个对象
  • 如果想挑选出所有skill_factor==1的结构体
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档