查看: 4314|回复: 2|关注: 0

[未答复] Matlab二重积分求解,第二重为两个积分表达式相乘

[复制链接]

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
发表于 2017-1-7 11:14:51 | 显示全部楼层 |阅读模式
本帖最后由 likaiqin 于 2017-1-7 11:16 编辑

我是一个刚接触Matlab不就的小菜鸟,想要用Matlab解一个二重积分(表达式见附件)。因为最后是一个优化问题,优化过程中需要通过变换该表达式中的参数,重复计算该表达式的值,所以运算速度很重要。自己写了一小段码,算了好久.......,好久....,还不知道对不对。求助各位大神!
这个积分其实很清楚,是三个框架一样的函数组成,知识里面的参数和积分限在变化,其实重复计算的地方还是很多的,希望学习各位大神的高效代码。
好代码本身就是好文档,希望能有大神帮我!!!
自己写的代码如下:

  1. D=1000;  N=4; tau=60; cI=10; cE=3;
  2. L=[30,40,50,60];
  3. epsilon=[0.2,0.15,0.1,0.05];
  4. cWarm=[3.00,2.00,3.10,2.30];
  5. cOperate=[42,28,25,15];
  6. cReplace=[135,100,115,80];
  7. g=[25,16,21,14];
  8. alpha_WS=[0.1,0.15,0.2,0.25];
  9. beta_WS=[0.1,0.15,0.2,0.25];
  10. alpha_Operate=[0.2,0.3,0.4,0.5];
  11. beta_Operate=[0.2,0.3,0.4,0.5];

  12. % 需变化的量
  13. W=[25,30,35,50];
  14. b=10;
  15. delta=0.1;


  16. %需提前计算的量
  17. kmax=N-1+floor(D/(b*min(g)));
  18. m=kmax/delta;
  19. G=(m*delta/D).*g;


  20. FailureDiscardInOperate=zeros(kmax+1,ceil(b/delta),N,kmax+1);

  21. tic
  22. for j=2:N-1
  23.     for k=2:kmax+1
  24.         for l=1:kmax-k
  25.             for h=1:ceil(b/delta)
  26.                 fn_1=@(y)((beta_Operate(j)/quadgk(@(y)(y.^(alpha_Operate(j)*h-1)).*exp(-y),0,inf)).*(beta_Operate(j).*y).^(alpha_Operate(j)*h-1)).*exp(-beta_Operate(j).*y);
  27.                 fn_2=@(s)(((beta_WS(j)/quadgk(@(x1)(x1.^(alpha_WS(j)*k*b-1)).*exp(-x1),0,inf)).*(beta_WS(j).*s).^(alpha_WS(j)*k*b-1)).*exp(-beta_WS(j).*s)).*...
  28.                     (((beta_Operate(j)/quadgk(@(x2)(x2.^(alpha_Operate(j)*(l-1)*b-1)).*exp(-x2),0,inf)).*(beta_Operate(j).*(u-s)).^(alpha_Operate(j)*(l-1)*b-1)).*exp(-beta_Operate(j).*(u-s)));
  29.                 FailureDiscardInOperate(l,h,j,k)=quadl(@(u)(arrayfun(@(u)quadgk(fn_1,L(j)-u,inf),u)).*arrayfun(@(u)quadgk(fn_2,0,u),u),0,W(j));
  30.             end
  31.         end
  32.     end
  33. end
  34. toc
复制代码



想要求解的表达式

想要求解的表达式
回复主题 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2017-1-7 11:21:59 | 显示全部楼层
公式图像不清楚,重新粘一个
equation.gif
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2017-1-7 18:29:58 | 显示全部楼层
这个应该比较清楚了,alpha_WS是(1),alpha_Operate是(2),以此类推

目标公式

目标公式
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表