看板Programming
标 题Re: [问题] SUM的指令要怎麽用
发信站=?big5?B?SElTRFQgrbes6qzsp97F58PSprOtraS9pX (Sat Nov 3 17:27:46 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!feeder.seed.net.tw!netnews!
内建指令要怎样用,建议你多看看编译器附的线上手册。
Intel Visual Fortran 线上手册:
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
(Input; optional) Must be a scalar integer with a value in the range 1 to n, where n is the rank of array.
mask
(Input; optional) Must be of type logical and conformable with array.
Results:
The result is an array or a scalar of the same data type as array.
The result is a scalar if dim is omitted or array has rank one.
The following rules apply if dim is omitted:
If SUM(array) is specified, the result is the sum of all elements of array. If array has size zero, the result is zero.
If SUM(array, MASK=mask) is specified, the result is the sum of all elements of array corresponding to true elements of mask. If array has size zero, or every element of mask has the value .FALSE., the result is zero.
The following rules apply if dim is specified:
If array has rank one, the value is the same as SUM(array [,MASK=mask]).
An array result has a rank that is one less than array, and shape (d1, d2, ..., ddim-1, ddim+1, ..., dn), where (d1, d2, ..., dn) is the shape of array.
The value of element (s1, s2, ..., sdim-1, sdim+1, ..., sn) of SUM(array, dim [,mask]) is equal to SUM(array (s1, s2, ..., sdim-1, :, sdim+1, ..., sn) [,MASK = mask (s1, s2, ..., sdim-1, :, sdim+1, ..., sn)].
See Also: PRODUCT
Examples
SUM ((/2, 3, 4/)) returns the value 9 (sum of 2 + 3 + 4). SUM ((/2, 3, 4/), DIM=1) returns the same result.
SUM (B, MASK=B .LT. 0.0) returns the arithmetic sum of the negative elements of B.
C is the array
[ 1 2 3 ]
[ 4 5 6 ].
SUM (C, DIM=1) returns the value (5, 7, 9), which is the sum of all elements in each column. 5 is the sum of 1 + 4 in column 1. 7 is the sum of 2 + 5 in column 2, and so forth.
SUM (C, DIM=2) returns the value (6, 15), which is the sum of all elements in each row. 6 is the sum of 1 + 2 + 3 in row 1. 15 is the sum of 4 + 5 + 6 in row 2.
The following shows another example:
INTEGER array (2, 3), i, j(3)
array = RESHAPE((/1, 2, 3, 4, 5, 6/), (/2, 3/))
! array is 1 3 5
! 2 4 6
i = SUM((/ 1, 2, 3 /)) ! returns 6
j = SUM(array, DIM = 1) ! returns [3 7 11]
WRITE(*,*) i, j
END
==> 本文由 "谁是接班人 <[email protected]>"
> 於 news:4WiGFZ%2490G%40ptt.cc 发表
> 请问一下FORTRAN的sum指令要怎麽用
> DO J=1 , M
> if( SUM ( AMAX2(J , itemp) ) >= SUM ( SaD(J) ) then
> exit
> end if
> END DO
> 如果我想把AMAX2(J , itemp)的总和加起来
> 为什麽不能写sum(AMAX2(J , itemp) )
> 那要怎麽改比较好 感谢
>
--
风禹科技验证有限公司 ASP.NET Web News Reader 0.2.7 UTF-8 Beta
网站地图
http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/区域水资源/徐昇网/玫瑰图/语音通讯 文章与程式
Basic/Fortran/Windows API/.Net/辅助说明档 原始码、文章与讨论
微软程式设计、系统管理使用新技术论坛讨论区,网友回覆後即时简讯、电子邮件通知:
MSDN:
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
TechNet:
http://forums.microsoft.com/technet-cht/default.aspx?siteid=23
--
ASPNET News Reader
http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0
http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
1F:推 kidd007008:感谢大大220.141.152.211 11/08 23:01