繁体   English   中英

如何在 Fortran 中定义周期性的 function?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM