fortran - 如何在 Fortran 的代码中直接用“许多数字”设置向量的值?
问题描述
a
这个问题可能看起来很尴尬,因为我们可以从外部文件而不是代码中读取向量的值(例如,下面)。下面是我尝试过的,但我想 Fortran 不能在一行中包含这么多字符。另外,恐怕该行不能“无休止地”分成几行。
Program main
implicit none
REAL(8),dimension(1500)::a = (/, , , , ... ,/)
End program
该变量a
有 1500 个元素,我希望这些值直接包含在代码中。所以我不使用read()
命令。我们是否需要手动将这条长线分成几行?
解决方案
作为替代方案,您可以编写许多短行来写入数组的一小部分。
例子:
program main
implicit none
integer, parameter :: rk = selected_real_kind(15)
real(kind=rk),dimension(30)::a
a(1:3) = [0.25733572697493723_rk, 0.03225738644740617_rk, 0.5414564639489547_rk]
a(4:6) = [0.19327589136191725_rk, 0.49311615953762833_rk, 0.6433831692863491_rk]
a(7:9) = [0.6859277892633444_rk, 0.641803334817996_rk, 0.2699446411426851_rk]
a(10:12) = [0.3734332997800017_rk, 0.6383656815065594_rk, 0.6497673624736408_rk]
a(13:15) = [0.698560401584833_rk, 0.8550812707577452_rk, 0.2429165361432739_rk]
a(16:18) = [0.8083661742072051_rk, 0.21096311180256644_rk, 0.4482114317600794_rk]
a(19:21) = [0.4254204225869541_rk, 0.30299480014092506_rk, 0.18464410073699633_rk]
a(22:24) = [0.2020883904853492_rk, 0.793469769164798_rk, 0.010725578232863464_rk]
a(25:27) = [0.597774960426935_rk, 0.23743374381177218_rk, 0.6515133874064444_rk]
a(28:30) = [0.9372245495970037_rk, 0.22530033395862548_rk, 0.9991480087266069_rk]
end program
该示例故意更短。
推荐阅读
- python - python在检查文件夹时如何跳过符号链接
- windows - 如何获取与 PNPDeviceID ("SWD\MyEnumerator\MyInstance") 对应的 DeviceName ("\\.\DISPLAY1")?
- react-native - 反应原生平面列表如何强制列表项具有相同的高度?
- reactjs - 如何设置具有多个选项的 Material UI Select 组件的 size 属性?
- javascript - Firebase 实时数据库中的云函数
- java - java - 如何使用JavaFX中屏幕的关闭(X)图标关闭用户定义的线程?
- encryption - 将 20 个字符的字符串编码为 8 个字符,并将其解码回来
- mongodb - MongoDB:仅在以前不存在于不同条件下的文档时才返回
- tsql - Rank 语句导致查询运行非常缓慢
- python - 有没有办法使用硒与网页中打开的外部应用程序警报进行交互?