返回[ ∏C(m_i, n_i) ] × A(k, k), k = ∑(n_i)的所有结果(Matlab实现)

该博客介绍了一个使用Matlab实现的算法,用于在满足特定条件(集合大小、元素抽取数量等)的情况下,从多个非空且互不相交的集合中选择并排列元素。程序涉及组合和排列的计算,并对内存使用进行了讨论,适用于小规模问题。
摘要由CSDN通过智能技术生成

条件

  1. 给定有限个非空集合 A 1 ,   A 2 ,   ⋯   ,   A m { {A}_{1}},\text{ }{ {A}_{2}},\text{ }\cdots ,\text{ }{ {A}_{m}} A1, A2, , Am ∀ i ∈ { 1 , 2 , ⋯   , m } \forall i\in \left\{ 1,2,\cdots ,m \right\} i{ 1,2,,m} 0 < ∣ A i ∣ < ∞ 0<\left| { {A}_{i}} \right|<\infty 0<Ai<,且 ∀ i ≠ j ,   A i ⋂ A j = ∅ \forall i\ne j,\text{ }{ {A}_{i}}\bigcap { {A}_{j}}=\varnothing i=j, AiAj=
  2. 给定总需求元素个数 N N N N ∈ Z ≥ 1 N\in { {\mathbb{Z}}_{\ge 1}} NZ1 N ≤ ∑ ∣ A i ∣ N\le \sum\limits_{ {}}^{ {}}{\left| { {A}_{i}} \right|} NAi
  3. 给定从各个集合 A i { {A}_{i}} Ai中抽取元素的个数 n i { {n}_{i}} ni n i ∈ Z ≥ 0 { {n}_{i}}\in { {\mathbb{Z}}_{\ge 0}} niZ0 n i ≤ ∣ A i ∣ { {n}_{i}}\le \left| { {A}_{i}} \right| niAi ∑ n i ≤ N \sum\limits_{ {}}^{ {}}{ { {n}_{i}}}\le N niN i = 1 , 2 , ⋯   , m i=1,2,\cdots ,m i=1,2,,m

功能
  返回从集合 A 1 ,   A 2 , ⋯   ,   A m { {A}_{1}},\text{ }{ {A}_{2}},\cdots ,\text{ }{ {A}_{m}} A1, A2,, Am中挑选出 N N N个元素后进行全排列的所有结果。令抽取个数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此账号已停更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值