主题:求助,高手们帮帮忙
cy211312
[专家分:0] 发布于 2010-07-26 23:41:00
我没学过Fortran语言,但我最后的毕业设计老师给我的code是Fortran的,我要看懂后转成MATLAB来编,多数我还是能看懂的,有2句实在是不明白,希望高手们帮帮忙,谢谢啦!
1. stop = .false.
里面出现了这么个语句,这个。加个FALSE再加。是什么意思啊?
2. center = floor(nrxx/2)*nryy + ceiling(nryy/2)
这里面的floor和ceiling是什么意思呢?
回复列表 (共8个回复)
沙发
yeg001 [专家分:14390] 发布于 2010-07-27 10:42:00
1 .false. 逻辑值"假"
2. floor 不大于x的最大整数. ceiling 不小于x的最小整数.
我觉得老师给你看code的意思还是让你简单学学的. 这年头毕业设计这么容易过的吗?
板凳
cy211312 [专家分:0] 发布于 2010-07-29 01:31:00
[quote]1 .false. 逻辑值"假"
2. floor 不大于x的最大整数. ceiling 不小于x的最小整数.
我觉得老师给你看code的意思还是让你简单学学的. 这年头毕业设计这么容易过的吗?[/quote]
谢谢啊,还有个问题,那个matmul在Fortran里是什么意思啊?
matmul(a,b)是指让2个矩阵相乘吗?
transpose(res)中的transpose是什么意思呢?谢啦
3 楼
yeg001 [专家分:14390] 发布于 2010-07-29 09:11:00
matmul 估计是 matrix multiply 矩阵相乘
transpose 就是转置
这些内部函数可以在彭书后面的附录里面查到, 就不要偷懒了.
4 楼
cy211312 [专家分:0] 发布于 2010-08-02 23:51:00
真是谢谢了啊,我在英国上学,找中文资料实在不方便,请问你说的彭书是什么啊?
最后一个问题:err = sum(err1, err1 /= 0) / count(err1 /= 0 )这句话里的'/=0'是什么意思啊?
5 楼
cy211312 [专家分:0] 发布于 2010-08-02 23:52:00
还有count是计数器吗?
如果x=[ 1 3 5
6 7 8]
sum(x,1)是等于[7 10 13],是这样用吗?
6 楼
yeg001 [专家分:14390] 发布于 2010-08-03 09:01:00
SUM
Transformational Intrinsic Function (Generic): Returns the sum of all the elements in an entire array or in a specified dimension of an array.
Syntax
result = SUM (array [, dim] [, mask])
array
(Input) Must be an array of type integer, real, or complex.
dim
(Optional; input) Must be a scalar integer with a value in the range 1 to n, where n is the rank of array.
mask
(Optional; input) Must be of type logical and conformable with array.
/= 就是逻辑判断的"不等于", sum函数里面对不等于0的进行求和.(有必要吗?比较一个零的操作跟加一个零的操作节省多少...). 你理解的sum是对的. 不过为了看起来一幕了然, 最好调用的时候带关键词sum(x, DIM=1).
COUNT
Transformational Intrinsic Function (Generic): Counts the number of true elements in an entire array or in a specified dimension of an array.
Syntax
result = COUNT (mask [, dim] [, kind])
mask
(Input) Must be a logical array.
dim
(Optional; input) Must be a scalar integer expression with a value in the range 1 to n, where n is the rank of mask.
kind
(Optional; input) Must be a scalar integer initialization expression.
count(err1 /= 0 ) 就是数组err1里面不等于0的个数
彭书是只彭国伦的<Fortran 95 程序设计>, 既然你在英国也就只能看电子版了, 函数在后面的附录.
还有一个查找途径是fortran编译器的帮助索引里面.
你英文好可以考虑看英文参考资料. 标准是外国人写的, 所以它们对fortran的性质了解得更深入.可以参考帖子: http://bbs.pfan.cn/post-300812.html
7 楼
cy211312 [专家分:0] 发布于 2010-08-03 18:45:00
真是太感谢了,谢谢哈~!~!~!
8 楼
aliouying [专家分:1150] 发布于 2010-08-03 23:08:00
扫盲贴啊~~~
我来回复