matlab 拆成整数_科学网—关于整数拆分的几个Matlab函数 - 黄川的博文

本文介绍了几个MATLAB函数,用于拆分数字为整数的组合。包括p_l函数,用于求解在特定范围内的拆分组合;递归形式的拆分数函数di_Euler,以及psnab函数,用于在指定区间[a, b]内拆分数字的组合。文章还讨论了这些函数的局限性和可能存在的错误,并邀请读者分享更好的实现方法。" 107326546,9839547,Python实现Web服务器:处理静态资源,"['Python', 'Web开发', '服务器']
摘要由CSDN通过智能技术生成

MATLAB代码”中给出了一种列出所有拆分数组的算法。后来在解决一个统计问题时编写了些接口程序,例如:对数字45拆分,而数组中元素为整数,取值4到13之间等。下面的这几个就是关于类似问题的接口程序。

1.已知数字A,求其由xi∈[a,b],i=1..dim的拆分组合。

functionH=p_l(dim_m,sum_m,Max,Min)%Max=b;Min=a;sum_m=A;dim_m=dim

ifMin*dim_m>sum_m||Max*dim_m

H=[];

else

p=Max-Min;

n=sum_m-dim_m*Min;

s={[0,1]};

fori=2:n%when n>1

k=size(s,2);

w={};

forj=1:k

if(s{j}(end)

w{end+1}=s{j};

w{end}(end)=w{end}(end)+1;

end

ifsize(s{j},2)

w{end+1}=s{j};

w{end}(end+1)=1;

end

end

if(i<=p)

w{end+1}=[0,i];

end

s=w;

end

ifdim_m*Min==sum_m%(1)

s={[0]};

end

H=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值