mysql matlab for循环嵌套循环_怎样简化很多重for循环嵌套?

本帖最后由 豆花0817 于 2020-12-13 21:35 编辑

比如下面这样,有6个变量a1到a6总和为N=65,希望找到使求得的总成本TC最小时候,这6个变量取值为多少?

这里我采取最笨的遍历方法,但是要很久很久的时间,有什么方法可以加快计算速度,或者取代for循环?

新人请教,不吝赐教!!

s=4;

N=65;

for a1=1:N

a2=1:N-a1

a3=1:N-a1-a2

a4=1:N-a1-a2-a3

a5=1:N-a1-a2-a3-a4

a6=N-a1-a2-a3-a4-a5;

if a6>=1                                                                      % 每个变量至少为1

d1=max(a1-s,0);

t1 = d1 / s * unit;

TTC1 = t1 * alpha / unit;

SEC1 = max((60 - 0 - t1) * beta / unit,0);

SLC1 = max((0 + t1 - 60) * gama / unit,0);

TC1= TTC1 + SEC1 + SLC1;                                  %前面这些公式是计算TC的值

d2 = max(a2 + d1 - s,0);

t2 = d2 / s * un

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值