fortran - (1) 处固有的“log10”的“x”参数必须是实数
问题描述
log10
通过Fortran 中的函数运行迭代函数时遇到问题。
program start
integer t, dt, range, rangestart
real*8 k1, k2, k, lognmdott, nmdott, interval
dt = 10
t = 0
range = 0
rangestart = 0
interval = 0
open(unit=1, file='accretion.txt', status='unknown')
do i = 1, 200000
t=t+dt
range = t-rangestart
if (range .gt. 100 .and. range .le. 300) then
k1 = log10(1.) - log10(0.001)
k2 = log10(200.)
k = k1/k2
interval = interval + dt
lognmdott = -k*(log10(interval))
if (interval .eq. 200) then
interval = 0
endif
nmdott = 10**lognmdott
write(1,*) t, nmdott
endif
close(1)
end
我希望以log10(interval)
10 为步长获得 10 到 200 之间的值的输出。我实际上得到了错误
'x' argument of 'log10' intrinsic at (1) must be REAL
解决方案
推荐阅读
- reactjs - 打开我的应用程序一次后,它会自动更新并打开自己的应用程序
- r - 运行单变量生存分析时出错
- javascript - 获取选中复选框的所有值?
- azure - 在部署期间读取 Azure ServiceBus 命名空间连接字符串
- esp8266 - ESP8266 的自定义 Micropython 固件
- python - 如何使用条件将 A 列中的值替换为 B 列
- react-native - 视频通话期间的问题(opentok-react-native)
- python - Microsoft 是否提供任何 API 来访问启用宏的 Excel 文件
- python - 从 Django 中的两个视图发送回表单
- java - 如何使用 springdoc-openapi 使可选的 OpenAPI 参数为空?