zoukankan      html  css  js  c++  java
  • 按照元素指定条件筛选结构体数组

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

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    定义一个类

    classdef Chromosome
        properties
            skill_factor;
        end
    
    • Chromosome类有一个属性

    根据Chromosome类生成N个对象

    • 这里假设N==6,并且生成的N个对象本质是结构体数组
    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的结构体

     population_T1=population([population.skill_factor]==1)
    
    • 由于结构体数组中所有字段均包含相同类型的数据并且可以构成超矩形,则可以串联列表项 ,即skill_factor中存储的数据类型相同并可以串成矩阵。 具体结构体元素访问可以查看这篇博客
    • 因此,[population.skill_factor] 返回的是 括号不要掉!! 1 1 1 0 0 0
    • 而([population.skill_factor]==1) 返回的也是 1 1 1 0 0 0 表示这个表达式子的正确与错误。而根据这个类似true和false的语句,可以将population中满足条件的结构体挑选出来!!!
  • 相关阅读:
    Java学习之路(三)--Thinking in Java
    Java学习之路(二)--Thinking in Java
    Java学习之路(一)--Thinking in Java
    ES6中y修饰符合u修饰符
    map数据结构
    Set数据结构
    不确定参数的处理
    函数参数的默认值
    class基础语法
    生成新数组的方法和在数组中查找
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/12709570.html
Copyright © 2011-2022 走看看