function - 如何在没有数组的Fortran中解决具有不同步骤的x和y的范围(0,2)之间的函数?
问题描述
基本上,我需要求解一个函数,x^2 * y^3
举个例子,但在 的范围内使用x
和值,对于值和值有不同的步骤。例如,如果 和 的步长均为 1 ,我将只求解 的函数。y
(0,2)
x
y
x
y
(0,0),(0,2),(2,0), and (2,2)
我不确定如何在不使用数组的情况下在 Fortran 中完成此操作。我正在考虑使用“DO”,然后求解所有初始"y"
值的函数,同时使用正确的步数,"x,"
但我不确定如何在重置"y"
值的情况下获得第二个值,"x"
以便"y"
可以计算与所有的x
价值观。
谢谢!
解决方案
这是一个简单的解决方案,基于do concurrent
现代 Fortran (>2008) 中的构造,它保证与 Fortran 中的传统 do-loop 相同或更有效:
program hello
integer :: x,y
real :: stepSizeX = 0.1, stepSizeY = 0.2
do concurrent(x=0:2:1,y=0:2:1)
write(*,*) (stepSizeX*x)**2 * (stepSizey*y)**3
end do
end program Hello
您可以在此处对其进行测试(将编译器的 Fortran 标准设置为 -std=f2008 或 -std=gnu)。
推荐阅读
- typescript - 当我们将鼠标悬停在角度项目中的标题行上时,如何在过滤器图标旁边的 jqxgrid 中添加图标或按钮
- google-cloud-platform - 私有 GKE 和 Cloud SQL 之间的连接
- css - 了解 scss 和缩小文件在 VS2017 中的工作原理
- c# - 在 foreach 循环中未修改值
- android - Android背景填充一半屏幕
- macos - 如何将我的安装程序版本从 packagesbuild 转换为 productbuild?
- c++ - 常量 X 不是类型名称,这里 x 是 KING
- oracle - 如何在 ADF 中单击按钮时更改表格的属性值
- winapi - C# 挂钩以获取原始鼠标/键事件
- dart - 如何在颤动中使用网格布局制作这种类型的布局