Fortran Coder

标题: fortran 如何完成带未知参量的计算和输出 [打印本页]

作者: sqs    时间: 2022-3-27 16:29
标题: fortran 如何完成带未知参量的计算和输出
1. 我在程序当中,最后需要进行一些比如带未知参量(自变量的计算),最后输出带该参量的结果,比如[latex]P^{a}\left(\omega_{2}\right)=\frac{r^{a} f}{\hbar \omega_{2}-\hbar \omega_{\boldsymbol{k}}}[/latex],比如在这个式子当中,f,omega_k是之前程序已经计算出的实数,而h_bar是常数,那么我应该输入设定变量ω,编写程序,使得在输出时,输出结果是一个带ω的分数呢?(因为ω在分母,这个地方也除不进去吧)2. 为了应对上面的问题,我又写了个简单的程序
[Fortran] 纯文本查看 复制代码
program f
        implicit none
        integer :: a,b
        b = 3*a
        print *, b
        end program f
这个地方为什么输出的不是3a,而是输出了1497605184这样的一个实数。同样在前面的那个分式计算过程中,最后也没有输出含参的表达式,而是输出了实数,这是为什么呢。
3. 另外我想问问,对于个二维的6乘6数组,我想将其中的所有元素累加求和,请问这个历遍应该如何历遍,代码回事什么样呢

作者: 风平老涡    时间: 2022-3-27 23:27
1. Fortran是用来做数值计算的,一般只输出数值,不会输出表达式。如果需要一个随自变量变化的函数,需另编一个该函数的程序段,比如用function或subroutine子程序,参看教科书。
2. 对于二维数组所有元素累加求和, 简单的用sum内置函数。

作者: sqs    时间: 2022-3-31 19:32
风平老涡 发表于 2022-3-27 23:27
1. Fortran是用来做数值计算的,一般只输出数值,不会输出表达式。如果需要一个随自变量变化的函数,需另编 ...

多谢,不过对于sum的用法这一块,如果我存在一个二维数组,可以使用sum只对每一列进行求和吗?这样是需要构造循环吗?
作者: 风平老涡    时间: 2022-3-31 20:15
sqs 发表于 2022-3-31 19:32
多谢,不过对于sum的用法这一块,如果我存在一个二维数组,可以使用sum只对每一列进行求和吗?这样是需要 ...

sum可以对指定行或列进行计算。sum(a,1)是对二维数组a的每一列计算, sum(a,2)是对每一行计算。
作者: sqs    时间: 2022-4-3 00:56
风平老涡 发表于 2022-3-31 20:15
sum可以对指定行或列进行计算。sum(a,1)是对二维数组a的每一列计算, sum(a,2)是对每一行计算。 ...

好的,感谢!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2