[英]How to define periodic function in Fortran?
如何在 Fortran 中定义一个周期性的 function?
例如, f(x) = exp(-x**2)
,对于–10 < x < 10 ,周期为20 。
使用MODULO
应该没问题
f = exp(-(MODULO(x-10,20.)-10.)**2)
x-10
用于将重复间隔移动到 -10,10。 否则, MODULO(x, 20.)
将在间隔 0,20 上是周期性的。 因为MODULO
返回值 [0,20),最后的 -10 将其转换为 [-10,10)
我假设 x 是real
。 如果它有不同的种类甚至不同的类型, MODULO
的另一个参数必须根据需要是相同的类型( 20._wp, 20.d0, 20,...)
。 决赛-10.
可能还需要调整到更高的种类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.