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

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

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

我的微博我的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中满足条件的结构体挑选出来!!!
posted @   WUST许志伟  阅读(588)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示