fortran基本函数
更新时间:2024-01-29 08:31:01 阅读量: 教育文库 文档下载
FORTRAN 90标准函数(一)
(2012-07-03 17:14:57) 转载fortran 函数 教育
▼
标签: 分类: 学习
符号约定:
? I代表整型;R代表实型;C代表复型;CH代表字符型;S代表字符串;L代表逻辑型;A代表数组;P代表指针;T代表派生类型;AT为任意类型。
? s:P表示s类型为P类型(任意kind值)。s:P(k)表示s类型为P类型(kind值=k)。 ? […]表示可选参数。 ? *表示常用函数。
表1 数值和类型转换函数 函数名 ABS(x)* AIMAG(x) AINT(x[,kind])* AMAX0(x1,x2,x3,…)* AMIN0(x1,x2,x3,…)* ANINT(x[,kind])* CEILING(x)* CMPLX(x[,y][,kind])) CONJG(x) DBLE(x)* DCMPLX(x[,y]) DFLOAT(x) DIM(x,y)* DPROD(x,y) FLOAT(x)* FLOOR(x)* IFIX(x)* IMAG(x) INT(x[,kind])* LOGICAL(x[,kind])* MAX(x1,x2,x3,…)* MAX1(x1,x2,x3,…)* MIN(x1,x2,x3,…)* 说明 求x的绝对值∣x∣。x:I、R, 结果类型同x; x:C, 结果:R 求x的实部。x:C, 结果:R 对x取整,并转换为实数(kind)。x:R, kind:I, 结果:R(kind) 求x1,x2,x3,…中最大值。xI:I, 结果:R 求x1,x2,x3,…中最小值。xI:I, 结果:R 对x四舍五入取整,并转换为实数(kind)。x:R, kind:I, 结果:R(kind) 求大于等于x的最小整数。x:R, 结果:I 将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,kind:I, 结果:C(kind) 求x的共轭复数。x:C, 结果:C 将x转换为双精度实数。x:I、R、C, 结果:R(8) 将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R, 结果:C(8) 将x转换为双精度实数。x:I, 结果:R(8) 求x-y和0中最大值, 即MAX(x-y,0)。x:I、R, y的类型同x,结果类型同x 求x和y的乘积,并转换为双精度实数。x:R, y:R, 结果:R(8) 将x转换为单精度实数。x:I, 结果:R 求小于等于x的最大整数。x:R, 结果:I 将x转换为整数(取整)。x:R, 结果:I 同AIMAG(x) 将x转换为整数(取整)。x:I、R、C, kind:I, 结果:I(kind) 按kind值转换新逻辑值。x:L, 结果:L(kind) 求x1,x2,x3,…中最大值。xI为任意类型, 结果类型同xI 求x1,x2,x3,…中最大值(取整)。xI:R, 结果:I 求x1,x2,x3,…中最小值。xI为任意类型, 结果类型同xI MIN1(x1,x2,x3,…)* MOD(x,y)* MODULO(x,y) NINT(x[,kind])* REAL(x[,kind])* SIGN(x,y)* SNGL(x) ZEXT(x) 求x1,x2,x3…中最小值(取整)。xI:R, 结果:I 求x/y的余数,值为x-INT(x/y)*y。x:I、R, y的类型同x, 结果类型同x 求x/y余数,值为x-FLOOR(x/y)*y。x:I、R, y的类型同x, 结果类型同x 将x转换为整数(四舍五入)。x:R, kind:I, 结果:I(kind) 将x转换为实数。x:I、R、C, kind:I, 结果:R(kind) 求x的绝对值乘以y的符号。x:I、R, y的类型同x, 结果类型同x 将双精度实数转换为单精度实数。x:R(8), 结果:R 用0向左侧扩展x。x:I、L, 结果:I
说明 表2 三角函数 函数名 ACOS(x)* ACOSD(x)* ASIN(x)* ASIND(x)* ATAN(x)* ATAND(x)* ATAN2(y,x) ATAN2D(y,x) COS(x)* COSD(x)* COSH(x) COTAN(x)* SIN(x)* SIND(x)* SINH(x) TAN(x)* TAND(x)* TANH(x) 求x的反余弦arccos(x)。x:R,结果类型同x,结果值域:0~π 求x的反余弦arccos(x)。x:R,结果类型同x,结果值域:0~180° 求x的反正弦arcsin(x)。x:R,结果类型同x,结果为弧度,值域:0~π 求x的反正弦arcsin(x)。x:R,结果类型同x,结果为度,值域:0~180° 求x的反正切arctg(x)。x:R,结果类型同x,结果为弧度,值域:-π/2~π/2 求x的反正切arctg(x)。x:R,结果类型同x,结果为度,值域:-90~90° 求x的反正切arctg(y/x)。y:R,x和结果类型同x,结果值域:-π~π 求x的反正切arctg(y/x)。y:R,x和结果类型同x,结果值域:-180~180° 求x的余弦cos(x)。x:R、C,x取值弧度,结果类型同x 求x的余弦cos(x)。x:R,x取值度,结果类型同x 求x的双曲余弦ch(x)。x:R,结果类型同x 求x的余切ctg(x)。x:R,x取值度,结果类型同x 求x的正弦sin(x)。x:R、C,x取值弧度,结果类型同x 求x的正弦sin(x)。x:R,x取值度,结果类型同x 求x的双曲正弦sh(x)。x:R,结果类型同x 求x的正切tg(x)。x:R,x取值弧度,结果类型同x 求x的正切tg(x)。x:R,x取值度,结果类型同x 求x的双曲正切th(x)。x:R,结果类型同x 注:三角函数名前有C、D的函数为复数、双精度型函数。
表3 指数、平方根和对数函数 函数名 ALOG(x) ALOG10(x) EXP(x)* LOG(x)* LOG10(x)* SQRT(x)* 说明 求x的自然对数ln(x)。x:R(4),结果:R(4) 求x以10为底一般对数log10(x)。x:R(4),结果:R(4) 求指数,即e。x:R、C,结果类型同x 求自然对数,即e。x:R、C,结果类型同x 求以10为底对数,即。x:R,结果类型同x 求x的平方根。x:R、C,结果类型同x xx注:指数函数名、平方根函数名、对数函数名前有C、D的函数为复数、双精度型函数。
表4 参数查询函数
函数名 ALLOCATED(a)* 说明 判定动态数组a是否分配内存。a:A,结果:L,分配:.TRUE.,未分配:.FALSE. ASSOCIATED(p[,t])* 判定指针p是否指向目标t。p:P,t:AT,结果:L,指向:.TRUE.,未指向:.FALSE. DIGITS(x) EPSILON(x)* HUGE(x)* ILEN(x) KIND(x)* MAXEXPONENT(x)* MINEXPONENT(x)* PRECISION(x)* PRESENT(x) RADIX(x) RANGE(x)* SIZEOF(x)* TINY(x)*
表5 实数检测和控制函数 函数名 EXPONENT(x)* FRACTION(x)* NEAREST(x,s) RRSPACING(x) SCALE(x,I)* SET_EXPONENT(x,i) SPACING(x)*
说明 求实数x机内编码表示的指数值。x:R,结果:I 求实数x机内编码表示的小数值。x:R,结果类型同x 根据s的正负号求最接近x的值。x:R,结果:R,且不为0 求x与系统最大数之间的差值。x:R,结果类型同x 求x乘以2。x:R,i:I,结果类型同x 求由x的机内编码小数值与指数i组成的实数。x:R,i:I,结果类型同x 求x与x最近值的差值绝对值。x:R,结果类型同x i查询x的机内编码数值部分二进制位数(除符号位和指数位)。x:I、R,结果:I 查询x类型可表示的最小正实数。x:R,结果类型同x。最小正实数:1.1920929E-07 查询x类型可表示的最大数。x:I、R,结果类型同x 查询x的反码值。x:I,结果类型同x 查询x的kind参数值。x:I、R、C、CH、L,结果:I 查询x的最大正指数值。x:R,结果:I(4) 查询x的最大负指数值。x:R,结果:I(4) 查询x类型有效数字位数。x:R、C,结果:I(4) 查询可选形参x是否有对应实参。x:AT,结果:L。有:.TRUE.,没有:.FALSE. 查询x类型的基数。x:I、R,结果:L 查询x类型的指数范围。x:I、R、C,结果:I(4) 查询x的存储分配字节数。x:AT,结果:I(4) 查询x的最小正值。x:R,结果类型同x
atan2函数的值域是多少?我从网上找到一个fortran函数的日志,说此值域是-π~π,但正常反正切函数的值域应该是-π/2~π/2。对atan2函数不够了解,所以不知道你的答案对不对,我个人认为不对。我是用正常的反正切函数atan(v/u)来算的: FORTRAN:
if (u>0..and.v>0.) dir=270-atan(v/u)*180/pi if (u<0..and.v>0.) dir=90-atan(v/u)*180/pi if (u<0..and.v<0.) dir=90-atan(v/u)*180/pi if (u>0..and.v<0.) dir=270-atan(v/u)*180/pi if (u==0..and.v>0.) dir=180 if (u==0..and.v<0.) dir=0 if (u>0..and.v==0.) dir=270 if (u<0..and.v==0.) dir=90 if (u==0..and.v==0.) dir=999
其中uv等于零的五种情况要单独挑出来,不然程序会有瑕疵。atan函数换成atand函数的话直接是度数,不用*180/pi
我四个象限和轴都试了,应该没错。
最需要注意的问题,一个是函数值域,另一个是uv矢量方向和风向是反着的,并且风向角度数是从正Y轴开始顺时针算,和三角函数里度数从正X轴开始逆时针算不一样。
正在阅读:
fortran基本函数01-29
北京市市政管委机关后勤服务中心05-30
秘书素质与职业道德培训05-20
第3章:应用文写作过程剖析07-21
六年级第一学期语文综合实践活动课教案04-05
2015一级注册消防工程师《消防安全案例分析》考试真题答案03-01
阅读理解--高考精品班理科综合寒假特训班辅导《英语》第一章第一节讲义105-16
兽医自考同学生物统计必备03-31
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 函数
- fortran
- 基本
- 项目监理工作手册(2016版)
- 历史文化遗产周边地块城市设计 - 图文
- 继保选择题
- 基坑支护施工方案(人工挖孔桩)
- 世界が终わるまでは(直到世界尽头)平假音 罗马音 中文歌词
- 基础化学实验教学大纲4
- 应用写作(汉语)2017电本
- 2014届人教版一轮题库语言表达和运用 第二章 高频考点二 Word版含答案
- 《爱弥儿》读后感
- 中学生课业负担的现状研究
- 三年级下册信息技术《看图片,输文字》教学设计
- 审判管理办公室的定位职责与工作方法
- 2011中医助理医师考试题及标准答案
- 新图形图像制作人才培养方案2010.3.22
- 星海湾壹号产品楼书0616版
- 中华人民共和国离退休人员工资发放办法
- 奖励年底员工分红协议
- 保险学(第三版)总复习(名词解释,简答题)
- 宁波市蔬菜零售商家名录2018版226家 - 图文
- 3000t选矿厂设计说明书