查看: 106|回复: 3|关注: 0
打印 上一主题 下一主题

甘肃十一选五开奖结果: [已答复] 如何计算积分变量带判断语句的三重积分?

[复制链接]

新手

9 麦片

财富积分


陕西十一选五计划 www.3vdvp.cn 050


4

主题

10

帖子

0

最佳答案
跳转到指定楼层
1#
发表于 6 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何计算积分变量带判断语句的三重积分?我的程序如下:
  1. function triple_integra
  2. Y=integral3(@(x,y,z)arrayfun(@(x,y,z)fun(x,y,z),x,y,z),0,1, 0,5, 0,5)
  3. function f=fun(x,y,z)
  4. if x<=0.5
  5.     b=0.5;
  6.     if y>=(0.9.*z)
  7.     p=2;
  8.     else
  9.     p=0;
  10.     end
  11.    
  12. else
  13.     b=1;
  14.     if y>=(0.9.*z)
  15.     p=2;
  16.     else
  17.     p=0;
  18.     end
  19. end
  20. f=(b.*x.^2+y.^2+z).*p;
复制代码

但是总是报错,或者计算不出结果

论坛优秀回答者

权威

3183 麦片

财富积分



2

主题

3478

帖子

714

最佳答案
  • 关注者: 148
2#
发表于 6 天前 | 只看该作者
本帖最后由 maple1314168 于 2019-3-13 20:10 编辑

有参考的结果没有。
你的y>=0.9z,写错了?
p=0,p=2,积分函数也写错?
可以试试分段函数。y与0.9z的比较,这个只能当作积分的上下限。



新手

9 麦片

财富积分


050


4

主题

10

帖子

0

最佳答案
3#
 楼主| 发表于 6 天前 | 只看该作者
maple1314168 发表于 2019-3-13 20:08
有参考的结果没有。
你的y>=0.9z,写错了?
p=0,p=2,积分函数也写错?

非常感谢您的回复,积分函数没有写错,我的困难主要就在于积分变量y与z之间需要进行比较,我尝试将z离散成多个子区间 即在二重积分的基础上加一个for循环 就可以得出结果,但是计算非常耗时,
  1. function triple_integra
  2. clear all;
  3. clc

  4. global i z
  5. n=100
  6. z=linspace(0,5,n);
  7. z_n=(5-0)/n;
  8. Y1=0;
  9. for i=1:length(z)
  10.   
  11. Y=quadgk(@(x)arrayfun(@(x)quadgk(@(y)arrayfun(@(y)fun(x,y),y),0,5),x),0,1);
  12. Y=Y1+Y.*z_n
  13. end
  14. Y
  15. % Y=integral3(@(x,z,y)arrayfun(@(x,y,z)fun(x,y,z),x,y,z),0,1, 0,5, 0,5)
  16. % Y=quadgk(@(x)arrayfun(@(x)quadgk(@(z)arrayfun(@(z)quadgk(@(y)arrayfun(@(y)fun(x,y,z),y),0,5),z),0,5),x),0,1)


  17. function f=fun(x,y)
  18. global i z
  19. if x<=0.5
  20.     b=0.5;
  21.     if y>=(0.9.*z(i))
  22.     p=2;
  23.     else
  24.     p=0;
  25.     end
  26.     p;
  27. else
  28.     b=1;
  29.     if y>=(0.9.*z(i))
  30.     p=2;
  31.     else
  32.     p=0;
  33.     end
  34.     p;
  35. end
  36. f=(b.*x.^2+y.^2+z(i)).*p;
复制代码

论坛优秀回答者

权威

3183 麦片

财富积分



2

主题

3478

帖子

714

最佳答案
  • 关注者: 148
4#
发表于 6 天前 | 只看该作者
唐尚宇 发表于 2019-3-13 20:34
非常感谢您的回复,积分函数没有写错,我的困难主要就在于积分变量y与z之间需要进行比较,我尝试将z离散 ...

y与0.9z的比较,这个只能当作积分的上下限。
[email protected](x,z,y)(x.^2+z.^2+y)*2.*(x>=0.5&x<=1)+(0.5*x.^2+z.^2+y)*2.*(x>=0&x<=0.5);%p=0,可以不考虑
integral3(fun,0,1,0,5,@(x,z)0.9*z,5)
ans = 235.2604
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

快速回复 陕西十一选五计划 返回列表
  • 重庆公安局交通管理信息网 2019-03-18
  • “黄金单身汉”英国哈里王子宣布订婚 2019-03-18
  • 图集:2018"一带一路"与澳门发展国际研讨会开幕 2019-03-18
  • “大功三连”指导员王金龙责无旁贷学习先行走在前列 2019-03-18
  • 这就是为什么金融危机发源地的美国,欧债危机重灾区的欧洲各国股市连续7年走牛,屡创历史新高,唯经济最好的中国股市却连续7年熊冠全球的根本原因, 2019-03-17
  • 艺术推手必备基本素养 2019-03-17
  • 【理上网来辉煌十九大】美国学者关注十九大报告:中国将形成新的共识继续推进改革 2019-03-17
  • 居民人均预期寿命又提高了 2019-03-17
  • 一种酵母菌会“投硬币”随机决定基因表达 2019-03-16
  • 乌鲁木齐确定今年实施“十大民生实事” 2019-03-16
  • 男子工作20年买不起房割腕自杀 称压力大扛不住[图] 2019-03-16
  • 第六届北京农业嘉年华--北京频道--人民网 2019-03-15
  • 记者带你逛CES:体验未来科技 2019-03-15
  • 虾仁怎么炒最下饭?答案是宫保-美食资讯 2019-03-14
  • 人人都能享用绿豆汤吗 关于绿豆汤的禁忌你得知道 2019-03-14
  • 233| 763| 984| 233| 734| 648| 638| 606| 97| 431|