fortran帮助.docx

上传人:b****4 文档编号:6659404 上传时间:2023-05-10 格式:DOCX 页数:22 大小:28.74KB
下载 相关 举报
fortran帮助.docx_第1页
第1页 / 共22页
fortran帮助.docx_第2页
第2页 / 共22页
fortran帮助.docx_第3页
第3页 / 共22页
fortran帮助.docx_第4页
第4页 / 共22页
fortran帮助.docx_第5页
第5页 / 共22页
fortran帮助.docx_第6页
第6页 / 共22页
fortran帮助.docx_第7页
第7页 / 共22页
fortran帮助.docx_第8页
第8页 / 共22页
fortran帮助.docx_第9页
第9页 / 共22页
fortran帮助.docx_第10页
第10页 / 共22页
fortran帮助.docx_第11页
第11页 / 共22页
fortran帮助.docx_第12页
第12页 / 共22页
fortran帮助.docx_第13页
第13页 / 共22页
fortran帮助.docx_第14页
第14页 / 共22页
fortran帮助.docx_第15页
第15页 / 共22页
fortran帮助.docx_第16页
第16页 / 共22页
fortran帮助.docx_第17页
第17页 / 共22页
fortran帮助.docx_第18页
第18页 / 共22页
fortran帮助.docx_第19页
第19页 / 共22页
fortran帮助.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

fortran帮助.docx

《fortran帮助.docx》由会员分享,可在线阅读,更多相关《fortran帮助.docx(22页珍藏版)》请在冰点文库上搜索。

fortran帮助.docx

fortran帮助

1implicitnone:

就是强制,标识符先定义后使用fortran里面有一项不好的功能,就是变量不经定义就可以使用,而且根据变量的开始字母自行给变量规定类型,加上implicitnone后可以防止这个东西。

2parameter:

定义常量。

3Data语句意思是为后面的变量做初始化这样的赋值发生在所有代码执行以前。

只赋值一次。

4Dataa/2,3,1,1/:

对a定义一个数组。

5callGRKT1(Y,W,F,D):

GRKT1(Y,W,F,D)是个子程序,Y,W,F,D分别为子程序的参数,call为调用它。

6FORMAT:

一般形式:

Iw或:

Iw.m其中:

w一个数据占的位数宽度(又称“字段宽度”),m需要输出的最少数字位数。

 例如:

WRITE(*,100)I,J,K 100   FORMAT(1X,I5.3,I6.3,I4)若I=1234,J=-24,K=24689则输出为:

?

1234?

?

?

-24**** 

7write(UNIT=eunit,FMT=format):

eunit为输出设备编号,format为输出格式控制符,具体符号请查阅手册。

Write(*,*):

第一个星号表示默认输出设备,即显示器

第二个星号表示默认输出格式

8FORTRAN中大于等于用(.ge.)表示,例如X>=Y可以表示为(X.GE.Y)不等于:

/=和.ne.都是可以的GE是大于等于号(>=),GT是大于号(>),LE是小于等于号(<=),LT是小于号(<)在用fortran编程的时候如果要写到A

9求绝对值的内部函数是abs,求数组最大值的内部函数是maxval,最小值minval,他们都支持数组运算,所以程序编起来相当简单。

10

Fortran 95 摘要

 (2011-02-1510:

07:

51)

标签:

 

fortran

 

杂谈

分类:

 好好学习

字符:

Fortran不区分大小写

 

Fortran格式:

自由格式和固定格式。

Fortran程序代码扩展名为:

*.For或*.F的文件就是指固定格式;以*.F90为扩展名的文件,就是自由格式。

固定格式:

规定了程序代码每一行中每个字段的意义。

第7~72个字符,是可以用来编写程序的字段。

每一行的前5个字符只能是空格或数字,数字用来作为“行代码”。

每一行的第6个字符只能是空格或“0”以外的字符。

第1个字符如果是C、c或者星号*,这行文本会被当成说明批注,不会被编译

第1~5个字符如果是数字,就是用来给这一行程序代码取个代号。

不然只能是空格

第6个字符如果是“0”以外的任何字符,表示这一行程序会接续上一行

第7~72个字符Fortran程序代码的编写区域

第73个字符之后不使用,超过的部分会被忽略,有的编译器会发出错误信息

 

自由格式:

叹号(!

)后面的文本都是注释。

每行可以编写132个字符。

行号放在每行程序的最前面。

一行程序代码的最后如果是符号&,代表下一行程序会和这一行连接;如果一行程序代码的开头是符号&,代表它会和上一行程序连接。

 

Fortran的数据类型

整型(Integer) 浮点数(Real)  复数(Complex)  字符(Character)

逻辑判断(Logical)—TrueorFalse

Remark:

VisualFortran安装好后,默认的安装目录C:

\ProgramFiles\MicrosoftVisualStudio\DV98\bin下有一个Bitviewer程序可以用来表看各种数据格式实际在内存中的二进制数据。

Fortran的数学表达式

()(括号)、**(乘幂)、*(乘法)or/(除法)、+(加法)or–(减法)优先级(高à低).

 

输入(Write)输出(Print)命令

Fortran程序通常以Program描述来开头,Program后面还要接一个自定义的程序名称(这个名称可以完全自定义,不需要和文件名有任何关系)。

Fortran程序最后还要有End描述,表示程序代码写到这一行结束。

Write(*,*)命令:

括号中的两个星号都有各自的意义,第一个星号代表输出的位置使用默认值,也就是屏幕,第二个星号则代表不特别设置输出格式。

终归一句话,Write这个命令的最简单用法,就是在括号中挂上两个星号,再把所要输出的字符串用两个双引号引起来放在后面。

E.g.:

write(*,*)“Hello,Acuzio!

”   à完整的写法write(Unit=*,FMT=*)“Hello,Acuzio!

Write命令注意:

l每一次执行Write命令后,会自动切换到下一行来准备做下一次的输入

l因为双引号是用来“输出”字符串的,所以想要输出双引号时,要连用两个双引号。

lFortran90可以使用双引号或单引号来封装字符串,Fortran77标准中只能使用单引号,不过大部分的Fortran77编译器还是可以接受双引号。

 

STOP命令:

是终止程序的意思,它可以出现在程序的任何地方,程序执行到这个命令就会中止。

除非必要,不要把Stop命令使用在主程序结束之外的其他地方。

因为一个程序,如果有太多的终止点会容易出错。

把上面例子中用Print命令,程序执行的结果是一样的àPrint*,”Hello,Acuzio!

Print的用法和write大致上相同,只是print后面不使用括号,而且只有一个星号。

这个星号的意义是不限定输出格式。

Print和Write的不同处就在于少了Write的第一个星号,也就是少了赋值输出位置的能力,Print命令只能针对屏幕来使用。

建议尽量使用Write来做输出的工作,因为如果日后想把程序的输出转换到其他地方,例如转换到文件中,使用Write命令的程序改写起来比较容易,只有把UNIT值指到另一个输出位置就行了。

Integer:

Integer(kind=4)a        Integer*4a           Integer(4)a

其中kind=4、*4、(4)都是赋值要使用4个bytes来存放整数的意思。

 

声明变量的原则:

l变量的名称以使用英文字母为原则,可以内含下划线或数字,但前缀必须是英文字母

l变量名字的长度,在77标准中最起码支持6个字符长,90标准中最起码支持31个字符长。

也就是说在Fortran77中变量长度最后是在1~6之间,在Fortran90中变量长度则最后是在1~31之间

l变量名称最好不要和Fortran的执行命令同名,也不能和主程序的名称或是前面声明过的变量同名。

l程序中辨认变量时,不会区分它的大小写

Fortran90的声明语法多了一些变化,它可以在类型的后面先写两个冒号“:

”,再写上变量的名称

Real:

Real(kind=4)表示单精度。

Real(kind=8)表示双精度

Complex:

Fortran中声明复数的方法:

Complexa

复数是有实部和虚部两个部分组成,而Fortran中保存这两个数字的方法是用两个浮点数来保存,所有复数也可以分成单精度及双精度两种类型。

要设置一个复数数值的方法如下:

a=(x,y)!

x为实部,y为虚部,当a=(3.2,2.5)时,表示a=3.2+2.5i

 

Character:

声明:

character(len=10)a    character(10)a    character*10a    character*(10)a

字符串长度需要多少字符,就赋值多少数字给它

Programex

Character(len=20)string

String=“Goodmorning.”

Write(*,*)string

String(6)=“evening.”!

重新设置从第六个字符之后的字符串

Write(*,*)string

end

上例中string(1:

2)=“GO”      !

字符串最前面两个字符会变成GO

String(13:

13)=”!

”     !

字符串的第13个字符会变成叹号

用(//)可以把前后两个字符串连接起来

 

Fortran有关字符串运行的函数

Char(num)返回计算机所使用的字符表上,数值num所代表的字符

IChar(char)返回所输入的char字符在计算机所使用的字符表中所代表的编号,返回值是整数类型

Len(string)返回输入字符串的声明长度,返回值是整数类型

Len_Trim(String)返回字符串去除尾端空格后的实际内容长度

Index(string,key)所输入的String和key都是字符串。

这个函数会返回key这个“子字符串”在“母字符串”String中第一次出现的位置

Trim(string)返回把string字符串尾端多余空格清除过后的字符串

 

Logical:

逻辑变量并赋值。

Logicala=.true.

设置逻辑变量的方法:

当设置“真”值或者“假”值,请注意要在true和false的前后要加上两个点

 

输入命令Read

Read(*,*)                  

read命令在使用时和write一样,都有两个星号。

代表的意义也是差不多的,第一个星号代表输入的来源使用默认的设备(也就是键盘),第二个星号代表不指定输入格式

 

格式化输入输出(Format)

Programex

Integera

a=100

write(*,100)a!

使用行代码100,也就是第五行的格式来输出变量a

100format(I4)!

最前面的100是行代码,把这一行程序代码给一个编号

End

 

Format格式

Aw以w个字符宽来输出字符串

BN定义文本框中的空位为没有东西,在输入时才需要使用

BZ定义文本框中的空位代表0,在输入时才需要使用

Dw.d以w个字符宽来输出指数类型的浮点数,小数部分占d个字符宽

Ew.d[Ee]以w个字符宽来输出指数类型的浮点数,小数部分占d个字符宽,指数部分占e个字符

ENw.d[Ee]以指数类型来输出浮点数

ESw.d[Ee]以指数类型来输出浮点数

Fw.d以w个字符宽来输出浮点数,小数部分占d个字符宽

Gw.d[Ee]以w个字符宽来输出整数,最少输出m个数字

Iw[.m]以w个字符宽来输出整数,最少输出m个数字

Lw以w个字符宽来输出T或F的真假值

nX把输出的位置向右跳过n个位置

/代表换行

在没有更多数据时结束输出

kPK值控制输入输出的SCALE

Tn输出的位置移动到本行第n列

TLn输出的位置向左相对移动n列

TRn输出的位置向右相对移动n列

SP在数值为正时加上“正号”

SS取消SP

Fortran90添加的格式

Bw[.m]把整数转换成二进制来输出、输出会占w个字符宽,固定输出m个数字。

m值可以不给定

Ow[.m]把整数转换成八进制来输出,输出会占w个字符宽,固定输出m个数字。

m值可以不给定

Zw[.m]把整数转换成十六进制来输出,输出会占w个字符宽,固定输出m个数字。

m值可以不给定

[转载]fortran语言常用函数

(2012-11-0121:

41:

08)

转载▼

标签:

转载

好东东!

原文地址:

fortran语言常用函数作者:

过竞千帆

求绝对值的内部函数是abs,求数组最大值的内部函数是maxval,最小值minval,他们都支持数组运算,所以程序编起来相当简单。

比如一个数组为A(N),属实数域,其程序可写为integer,parameter:

:

N=10realA(N)realA_abs_max,A_abs_min!

setvalueforAA=(/1.0,2.0,-1.5,2.1,-1.3,2.7,3.3,1.5,-3.3,1.8/)A_abs_max=maxval(abs(A))A_abs_min=minval(abs(A))!

outputtheresultsprint*,'绝对值最大数是:

',A_abs_maxprint*,'绝对值最小数是:

',A_abs_minend

3.编程语言结构 

abort中止计算或循环 

break终止最内循环 

case同select一起使用 

continue将控制转交给外层的for或

while循环 

else同if一起使用 

elseif同if一起使用 

end  结束for,while,if语句 

for  按规定次数重复执行语句 

if  条件执行语句 

otherwise可同switch一起使用 

pause暂停模式 

return返回 

select多个条件分支 

then同if一起使用 

while不确定次数重复执行语句 

eval特定值计算 

feval函数特定值计算或多变量计算 

function函数文件头 

global定义全局变量 

isglobal    检测变量是否为全局变量 

error显示错误信息 

lasterror显示最近的错误信息 

sprintf按格式把数字转换为串 

warning显示警告信息 

4.基本数学函数 

acos反余弦 

acosh反双曲余弦 

acot反余切 

acoth反双曲余切 

acsc反余割 

acsch反双曲余割 

asin反正弦 

asinh反双曲正弦 

atan反正切 

atanh反双曲正切 

cos  余弦 

cosh双曲余弦 

cotg余切 

coth双曲余切 

sin  正弦 

sinh双曲正弦 

tan  正切 

tanh双曲正切 

exp  指数 

log  自然对数 

log10常用对数 

log2以2为底的对数 

sqrt平方根 

abs  绝对值 

conj复数共轭 

imag复数虚部 

real复数实部 

ceil向上(正无穷大方向)取整 

fix  向零方向取整 

floor向下(负无穷大方向)取整 

round四舍五入取整 

sign符号函数 

gsort降次排序 

erf  误差函数 

erfc补误差函数 

gammagamma函数 

interp插值函数 

interpln线性插值函数 

intsplin样条插值函数 

smooth样条平滑函数spline样条函数 

quarewave方波函数 

sign符号函数 

double将整数转换为双精度浮点数 

5.基本矩阵函数和操作  

eye  单位阵 

zeros全零矩阵 

ones全1矩阵 

rand均匀分布随机阵 

genmarkov生成随机Markov矩阵 

linspace线性等分向量 

logspace对数等分向量 

logm矩阵对数运算 

cumprod矩阵元素累计乘 

cumsum矩阵元素累计和 

toeplitzToeplitz矩阵 

disp显示矩阵和文字内容 

length确定向量的长度 

size确定矩阵的维数 

diag创建对角阵或抽取对角向量 

find找出非零元素1的下标 

matrix矩阵变维 

rot90矩阵逆时针旋转90度 

sub2ind据全下标换算出单下标 

tril抽取下三角阵 

triu抽取上三角阵 

conj共轭矩阵 

companion伴随矩阵 

det  行列式的值 

norm矩阵或向量范数 

nnz  矩阵中非零元素个数 

null清空向量或矩阵中的某个元素 

orth正交基 

rank矩阵秩 

trace矩阵迹 

cond矩阵条件数 

rcond逆矩阵条件数 

inv  矩阵的逆

lu  LU分解或高斯消元法 

pinv伪逆 

qr  QR分解 

givensGivens变换 

linsolve求解线性方程 

lyapLyapunov方程 

hessHessenberg矩阵 

poly特征多项式 

schurSchur分解 

expm矩阵指数 

expm1矩阵指数的Pade逼近 

expm2用泰勒级数求矩阵指数 

expm3通过特征值和特征向量求矩阵

指数 

funm计算一般矩阵函数 

logm矩阵对数 

sqrtm矩阵平方根 

6.  特性值与奇异值 

spec矩阵特征值 

gspec矩阵束特征值 

bdiag块矩阵,广义特征向量 

eigenmarkov正则化Markov特征向量 

pbig特征空间投影 

svd  奇异值分解 

sva  奇异值分解近似 

7.矩阵元素运算 

cumprod元素累计积 

cumsum元素累计和 

hist统计频数直方图 

max  最大值 

mean平均值median中值 

min  最小值 

prod元素积 

sort由大到小排序 

std  标准差 

sum  元素和 

trapz梯形数值积分 

corr求相关系数或方差 

8.稀疏矩阵运算 

sparse稀疏矩阵(只存储非零元素) 

adj2sp邻接矩阵转换为稀疏矩阵 

full稀疏矩阵转换为全矩阵 

mtlb_sparse将SCILAB稀疏矩阵转换为

MATLAB稀疏矩阵格式 

sp2adj稀疏矩阵转换为邻接矩阵 

speye稀疏矩阵方式单位阵 

sprand稀疏矩阵方式随机矩阵 

spzeros稀疏矩阵方式全零阵 

lufact稀疏矩阵LU分解 

lusolve  稀疏矩阵方程求解 

spchol稀疏矩阵Cholesky分解 

9.输入输出函数 

diary生成屏幕文本记录 

disp变量显示 

file文件管理 

input  用户键盘输入 

load读已存的变量 

mclose关闭文件 

mget读二进制文件 

mgetl按行读ASCII码文件 

mgetstr读字符串中单个字 

mopen打开文件 

mput写二进制文件 

mfscanf读ASCII码文件 

print将变量记录为文件 

read读矩阵变量 

save存变量为二进制文件 

strartup启动文件 

write按格式存文件 

xgetfile对话方式获取文件路径 

x_dialog建立Xwindow参数输入对话框 

Tk_Getvar得到Tk文件变量 

Tk_EvalFile执行Tk文件 

10.函数与函数库操作 

deff在线定义函数 

edit函数编辑器 

function打开函数定义 

functionsSCILAB函数或对象 

genlib在给定目录下建立所有文件的

函数库 

get_function_path  读函数库的文件存储目录

路径 

getd读函数库中的全部文件 

getf在文件中定义一个函数 

lib  函数库定义 

macroSCILAB函数或对象 

macrovar输入变量个数 

newfun输出变量个数 

11.字符串操作 

code2str将SCILAB数码转换为字符串 

convstr字母大小转换 

emptystr清空字符串 

grep搜寻相同字符串 

part字符提取 

str2code将字符串转换为SCILAB数码 

string字符串转换stringsSCILAB对象,字符串 

strcat连接字符 

strindex字符串的字符位置搜寻 

strsubst字符串中的字符替换 

12.日期与时间 

date日期 

getdate读日期与时间 

timerCPU时间计时 

13.  二维图形函数 

plot2d  直角坐标下线性刻度曲线  

champ      2维向量场 

champ1    由颜色箭头表示的2维向量场  

contour2d  等高线图 

errbar  曲线上增加误差范围框线条 

grayplot    应用颜色表示的表面 

xgrid      画坐标网格线 

histplot    统计频数直方图 

Matplot    散点图阵列 

14.三维图形函数

plot3d    三维表面 

plot3d1  用颜色或灰度表示的三维表面 

param3d  三维中单曲线 

param3d1三维中多曲线 

contour  三维表面上的等高线图 

hist3d    三维表示的统计频数直方图 

geom3d    三维向二维上的投影 

15.线条类图形 

xpoly    单线条或单多边形 

xpolys  多线条或多各多边形 

xrpoly  正多边形 

xsegs    非连接线段 

xfpoly  单个多边形内填充 

xfpolys  多个多边形内填充 

xrect  矩形 

xfrect  单个矩形内填充 

xrects  多个矩形内填充 

xarc    单个弧线段或弧园 

xarcs  多个弧线段或弧园 

xfarc  单个弧线段或弧园填充 

xfarcs  多个弧线段或弧园填充 

xarrows  多箭头 

16.图形注释,变换 

xstring    图形中字符 

xstringb  框内字符 

xtitle    图形标题 

xaxis    轴名标注 

plotframe  图形加框并画坐标网格线 

isoview  等尺寸比例显示(原图形窗口不

改变) 

square  等尺寸比例显示(原图形窗口改

变) 

xsetech  设置小窗口 

xchange  转换实数为图形象素坐标值 

subplot  设置多个子窗口 

17.图形颜色及图形文字 

colormap    应用颜色图 

getcolor    交互式选择颜色图 

addcolor    增加新色于颜色图graycolormap  线性灰度图 

hotcolormap  热色(红到黄色)颜色图 

xset      图形显示方式设定 

xget 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2