fortran语言程序设计

fortran语言程序设计
fortran语言程序设计

《FORTRAN语言》实验(上机)报告

《FORTRAN语言》实验(上机)报告

《FORTRAN语言》实验(上机)报告

班级·学号1333107 1133310723 姓名郑珏辉实验日期12.26

《FORTRAN语言》实验(上机)报告

班级·学号 1333107 1133310723 姓名郑珏辉实验日期12.30

《FORTRAN语言》实验(上机)报告

班级·学号 1333107 1133310723 姓名郑珏辉实验日期 12.26 任课

《FORTRAN语言》实验(上机)报告

班级·学号 1333107 1133310723 姓名郑珏辉实验日期

《FORTRAN语言》实验(上机)报告

(完整)Fortran经典编程语言笔记(你值得拥有)

FORTRAN笔记 2014.10.07 目录 第七讲_FORTRAN的基本知识.ppt (2) FORTRAN语言程序设计初步 (2) FORTRAN源程序的书写格式(以77为例) (2) 变量 (2) 变量类型 (2) 算术运算符和运算优先级 (3) 赋值语句 (3) 参数语句(PARAMETER语句) (3) END语句 (3) PAUSE语句 (3) 逻辑运算和选择结构 (4) 关系表达式 (4) FORTRAN中数组的定义及使用 (4) 其他 (5) 1. fortran语言定义CHARACTER*6 TTL(14,3),CNAM(400)是什么意思? (5) 2. fortran里character*10 是什么意思 (5) 3. Fortran中kind是什么函数? (5)

第七讲_FORTRAN的基本知识.ppt FORTRAN语言程序设计初步 FORTRAN是Formula Translation的缩写,意为“公式翻译”,它是为科学、工程问题或企事业管理中的那些能够用 数学公式表达的问题而设计的,其数值计算的功能较强。 常用的是FORTRAN77和FORTRAN90两种标准。 1、一个程序由若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。 2、每一个程序单位都是以“END”结束的。 3、一个程序单位包括若干行。 1)语句行。由一个FORTRAN语句组成。 2)非语句行,即注释行。 4、FORTRAN程序中的语句可以没有标号,也可以有标号,根据需要而定。标号的作用是标志一个语句以便被其 他语句引用。 5、一个程序单位中各类语句的位置是有一定规定的。 6、FORTRAN源程序必须按一定的格式书写。 FORTRAN源程序的书写格式(以77为例) 每一行有80列,分别如下: 1、第1-5列为标号区。一行中第一列为“C”或“*”,该行即被认为是注释行。 2、第6列为“续行标志区”,如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。 3、第7-72列为语句区。 4、第73-80列,注释区。 变量 变量名:一个变量需要用一个名字(变量名)来识别。在同一个程序单位中不能用同一个变量名代表两个不同的变 量。 FORTRAN的变量名按以下规则选定: 1)第一个字符必须是字母,即变量名必须以字母开头; 2)在一个字母后面可以跟1-5为数字或字母。 如果选定的变量名超过6个字符,则只有前面6个字符有效。 注:在变量名中大写与小写字母是等价的。 变量类型 整型变量Integer、实型变量Real、双精度变量Double Precision、复型变量Complex、逻辑型变量Logical和字符型变量Character。 1、隐含约定(I-N规则) FORTRAN规定:在程序中的变量名,凡以字母I,J,K,L,M,N六个字母开头的,即认为该变量为整型变量。 在程序中,凡是变量名以字母I,J,K,L,M,N,i,j,k,l,m,n开头的变量被默认为整型变量,以其他字母开头的变量被 默认为实型变量。 2、用类型说明语句确定变量类型 1)INTEGER语句(整型说明语句) 2)REAL语句(实型说明语句) 3)DOUBLE PRECISION语句(双精度说明语句) 4)COMPLEX语句(复型说明语句) 5)LOGICAL语句(逻辑型说明语句)

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题 一、选择题 B (1)下列各FORTRAN表达式中合法的是 A) S+T*2P >= B) .NOT. (A*B+C) C) A2+B2/(C+D) <= D) (A+B).NOT.A*B.GT.(.NOT.只跟一个表达式) C (2)数学式(3/5)ex+y的FORTRAN表达式是 A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/ C) (3/5)*EXP(X+Y)D) EXP(X+Y) D (3)下列FORTRAN77表达式中不合法的是 A) A.GT.B.EQV.C.GT.D B) A.AND.B.AND.C.AND.D C) .NOT.(X.LE.D) A.LT.B.LT.C.LT.D D(4)下列叙述中不正确的是 A) FORTRAN子程序可以单独编译 B) 对一个FORTRAN源程序进行编译和连接无误后可生成可执行文件 C) 即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错 D) FORTRAN连接的主要任务是把函数库中的函数翻译成机器指令(正确描述:主要任务为连接目标文件) B (5)在下列FORTRAN77运算符中,优先级最高的是 A) .AND. B) .NOT. C) .OR. D) .EQ. B (6)FORTRAN表达式"6/5+9/2**3/2"的值为 A) 33 B) 1 C) 5 D) 3 A (7)下列FORTRAN77表达式中,合法的是: A) .AND.. B) 10.0 C) D) 提示:A)相当于 .AND.(.NOT.()) D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是 A) 允许编译只有一个主程序而没有子程序的源文件 B) 允许编译有多个子程序的源文件 C) 允许编译只有一个子程序而没有主程序的源文件 D) 允许编译有多个主程序的源文件 C (9)在FORTRAN77源程序中,续行标志符必须放在 A) 第1列 B) 第1-6列C) 第6列D) 第5列 D (10)下列关于"SUBROUTIN E MAP(X,Y)"语句行的叙述中,不正确的是 A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据 提示:子程序无返回值,自定义函数才有) A (11)FORTRAN表达式"2/4+"的值是 A) B) 1 C) D) 0 提示:2/4默认等于整型,=》 D (12)FORTRAN表达式"MOD,"的值是 A) B)0.0 C) D) A (13下列FORTRAN运算符中,优先级最低的是 A)逻辑运算符.AND. B)算术运算符*

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :< 说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘C#特性赋予科学计算项目以威力》 1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 用类型说明语句确定变量类型:可以改变I-N规则

用IMPLICIT语句将某一字母开头的全部变量指定为所需类型 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)

Fortran 90上级实验报告

实验一 上机日期:2012年2月23日 1.实验目的: (1)了解FORTRAN90与软件开发环境的关系. (2)掌握FORTRAN90上机实操作过程. (3)掌握FORTRAN90软件开发环境启动方法. (4)理解有关工作区,项目,文件创建方法. (6)熟悉软件开发环境图形用户界面. (7)掌握程序输入,编译,运行方法. (8)了解软件开发环境常用菜单,工具按钮,环境窗口基本功能. 2上机过程记录 (1)主要记录输入程序的原代码: Program main Real length,width,radius Real ::unitprice=0.5,totalprice,area Print*,’请输入图形长宽值:’ Read*,length,width Print*”请输入绿地半径:” Read*,radius Area=length*width-3.1415926*radius**2 Totalprice=unitprice*area Print*,’地块总价为:’totalprice’万元’ End (2)调试过程: D:\shiyan01\xm1\chengxul.f90 D:\shiyan01\xm1\chengxul.f90(6) : Error: Syntax error, found CHARACTER_CONSTANT '请输入绿地半径:' when expecting one of: , ; Print*"请输入绿地半径:" ------^ D:\shiyan01\xm1\chengxul.f90(10) : Error: Invalid character_kind_parameter. No underscore Print*,'地块总价为:'totalprice'万元' ------------------------------------^ D:\shiyan01\xm1\chengxul.f90(10) : Error: Syntax error, found IDENTIFIER 'TOTALPRICE' when expecting one of: ( * :: , ; : ) (/ [ + - . ] /) ** / > // .LT. ... --------------------^ D:\shiyan01\xm1\chengxul.f90(10) : Error: This Hollerith or character constant is too long and cannot be used in the current numeric context. ['地块总价为:'] Print*,'地块总价为:'totalprice'万元' -------^ Error executing df.exe. xm1.exe - 4 error(s), 0 warning(s) (3)调试成功的程序的原代码 Program main Real length,width,radius

Fortran95程序设计课后习题答案(word版方便)

第四章 1.program main implicit none write(*,*) "Have a good time." write(*,*) "That's not bad." write(*,*) '"Mary" isn''t my name.' end program 2.program main real, parameter :: PI=3 implicit none.14159 real radius write(*,*) "请输入半径长" read(*,*) radius write(*,"(' 面积='f8. 3)") radius*radius*PI end program 3.program main implicit none real grades write(*,*) "请输入成绩" read(*,*) grades write(*,"(' 调整后成绩为'f8.3)") SQRT(grades)*10.0 end program 4.integer a,b real ra,rb a=2 b=3 ra=2.0 rb=3.0 write(*,*) b/a ! 输出1, 因为使用整数计算, 小数部分会无条件舍去write(*,*) rb/ra ! 输出1.5 5.p rogram main implicit none type distance real meter, inch, cm end type type(distance) :: d write(*,*) "请输入长度:" read(*,*) d%meter d%cm = d%meter*100 d%inch = d%cm/2.54 write(*,"(f8.3'米='f8.3'厘米='f8.3'英寸')") d%meter, d%cm, d%inch end program 第五章 1.program main implicit none integer money real tax write(*,*) "请输入月收入" read(*,*) money if ( money<1000 ) then tax = 0.03 else if ( money<5000) then tax = 0.1 else tax = 0.15 end if write(*,"(' 税金为'I8)") nint(money*tax) end program 2.program main implicit none integer day character(len=20) :: tv write(*,*) "请输入星期几" read(*,*) day select case(day) case(1,4) tv = "新闻" case(2,5) tv = "电视剧" case(3,6) tv = "卡通" case(7) tv = "电影" case default write(*,*) "错误的输入" stop end select write(*,*) tv end program 3.program main implicit none integer age, money real tax write(*,*) "请输入年龄" read(*,*) age write(*,*) "请输入月收入" read(*,*) money if ( age<50 ) then if ( money<1000 ) then tax = 0.03 else if ( money<5000 )then tax = 0.10 else tax = 0.15 end if else if ( money<1000 ) then tax = 0.5 else if ( money<5000 )then tax = 0.7 else tax = 0.10 end if end if write(*,"(' 税金为'I8)") nint(money*tax) end program 4.program main implicit none integer year, days logical mod_4, mod_100, mod_400 write(*,*) "请输入年份" read(*,*) year mod_4 = ( MOD(year,4) == 0 ) mod_100 = ( MOD(year,100) == 0 ) mod_400 = ( MOD(year,400) == 0 ) if ( (mod_4 .NEQV. mod_100) .or. mod_400 ) then days = 366 else days = 365 end if write(*,"('这一年有'I3'天')") days stop end program 第六章 1.program main implicit none integer i do i=1,5 write(*,*) "Fortran" end do stop end program 2.program main implicit none integer i,sum sum = 0 do i=1,99,2 sum = sum+i end do write(*,*) sum stop end program 3.program main implicit none integer, parameter :: answer = 45 integer, parameter :: max = 5 integer weight, i do i=1,max write(*,*) "请输入体重" read(*,*) weight if ( weight==answer ) exit end do if ( i<=max ) then write(*,*) "猜对了" else write(*,*) "猜错了" end if stop end program 4.program main implicit none integer, parameter :: max=10 integer i real item real ans ans = 1.0 item = 1.0 do i=2,max item = item/real(i) ans = ans+item

专家系统实验报告

“专家系统”实验报告 专业:智能科学与技术 班级:1102 学号:0909113310 姓名:宋佳欣 2014年6月5日

实验1 专家系统与CLIPS 实验内容提要: 专家系统不仅是具有特定的结构,同时,它还有多种知识表示形式,及其相应的知识推理方法。因此,直接采用程序设计语言实现专家系统是比较困难的,而采用适当的专家系统开发工具则可以大大降低系统开发的难度。因此,本章结合麦粒肿系统专断专家系统开发的需要,首先安排了对专家系统及其开发工具CLIPS基本理论知识,以及CLIPS基本理论知识,以及CLIPS基本使用方法的概要介绍,目的是为第6章“麦粒肿诊断专家系统开发”做好准备。 实验重点: 专家系统的一般结构 产生式规则的表示及其正向推理 专家系统开发工具的结构和特点 专家系统开发工具CLIPS的基本语法 专家系统开发工具CLIPS的基本使用 实验目的 掌握专家系统的一般结构 掌握产生式规则的表示及其正向推理 掌握专家系统开发工具的结构和特点 了解专家系统开发工具CLIPS的设计目标与特点 掌握专家系统开发工具CLIPS的基本语法 掌握专家系统开发工具CLIPS的基本使用 实验内容及要求 学习专家系统的一般结构 学习产生式规则的表示及其正向推理 学习专家系统开发工具的结构和特点 学习专家系统开发工具CLIPS的设计目标与特点 学习专家系统开发工具CLIPS的基本语法 学习专家系统开发工具CLIPS的基本使用 实验步骤 本实验包括以下六个具体步骤,分别是:学习专家系统的一般结构、学习产

生式规则的表示及其正向推理、学习专家系统开发工具的结构和特点、学习专家系统开发工具CLIPS的设计目标与特点、学习专家系统开发工具CLIPS的基本语法,以及学习专家系统开发工具CLIPS的基本使用。 1 学习专家系统的一般结构: 专家系统(ES,Expert System)是利用大量专家知识,运用只是推理方法解决特定领域中实际问题的计算机程序系统。专家系统由产生式规则专家系统发展而来,主要包括知识库、推理机、综合数据库、知识获取程序、人机接口,以及解释程序六大部分。其中,知识库、推理机、综合数据库,以及人际接口是目前大多数专家系统的主要内容,而知识获取程序和解释则是所有专家系统都期望具有的两个模块。在专家系统的一般结构中,知识库用于存放各领域专家提供的经验性知识:综合数据库用于存放关于问题求解的初始数据、中间结果、假设、目标,以及最终求解结果(事实);推理机在一定的控制策略下针对综合数据库中的当前信息,识别和选取知识库中对当前问题求解有用的知识进行推理;知识获取程序完成把专家只是按一定表示形式输入到知识库中,部分代替知识工程师进行知识的自动获取,实现专家系统的字学习,不断完善知识库;解释程序可以根据用户提问,对系统给出的结论、求解过程,以及系统当前求解状态提供说明,便于用户理解系统的问题求解,增加用户对系统求解结果的信任程度,在知识库的完善过程中,便于专家或知识工程师发现和定位知识库中的错误,便于各领域的专业人员或初学者能够从问题的求解过程中得到直观学习;人机接口将专家爱或用户的输入信息翻译为系统可接受的内部形式,同时,也把系统向专家或用户输出的信息转化成人类易于理解的外部形式。 2 学习产生式规则的表示及其正向推理 目前,用于专家系统的知识表示形式主要有谓词逻辑、产生式规则、语义网络、框架,以及剧本。其中,采用产生式规则知识表示形式建立的专家系统最为流行和广泛,这主要因为:首先,产生式规则知识表示容易被人理解;其次,它基于演译推理,保证了推理结果,的准确性;最后,大量产生式规则可以连接成多棵推理树,树的宽度反映了实际问题的范围,树的深度反映了问题的难度。 产生式规则一般表示为:如果A成立,则B成立,简记为A->B,其中A是前提,B是结论。一般来说,不同的产生式规则之间都是有联系的,即谋条产生式规则的前提实力外一条产生式规则的结论。如果把规则库(知识库)中所包含的总目标(某些规则的结论)作为根节点,按规则的前提和结论展开形成树的形式,则形成的树就被称为推理树或知识树,它把规则库中的所有规则都连接了起来。 产生式规则的推理分为正向推理和逆向推理两种,这里主要介绍正向推理。

fortran语言内部函数

附录 FORTRAN 90标准函数 符号约定: ●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)*求x的绝对值∣x∣。x:I、R,结果类型同x; x:C,结果:R AIMAG(x)求x的实部。x:C,结果:R AINT(x[,kind])*对x取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) AMAX0(x1,x2,x3,…)*求x1,x2,x3,…中最大值。x I:I,结果:R AMIN0(x1,x2,x3,…)*求x1,x2,x3,…中最小值。x I:I,结果:R ANINT(x[,kind])*对x四舍五入取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) CEILING(x)*求大于等于x的最小整数。x:R,结果:I CMPLX(x[,y][,kind]))将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,kind:I,结果:C(kind) CONJG(x)求x的共轭复数。x:C,结果:C DBLE(x)*将x转换为双精度实数。x:I、R、C,结果:R(8) DCMPLX(x[,y])将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,结果:C(8) DFLOAT(x)将x转换为双精度实数。x:I,结果:R(8) DIM(x,y)*求x-y和0中最大值,即MAX(x-y,0)。x:I、R, y的类型同x,结果类型同x DPROD(x,y)求x和y的乘积,并转换为双精度实数。x:R, y:R,结果:R(8)

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

蒙特卡罗实验报告

蒙特卡罗方法 实验一 实验报告 蒙特卡罗方法实验一实验报告 一、实验目的 1、了解蒙特卡罗方法方法的基本思想; 2、掌握蒙特卡罗方法计算面积、体积的方法; 3、掌握由已知分布的随机抽样方法。 二、实验原理

Monte Carlo 方法,又称统计模拟方法或计算机随机模拟方法,是一种基于“随机数”进行数值模拟的方法,一种采用统计抽样理论近似求解物理或数学问题的方法。 倘若待求量可以表述成某些特征量的期望值、某些事件出现的概率或两者的函数形式,那么可采用蒙特卡罗方法求解。在求解某些特征量的期望值或某些事件出现的概率时,必须构建合符实际的数学模型。例如采用蒙特卡罗方法计算某函数所围面积时,构建的数学模型是构造一已知面积的可均匀抽样区域,在该区域投点,由伯努利定理大数定理可知,进入待求区域投点的频率依概率1收敛于该事件出现的概率(面积之比)。 由已知分布的随机抽样方法指的是由已知分布的总体中抽取简单子样。抽样方法有: 直接抽样方法:离散型分布随机抽样方法、连续型分布直接抽样方法;挑选抽样方法;复合抽样方法;随机抽样一般方法:加抽样方法、减抽样方法、乘抽样方法、乘加抽样方法、乘减抽样方法、对称抽样方法、替换抽样方法、多为分布抽样方法、积分抽样方法;随机抽样其他方法:偏倚抽样方法、近似分布抽样方法、近似-修正抽样方法。 三、实验内容 1、安装所需计算工具(MA TLAB 、fortran 、C++等); 2、编写一伪随机数发生器;(如乘加同余a=1366,c=150889,M=714025、a=9301,c=49297,M=233280;乘同余a=16807,M=232 -1;或采用其它方法) 以下内容选取一个采用自编伪随机数发生器进行计算,其余采用工具软件中自带伪随机数发生器进行计算。 3、求解以下区域的面积、体积: 3.1、给定曲线y =2 – x 2 和曲线y 3 = x 2,曲线的交点为:P 1( – 1,1 )、P 2( 1,1 )。曲线围成平面有限区域,用蒙特卡罗方法计算区域面积; 3.2、计算22 22 11z x y z x y ?≥+? ?≤+--??所围体积 其中{(,,)|11,11,02}x y z x y z Ω=-≤≤-≤≤≤≤。 4、对以下已知分布进行随机抽样: 4.1、()() []2 3 321,0,12 f x x x x =+ -∈; 4.2、()() ()[]11,1,21E f x f x x E k E = ?∈+

牛顿迭代法实验报告

用牛顿迭代法求非线性方程的根 一、 实验题目 求方程()013=--=x x x f 在5.1附近的根。 二、 实验引言 (1)实验目的 1. 用牛顿迭代法求解方程的根 2. 了解迭代法的原理 3. 改进和修缮迭代法 (2)实验意义 牛顿迭代法就是众多解非线性方程迭代法中比较普遍的一种,求解方便实用。 三、 算法设计 (1)基本原理 给定初始值0x ,ε为根的容许误差,η为()x f 的容许误差,N 为迭代次数的容许值。 1.如果()0='x f 或迭带次数大于N ,则算法失败,结束;否则执行2. 2.计算()() 0001x f x f x x '-=. 3.若ε<-21x x 或()η<1x f ,则输出1x ,程序结束;否则执行4. 4.令10x x =,转向1. (2)流程图

四、程序设计program nndd01 implicit none real,parameter::e=0.005 real,parameter::n=9 real::x1 real::x0=1.5 integer::k real,external::f,y do k=1,9 if (y(x0)==0) then write(*,*)"失败" else x1=x0-f(x0)/y(x0) if (abs(x1-x0)

else x0=x1 end if end if end do end function f(x) implicit none real::f real::x f=x*x*x-x-1 return end function function y(x) implicit none real::y real::x y=3*x*x-1 return end function 五、求解结果 3 1.324718 4 1.324718 5 1.324718 6 1.324718 7 1.324718 8 1.324718 9 1.324718 六、算法评价及讨论 1.在求解在1.5处附近的根,不难发现在输入区间左端值为1时 需要迭代6次,而输入区间左端值为1.5时,却只要4次。初

数值分析2016上机实验报告

序言 数值分析是计算数学的范畴,有时也称它为计算数学、计算方法、数值方法等,其研究对象是各种数学问题的数值方法的设计、分析及其有关的数学理论和具体实现的一门学科,它是一个数学分支。是科学与工程计算(科学计算)的理论支持。许多科学与工程实际问题(核武器的研制、导弹的发射、气象预报)的解决都离不开科学计算。目前,试验、理论、计算已成为人类进行科学活动的三大方法。 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。现在面向数值分析问题的计算机软件有:C,C++,MATLAB,Python,Fortran等。 MATLAB是matrix laboratory的英文缩写,它是由美国Mathwork公司于1967年推出的适合用于不同规格计算机和各种操纵系统的数学软件包,现已发展成为一种功能强大的计算机语言,特别适合用于科学和工程计算。目前,MATLAB应用非常广泛,主要用于算法开发、数据可视化、数值计算和数据分析等,除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 本实验报告使用了MATLAB软件。对不动点迭代,函数逼近(lagrange插值,三次样条插值,最小二乘拟合),追赶法求解矩阵的解,4RungeKutta方法求解,欧拉法及改进欧拉法等算法做了简单的计算模拟实践。并比较了各种算法的优劣性,得到了对数值分析这们学科良好的理解,对以后的科研数值分析能力有了极大的提高。

目录 序言 (1) 问题一非线性方程数值解法 (3) 1.1 计算题目 (3) 1.2 迭代法分析 (3) 1.3计算结果分析及结论 (4) 问题二追赶法解三对角矩阵 (5) 2.1 问题 (5) 2.2 问题分析(追赶法) (6) 2.3 计算结果 (7) 问题三函数拟合 (7) 3.1 计算题目 (7) 3.2 题目分析 (7) 3.3 结果比较 (12) 问题四欧拉法解微分方程 (14) 4.1 计算题目 (14) 4.2.1 方程的准确解 (14) 4.2.2 Euler方法求解 (14) 4.2.3改进欧拉方法 (16) 问题五四阶龙格-库塔计算常微分方程初值问题 (17) 5.1 计算题目 (17) 5.2 四阶龙格-库塔方法分析 (18) 5.3 程序流程图 (18) 5.4 标准四阶Runge-Kutta法Matlab实现 (19) 5.5 计算结果及比较 (20) 问题六舍入误差观察 (22) 6.1 计算题目 (22) 6.2 计算结果 (22) 6.3 结论 (23) 7 总结 (24) 附录

Simple算法_fortran语言编写

Cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Cccc This computer program was copied from the graduate student course program Cccc of the University of Minnesota. Part of it was re-formulated to meet the Cccc personal computer environment. Some inappropriate expressions were also Cccc corrected. The program is used only for teaching purpose. No part of it Cccc may be published. You may use it as a frame to re-develop your own code Cccc for research purpose. XJTU Instructor, 1995.11 **************************************************************************** *----------------------------MAIN PROGRAM----------------------------------- **************************************************************************** LOGICAL LSTOP COMMON/CNTL/LSTOP **************************************************************************** OPEN(08,FILE='teresul') CALL SETUP0 CALL GRID CALL SETUP1 CALL START 10 CALL DENSE CALL BOUND CALL OUTPUT IF(.NOT.LSTOP) GO TO 15 CLOSE(08) STOP 15 CALL SETUP2 GO TO 10 END *--------------------------------------------------------------------------- SUBROUTINE DIFLOW **************************************************************************** COMMON/COEF/FLOW,DIFF,ACOF **************************************************************************** ACOF=DIFF IF(FLOW .EQ.0.0)RETURN TEMP=DIFF-ABS(FLOW)*0.1 ACOF=0. IF(TEMP .LE. 0. ) RETURN TEMP=TEMP/DIFF ACOF=DIFF*TEMP**5 RETURN END *-------------------------------------------------------------------------- SUBROUTINE SOLVE ****************************************************************************

matlab实验报告

专业仿真课程设计题目: 学院: 专业班级: 学号: 学生姓名: 指导教师: 设计时间:

专业仿真课程设计题目 主要研究内容: 从所拍摄的多个目标物中检测三角形物,给出三角形物几何中心、三个边长以及边长的方向、面积。 设计要求: (1)提交能够实现题目要求、并通过演示验收的可执行文件。 (2)提交课程设计报告(包括程序清单)。 (3)通过答辩,答辩成绩满分20分,其中个人设计部分10分,非个人设计部分10分。 (4)软件设计要求:有一个人机交互界面,模块化设计,在模块之间通过BMP文件或者文本文件传送数据,可以查看中间结果。 (5)5个人一组,组长协调分工,每个组员一定要有具体任务,以便考核。预期达到的目标: 1、能够通过相关文献查阅、文献综述和总结,给出问题求解的多种可行方案。 2、能够综合运用测控技术与仪器专业理论和技术手段,设计实验方案、分析实验结果,得出有效的结论。 3、能够借助MATLAB仿真软件,进一步掌握高等数学、复变函数与积分变换等相关数学和自然科学知识以及测控技术与仪器专业的基本理论知识,能够结合本专业“自动控制原理”、“数字信号处理”、“误差理论”等相关课程,采用MATLAB软件对复杂工程问题建立模型并进行预测与模拟; 4、能够与团队中其他学科成员合作开展工作,能够与其他队员很好地沟通和交流意见,能够通过口头或书面方式表达自己的设计思路,具有一定的表达能力和人际交往能力。

目录 第一章课程设计相关知识综述 1.1 MATLAB相关知识叙述 1.1.1 MATLAB基本知识介绍 1.1.2 MATLAB的优势特点 1.1.3 MATLAB的发展历程 1.2 MATLAB工具箱与函数 1.2.1 MATLAB图像处理工具箱 1.2.2 课程设计所用图像处理函数介绍第二章课程设计内容和要求 2.1 课程设计主要研究内容 2.2 课程设计要求 2.3 课程设计预期目标 第三章设计过程 3.1 设计方案 3.2 设计步骤及流程图 3.3 程序清单及相关注释 3.4 实验结果分析 3.5 结论 第四章团队情况 第五章总结 第六章参考文献

地球物理测井上机实验报告

《地球物理测井》上机实验报告 学院:能源学院 班级:10061312班 姓名:魏福超 学号:1006131214

一、实验的目的及意义 通过本次上机实验,我们对测井解释软件CIFLog有初步理解和认识,掌握测井资料综合处理与解释的一般流程,了解利用测井解释软件进行测井资料处理的一般方法,通过对实际测井资料的处理,使我们对测井的基本方法、原理以及解释应用有更深入的认识。 二、实验原理 1.CIFLog介绍 CIFLog是国家油气重大专项首先确立研发的十大关键装备之一,而且是其中唯一的大型软件装备。CIFLog创出多项世界第一:首个基于Java-NetBeans前沿计算机技术建立的三代测井处理解释系统;首个可同时在Windows、Linux和Unix三大操作系统下高效运行的大型测井软件;首个系统提供火山岩、碳酸盐岩、低阻碎屑岩和水淹层等复杂储层评价方法,并将全系列裸眼测井评价与套后测井评价集成为一体的软件。 该软件能提供包括元素俘获能谱在内的所有高端测井资料的处理,对全部国产高端成像测井装备处理解释提供支持。项目组遵循“边开发、边应用”原则,CIFLog先后在大庆、辽河等国内主力油田及中国石油大学、北京大学、同济大学等十余所高校安装1100多套,形成了年处理上万井次的规模。 据CIFLog开发项目组组长、中石油勘探开发研究院测井所所长李宁介绍,测井回答的基本问题就是储层在哪、储层中是油还是水、是否工业油流。 此前,从第一代只能在工作机上运行的测井软件,到第二代可以在微机上运行的测井软件,相关高端产品一直被斯伦贝谢、哈里波顿、阿特拉斯等少数几家跨国公司垄断。中石油上世纪90年代开发出第一代测井软件,并在其13家油田公司及中石化、中海油得到成功应用。而此次推出的CIFLog,是直接从第一代跨越到第三代。 2. CIFLog使用方法

Matlab上机实验报告

20140110170124 14级测绘工程1班齐新煜 Matlab基础运用实验报告(一) MATLAB在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。 软件安装 1.安装出错时,可换注册码继续安装,到同一目录; 2.【谨记】安装路径不要有中文名称; 3.成功安装完毕之后,如果遇到matlab启动后,窗口在打开一到两秒后就自动关闭了,可按以下方法试试:【假设你安装的目录为c:\MATLAB\】(不过不建议安装到C盘,那样会影响系统速度!) 4.确认安装好后,在此路径下c:\MATLAB\bin\win32有一个名为atlas_Athlon.dll的文件;

5.我的电脑上右击点"属性",再在"高级"中点"环境变量",在"系统变量"中点击 "新建" 输入以下信息:变量名:BLAS_VERSION 变量址: c:\MATLAB\bin\win32\atlas_Athlon.dll 6.安装MATLAB成功! 实验结语 MATLAB在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。 Matlab基础运用实验报告(二) 一、实验目的 1.了解MATLAB程序设计语言的基本特点,熟悉MATLAB软件的运行环境;

相关文档
最新文档