fortran - fortran77中MAX(a1, a2, a3)的输出为0
问题描述
我尝试针对迭代输出 3 个残差 ( RESU
, RESV
, RESM
) 及其最大残差 ( MAXRES=MAX(RESU, RESV, RESM)
),但所有最大值均为零。这是我的输出数据文件的一部分:
TITLE = "Residuals (UDS) for Re= 100.000000 "
VARIABLES = "IT", "RESU", "RESV", "RESM", "MAXRES"
ZONE F=POINT, I= 1 , J= 5000
1 0.00000000 0.00000000 0.00000000 0
2 1.67488301 5.27476184E-02 0.374938786 1
3 0.985122621 0.343204975 0.322845399 0
4 0.757116914 0.445723385 0.239837810 0
5 0.615567148 0.445041806 0.234413743 0
6 0.528972685 0.421907485 0.229439482 0
7 0.474238336 0.426455706 0.225041553 0
8 0.442271680 0.426399827 0.220125377 0
9 0.422069281 0.420389742 0.214744285 0
10 0.405965954 0.410645813 0.214734986 0
11 0.400569707 0.401357681 0.216470540 0
12 0.395709157 0.398527116 0.217513978 0
13 0.389140487 0.395864725 0.217501149 0
我这部分的代码是:
open(50,file='residual.dat')
WRITE(50,*)'TITLE = "Residuals (UDS) for Re=',Re,'"'
WRITE(50,*)'VARIABLES = "IT", "RESU", "RESV", "RESM", "MAXRES"'
c
IMAX=1
JMAX=MAXIT
C
WRITE(50,*)'ZONE F=POINT, I=',IMAX, ', J=',JMAX
DO I=1,MAXIT
MAXRES=MAX(RESU(I),RESV(I),RESM(I))
WRITE(50,*)I,RESU(I),RESV(I),RESM(I),MAXRES
END DO
close(50)
我尝试识别 MAX 函数的每个自变量的变量类型,例如MAXRES=MAX(real(RESU(I)),real(RESV(I)),real(RESM(I)))
,但输出仍然为零。我在 fortran77 中使用 MAX FUNCTION 时做错了吗?如果有人能给我一些建议,我将不胜感激!谢谢!
解决方案
推荐阅读
- c# - docker 容器内的 Console.ReadLine
- javascript - REGEX 格式不允许两个数值并排
- firebase - 通知推送消息到前台 PWA 的 Firebase 消息 FCM 链接选项不起作用
- python - 如何命名熊猫 CSV 输出中的列?
- python - 在python中从内存中完全擦除对象
- google-apps-script - Apps Script Bot 上的 404 截断服务器响应
- r - 创建比旧数据框更大的新数据框
- jquery - 从 jquery ajax 调用 API 控制器 ASP.net Core 时出现错误的请求错误
- reactjs - React - 条件渲染不清除输入值
- javascript - 提交和取消按钮不起作用,并且弹出窗口会导致可折叠面板关闭。我们如何解决这个问题?