Fortran Coder

查看: 6021|回复: 8
打印 上一主题 下一主题

[微积分] 积分方法中传递变量的问题

[复制链接]

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
楼主
发表于 2018-11-25 11:08:36 | 显示全部楼层
li913 发表于 2018-11-15 13:48
fortran 不能做 带参数的积分,只能是数值积分。也就是积分结果是一个数,而不是一个含有变量的函数。 ...

Fortran确实不可能做参数运算,但是积分结果是一个函数确是没有问题的
无非是对于结果函数来说,每次求值时都要算一次积分而已
楼主那个问题不好搞的问题不在此,而在于积分区间无限,
这个是Fortran无法直接处理的,需要找其他办法

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
沙发
发表于 2018-12-7 09:38:13 | 显示全部楼层
hcj 发表于 2018-12-5 09:07
如果积分上下限改为有限值,这个嵌套的积分该用什么积分方法呢?

这有何难呢,比如本来你对某一个函数写个积分的子程序是integrf(ans,a,b)表示f在a,b上的积分
现在你的f不止有积分变量x了,还有参数c1,c2,c3……cn
那改写这个积分子程序,写成integrf_paras(ans,a,b,c1,c2,c3……cn)也不会有任何难处
这样的话积分结果参量ans就和输入参数c1,c2,c3……cn都有关系了,相当于一个关于这些参数的函数
只是你每次要求这个函数值都需要调用一次这个积分子程序
那么你再想继续把某个参量作为积分变量,只需要再继续下一层的积分子程序就行了
在下一层的积分子程序里,当想要求函数值的时候,就调用integrf_paras子程序进行计算呗
当然我这里只是写的最简单的形式,实际上完全可以把被积函数作为参量
不过也无所谓,反正对于特定的某个积分来说,能用也差不多,除非想做通用积分程序才需要那样
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-11 16:19

Powered by Tencent X3.4

© 2013-2024 Tencent

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