matlab如何实现任意长序列所有排列方式

最近被问到一个问题,如何计算一个由3个0和3个1组成的序列的所有组合情况,处理这个问题我没有找到特别恰当的函数(如果有能直接做的函数欢迎评论告知),所以采用比较接近需求的perms函数来解决这个问题

首先看perms函数的定义,matlab官网是这么说的:
在这里插入图片描述

那么这个函数是列出了指定序列的所有可能排列,简单来说是考虑了元素顺序,但显然我们的三个0和三个1都是一样的,这就导致了perms函数生成的二维数组比我们实际需要的二维数组大得多,直接使用perms函数会得到一个720*6的二维数组
在这里插入图片描述

可以看出这里面是有很多重复项的,我们找排列实际上就是找一个C63=20,不过这里面已经完全包含了我们想要的信息,所以只要继续对这个数组稍做处理即可,这里我用到了isequal函数来比较每一维序列,它的定义如下:
在这里插入图片描述
通过两个for循环就能滤掉这个二维数组中的重复项,得到我们需要的信息,下面是我的具体代码:

clc
clear

v = [0 0 0 1 1 1]; % 1x5 vector with three 0s and two 1s
p = perms(v); % 10x5 matrix with all permutations of v
[r,l]=size(p);
tru=zeros(20,6);


for i=1:r
    for j=i+1:r
        if isequal(p(i,:),p(j,:))
            p(j,:)=[0 0 0 0 0 0];
        end
    end
end

k=1;
for i=1:r
    if ~isequal(p(i,:),[0 0 0 0 0 0])
        tru(k,:)=p(i,:);
        k=k+1;
    end
end


最后也是成功得到了需要的二维数组:
在这里插入图片描述
我觉得这个方法还是有些复杂,应该会有直接计算的函数,但是一直没找着,如果有知道的读者也可以告诉我呀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/153677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小望电商通:无代码开发,轻松实现电商平台、客服系统和用户运营的集成

无缝连接电商系统和客服系统,轻松实现集成 小望电商通是一款具有突破性的电商解决方案。它为电商行业提供了新的可能性,尤其在电商系统和客服系统的无缝连接和集成上具有显著优势。小望电商通的运用,使企业无需进行任何API开发,就…

单区域OSPF配置

配置命令步骤: 1.使用router ospf 进程ID编号 启用OSPF路由 2.使用network 直连网络地址 反掩码 area 0 将其归于区域0 注意:1.进程ID编号可任意(1-65535)2.反掩码用4个255相减得到 如下图,根据给出要求配置OSPF单区…

IDEA插件推荐:Apipost-Helper

IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。 今天给大家介绍一款IDEA插件:Api…

LeetCode(20)最长公共前缀【数组/字符串】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 14. 最长公共前缀 1.题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow&qu…

flutter TabBar指示器

第一层tabView import package:jade/configs/PathConfig.dart; import package:jade/customWidget/MyCustomIndicator.dart; importpackage:jade/homePage/promotion/promotionPost/MyPromotionListMainDesc.dart; import package:jade/homePage/promotion/promotionPost/MyPr…

CANoe-Trace窗口介绍

1、什么是Trace窗口 Trace窗口的目的是在测量期间(CANoe运行时)记录总线活动。在测试设置(Measurement Setup)中的Trace窗口的输入处接收到的所有消息都在Trace输出窗口中显示为文本。 当然,除了总线报文数据外,还有一系列的其他事件可以输出到Trace窗口,例如: 错误事…

【网络基础实战之路】基于不同协议间使用重发布路由策略

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…

香港优才计划获批概率跌破20%,拿香港身份越来越难了?

香港优才计划获批概率跌破20%,拿香港身份越来越难了? 截止10月31日,香港各类人才引进计划共收到18万4538宗申请,获批11万5741宗,整体“获批率”为62.72%。 具体到项目获批率: ①优才计划共收到63979宗申请&…

自动化测试介绍和分类,看这一篇就够了

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

中小商家,也能在抖音电商找到星辰大海

“你这背景太假了!” 横穿中国,从江苏闯荡到新疆创业卖蜂蜜的刘元杰,怎么也没有预料到这句话会成为热梗。他本人在直播间各种和网友之间“极限拉扯”,用扔水桶、扔石头、召唤新疆大叔骑马打招呼等操作自证背景的真实性。这让他的…

git宝藏干货

git命令 怎样删除gitee仓库 Gitee上传代码 在Gitee上创建该项目的远程仓库 进入你想要上传的文件目录下,右键单击空白处,点击Git Bash Here 命令行输入下列命令,初始化本地仓库 git init 添加项目目录下所有文件至本地仓库 git add . …

2019年五一杯数学建模C题科创板拟上市企业估值解题全过程文档及程序

2019年五一杯数学建模 C题 科创板拟上市企业估值 原题再现 科创板在首届中国国际进口博览会开幕式上宣布设立,是独立于现有主板市场的新设板块。设立科创板并试点注册制是提升服务科技创新企业能力、增强市场包容性、强化市场功能的一项资本市场重大改革举措&…

MTK联发科MT8766核心板 4G智能模块安卓开发板方案定制

MT8766 是一款基于 MTK 平台工业级高性能、可运行 android12.0 操作系统的 4G智能模块,三款模块硬件是相互兼容,支持 LTE-FDD(CAT-7)/LTE-TDD(CAT-7)/WCDMA/TD-SCDMA/EVDO/GSM 等多种制式;支持 WiFi5 802.1…

景联文科技入选量子位智库《中国AIGC数据标注产业全景报告》数据标注行业代表机构

量子位智库《中国AIGC数据标注产业全景报告》中指出,数据标注处于重新洗牌时期,更高质量、专业化的数据标注成为刚需。未来五年,国内AI基础数据服务将达到百亿规模,年复合增长率在27%左右。 基于数据基础设施建设、大模型/AI技术理…

释放机器人潜力,INDEMIND深耕底层技术

市场转暖,但攘外需要同时安内。 市场降温之后,正迎来拐点 疫情之后,经济逐渐下行,服务机器人的“好日子”也随之结束,整个行业都在动荡中经历渡劫。根据TE智库报告显示,从2022年开始,我国服务…

纺织机械对直线模组的要求有哪些?

直线模组在纺织机械中的应用越来越广泛,对其性能和精度要求也越来越高,那么什么样的纺织机械模组才可以满足纺织机械的使用需求呢? 1、高精度:直线模组需要具备高精度的运动和定位能力,以确保纺织机械能够精确控制纱线…

Notion平替工具AFFINE知识库如何本地部署与公网远程访问

公网访问全能知识库工具AFFINE,Notion的免费开源替代品 前言 AFFiNE 是一个全新的开源项目,旨在克服 Notion 和 Miro 在安全和隐私方面的一些局限性。它的设计目标是帮助用户将会议记录、待办事项、文档中的目标、视频会议白板上的头脑风暴以及客户访谈…

精选112个炫酷大数据可视化大屏模板(含源码),拿走即用

112套大数据可视化炫酷大屏Html5模板;包含行业:智慧社区、智慧物业、政务系统、智慧交通、智慧工程、智慧医疗、智慧金融银行、智慧农业等,全网最新、最多,最全、最酷、最炫大数据可视化模板。 可视化大屏预览及源码获取地址&…

影响气膜建筑坍塌的原因

气膜建筑以其轻盈、透光、环保等特性,逐渐在建筑领域崭露头角。然而,这种建筑形式并非没有缺陷,其安全性与稳定性直接影响到建筑物的使用寿命和人员安全。 一、结构设计不合理 气膜建筑的结构设计是影响其稳定性的关键因素。良好的结构设计能…

K8S篇之实现利用Prometheus监控pod的实时数据指标

一、监控部署 1、将k8s集群中kube-state-metrics指标进行收集,服务进行部署 1.1 pod性能指标(k8s集群组件自动集成) k8s组件本身提供组件自身运行的监控指标以及容器相关的监控指标。通过cAdvisor 是一个开源的分析容器资源使用率和性能特性的…
最新文章