文档库 最新最全的文档下载
当前位置:文档库 › 《有限元分析及应用》上机指导书

《有限元分析及应用》上机指导书

《有限元分析及应用》上机指导书
《有限元分析及应用》上机指导书

《有限元分析及应用》上机习题

上机习题要求:

1)独立完成3个上机题,并完成一份分析报告。分析报告中要对所计算的问题和建模过程做详细说明,以图表形式分析计算结果。

2)结题报告中的字体,图标要求:大标题,三号,黑体;小标题,四号,宋体;正文,小四,宋体;图号、图名、表号、表名都采用五号,宋体。报告中的所有字母,数字采用Times New Rome。从ANSYS导图采用硬拷贝“hard copy”,图片长度一般采用10cm。

3)连同前面布置的作业,作为结课报告,一起上交。结课报告的内容包括作业和一份上机分析报告,用A4纸打印或者手写,要求字迹工整。结课报告的首页是:《有限元分析及应用》上机报告任课教师:聂志峰学生姓名:×××,学号:×××,班级:×××。

******************************************************************************** 习题1:研究对象是某工业厂房带牛腿钢筋混凝土排架柱,相关尺寸标注如图1.1所示,密度2.5×103Kg/m3,弹性模量30.0GPa,泊松比0.2,分析这一结构在自重及屋架和吊车梁载荷作用下的内力及变形情况。

习题2:钢制压力容器,内径D i = 800mm,平封头高度h =120mm,筒体壁厚t = 24mm,内压p = 8MPa,材料为16MnR,弹性模量E = 200GPa,泊松比ν = 0.3,圆筒总体长度2400mm。首先对该容器进行应力分析,确定最大应力处及相应的应力集中系数,并作为以下带沟槽封头容器分析比较的参照。重点体会应力分布敏感区域细化网格对计算结果的影响。

习题3:一侧固定的方板如图3.1所示,长宽均为1m,厚度为5cm,方板的右侧受到均布拉力Mpa

q的作用。材料的弹性模量为GPa

=

200

=

E,泊松比为0.3。对方板采用两种不同

210

位移约束方式进行计算,分析采用那种约束方式比较合理。位移约束方式如下:

1)对12边同时施加x和y方向的位移约束;

2)对12边施加x方向的位移约束,对12边的中间一点施加y方向的位移约束。

1.牛腿柱应力分布分析

图1.1

1 ANSYS分析

1.1分析环境设置

进入ANSYS Mechanical APDL Product Launcher的程序界面后,Simulation Enviroment: ANSYS, License: ANSYS Mechanical,Working Directory和Job Name自己定义,其中Working Directory最好不要放在系统盘C盘。通过菜单项Utility Menu>File>Change Title,自己定义Title,可以指定图形显示标题。

1.2 进入前处理器

设置完成后,点取菜单项Main Menu>Preprocessor进入前处理器PREP7,开始建模和其他的前处理操作。

1.3定义单元类型

选择菜单项Main Menu>Preprocessor>Element Type>Add/Edit/Delete,在弹出的Element Type对话框中,单击Add...按钮,出现Library of Element Types对话框,如图1.2所示。

图1.2 Library of Element Types对话框

如查找不到所要的单元编号,也可以直接在红色椭圆框内输入单元编号,如图1.3所示。

图1.3 Library of Element Types对话框

对于本问题,采用三维实体单元SOLID45进行分析,同时建模时采用平面网格拉伸到三维的方式,在平面中划分辅助网格,采用PLNAE42单元。在窗口中依次选择这两种单元类型,然后单击OK退出。

1.4定义材料类型

选择菜单项Main Menu>Preprocessor>Material Models,将出现Define Material Model Behavior对话框,在窗口的右侧,依次双击Structural→Linear→Elastic→Isotropic,在出现的对话框中输入材料弹性模量3.0e10以及泊松比0.2,如图1.3所示。

图1.3 Linear Isotropic Properties for Material Number 1对话框

单击OK按钮,返回到Define Material Model Behavior窗口,在窗口右侧选择Densisy,双击打开定义密度的对话框,如图1.4所示。

图1.4 Density for Material Number 1对话框

在其中输入材料的密度2500。单击OK按钮退出,然后关闭Define Material Model Behavior,返回图形用户界面。

1.5建立剖面几何模型

(1)建立关键点

选择菜单项Main Menu>Preprocessor>Modeling>Create>Keypoints>In Active CS,弹出如图1.5所示对话框。

图1.5 建立关键点的对话框

(2)建立面

选择菜单项Main Menu>Preprocessor>Modeling>Create>Areas>Arbitrary>Through KPs。弹出Create Area Through KPs对象拾取框,用鼠标在屏幕上依次点选16个关键点(按照关键点号按顺序点选),然后单击OK按钮,即可得到柱子的侧面形状,如图1.6所示。

图1.6 柱子侧面形状

1.6对面划分网格

(1)设置网格属性

通过菜单项Main Menu>Preprocessor>Meshing>Mesh Attributes>All Areas,在弹出的如图1.7所示的Area Attributes对话框中,选择材料号以及单元类型号均为2,单击OK按钮,

关闭该对话框。

图1.7 Area Attributes对话框

(2)设置单元尺寸

选择菜单项Main Menu>Preprocessor>Meshing>Size Cntrls>Areas>All Areas,在弹出

如图1.8所示的Element Size Selected Areas对话框中输入单元变长为0.15。

(3)划分面单元

通过菜单项Main Menu>Preprocessor>Meshing>MeshTool,弹出的MeshTool面板,在面板的最下面,选择单元形状Shape选项为为Quad,选择单元划分为方式为Free,单击Mesh 按钮,弹出Mesh Areas对象拾取框,然后用鼠标在屏幕上选择柱侧面,单击OK按钮,即可完成对柱侧面的网格划分,图1.9所示为划分的二维网格图(局部的放大)。

图1.9 划分网格后的二维图

1.7 沿法向拉伸形成三维模型

(1)设置拉伸形成的网格属性

选择菜单项Main Menu>Preprocessor>Modeling>Operate>Extrude>Elem Ext Opts,弹出Element Extrusion Options对话框,如图1.10所示。选择单元类型为SOLID45,选择厚度方向单元数No.Elem divs为2,单击OK按钮,关闭该对话框。

图1.10 Element Extrusion Options对话框

(2)执行拉伸操作

选择菜单项Main Menu>Preprocessor>Modeling>Operate>Extrude>Areas>Along Normal,弹出Extrude Area By Normal对象拾取框,用鼠标在屏幕上选择下柱侧面,点Apply 按钮,弹出Extrude Area along Normal对话框,如图1.11所示。在DIST一栏中填0.3,单击OK按钮,关闭该对话框。

图1.11 Extrude Area along Normal对话框

对上柱的侧面重复上述操作,得到三维实体有限元模型,如图1.12所示。

图1.12 三维实体有限元模型图

1.8 施加位移约束

(1)选择所有基础顶面的节点

在计算中认为柱底固定于机顶上,为此选择所有的基顶节点,通过菜单项Utility>Menu >Select>Entities,在弹出如图1.13所示的的select entities对话框中,自上到下依次选择Nodes →By Location→Y coordinates,在Min,Max一栏中填写-0.1,0.1。选中下面的From Full复选框,单击OK按钮,即可选中基础顶面的所有节点。

图1.13 select entities对话框

(2)施加位移约束

选择菜单项Main Menu>Preprocessor>Loads>Define Loads>Apply>Structural>Displacement>On Nodes,弹出Apply U,ROT on Nodes对象拾取框,单击Pick ALL按钮,弹出Apply U,ROT on Nodes对话框,如图1.14所示。在DOFs to be constrained列表中选中ALL DOF,单击OK按钮,对基础顶面的节点施加位移约束。

图1.14 Apply U,ROT on Nodes对象拾取框

(3)恢复选择所有的对象

通过菜单项Utility>Menu>Select>Everything,恢复选择所有的对象。

1.9施加屋架传来的集中载荷

假设两侧屋架传来的载荷作用点对称,于是其合力应作用于上柱侧面的中心节点上。选

择菜单项Main Menu>Preprocessor>Loads>Define Loads>Apply>Structural>Force/ Moment>On Nodes,弹出如图1.15所示的Apply F/M on Nodes对象拾取框,用鼠标在屏幕上点选上柱顶面的中心节点,然后单击OK按钮,弹出Apply F/M on Nodes对话框,选择FY,输入载荷的数值为-10000,单击OK按钮,关闭该对话框。

图1.15 Apply F/M on Nodes对象拾取框

1.10 施加吊车梁传来的面载荷

假设吊车梁的宽度为0.2m,在牛腿的这一宽度上受到来自吊车梁的均匀压力分布。

选择菜单项Main Menu>Preprocessor>Loads>Define Loads>Apply>Structural>Pressure>On Areas,弹出Apply PRES on areas对象拾取框,用鼠标在屏幕上选择牛腿柱面上的两个受载面,如图1.16所示。

图1.16 牛腿柱面上的两个受载面

单击Apply按钮,弹出Apply PRES on areas对话框,如图1.17所示。输入均匀压力的数值50000,单击OK按钮,关闭该对话框。

图1.17 Apply PRES on areas对话框

图1.18所示为施加均匀压力后的图形。

图1.18 施加均匀压力后的牛腿柱图形

1.11 施加重力

选择菜单项Main Menu>Preprocessor>Loads>Define Loads>Apply>Structural>Inertia >Gravity,弹出Apply Acceleration对话框,如图1.19所示。填ACEL Y为9.8,单击OK按钮,关闭该对话框。

图1.19 Apply Acceleration对话框

施加约束和载荷后的整体模型如图1.20所示。

图1.20 施加约束和载荷后的整体模型图

1.12 退出前处理器

完成上述建模操作后,点Main Menu>Finish退出前处理器。

1.13 求解

通过菜单项Main Menu>Solution>Solve>Current LS,对问题进行求解。在求解结束后,点Main Menu>Finish菜单项,退出求解器。

1.14 进入通用后处理器并读入结果

通过菜单项Main Menu>General Postproc,进入通用后处理器。在对计算结果进行后处理之前,需首先通过菜单项Main Menu>General Postproc>Read Results>Last Set,将计算结果读入通用后处理器。

1.15 观察变形情况

选择菜单路径Main Menu>General Postproc>Plot Results>Deformed Shape,弹出Plot Deformed Shape对话框,选择Def+undeformed,单击OK按钮。适当调整视图方向,出现如

图1.21所示的显示结果。

图1.21 牛腿柱变形图

1.16 观察等效应力分布情况

选择菜单项Main Menu>General Postproc>Plot Results>Contour Plot>Element Solu,弹出Contour Element Solution Data,左侧项目列表中选择Stress,右侧项目列表中选择SEQV,

单击OK按钮,适当调整视图,图形显示第一主应力的分布情况,如图1.22所示。

图1.22 牛腿柱应力分布图

2 平封头和带沟槽平封头的应力集中对比

2.1 平封头GUI操作步骤

(1) 建立工作文件名和标题

1)定义工作文件名:执行Utility Menu/File/Change Jobname命令,在弹出的Change Jobname对话框中输入fhead_1并选择New log and error files 复选框,单击OK按钮。

2)定义工作标题:执行Utility menu /File/Change Tile命令,在弹出的Change Title 对话框中输入the opt of fhead_1,单击OK按钮。

3)重新显示:执行Utility Menu/Plot/Replot命令。

(2) 定义参数和材料属性

1)定义参数的初始值:执行Utility Menu/Parameters/Scalar Parameters命令,弹出Scalar Parameters对话框。在Selection 文本框中输入t=24,单击Accept按钮,输入h=120,单击Accept 按钮,输入S=600,单击Accept按钮,输入P=8e6,单击Accept按钮,输入R=400,单击Accept 按钮,单击Close按钮。

2)设置材料的属性:执行Main Menu/Preprocessor/Material Props/Material Models命令,弹出Define Material Model Behavior窗口。双击Material Model Available列表框Structural/linear/Elastic/Isotropic选项,弹出Liner Isotropic Material Properties for Material number1对话框。在EI和PRXY文本框中分别输入2e8及0.3,单击OK按钮,关闭Define Material Model Behavior窗口。

(3) 定义单元类型

执行Main Menu/Preprocessor/Element Type/Add|Edit|Delet命令,弹出Element Types对话框。单击Add按钮,弹出Library of Element Type对话框。在左右列表框中分别选择Structural Solid 和Brick 8node45选项,单击OK按钮,关闭Element Types对话框。

(4) 建立实体模型

根据该压力容器的实际结构特点——轴对称性,建立的模型为其1/8,具体步骤如下:

1)执行Utility Menu/Pan,Zoom,Rotate命令,打开Pan_Zoom_Rotate工具栏单击Iso按钮。

2)生成1/4个圆柱体:

执行Main Menu/Preprocessor/Modeling/Creat/V olumes/Cylinder/By Demensions命令,弹出

,THEA1,THEA2文本框中分别Creat Cylinder By Demensions对话框,在RAD1,RAD2, Z1,Z

2

输入R+t, R,-S,S,180,270,单击OK按钮。

3)移动坐标系:

执行Main Menu/WorkPlane/Offset WP by Increments,在Snaps X,Y,Z Offsets中输入0,0,-600,单击OK,将坐标系沿Z轴负方向移动600mm。

4)生成1/4个柱体:

执行Main Menu/Preprocessor/Modeling/Creat/V olumes/Cylinder/By Demensions命令,弹出Creat Cylinder By Demensions对话框,在RAD1,RAD2, Z1,Z

2

,THEA1,THEA2文本框中分别输入R+t,0,0,-h,180,270,单击OK按钮

5)显示体编号,并执行体粘结操作:

执行Main Menu/PlotCtrls/Numbering,在VOLU volumes numbers 选中复选框,单击OK 显示体编号。

执行Main Menu/Preprocessor/Modeling/Optate/Booleans/Glue/V olumes命令,弹出Glue

V olumes拾取框,拾取V

1,V

2

,单击OK按钮。

6)保存模型:

执行Utility Menu/File/Save as命令,弹出Save Database窗口,在Save Database to文本框中输入fhead_1_model.db,单击OK按钮。其模型如图2.1所示:

图2.1 fhead_1_model

(5) 划分网格

1)执行Main Menu/Preprocessor/Meshing/MeshTool命令,弹出MeshTool窗口,选中Smart Size的复选框,托动滑块使网格划分级别为1。

2)采用自由网格划分方式生成有限元网格:

单击Mesh Tool中的mesh按钮,拾取V

1,V

2

,单击OK按钮,完成网格划分。

3)保存有限元模型数据件:

执行Utility Menu/File/Save as命令,弹出Save Database窗口,在Save Database to文本框中输入fhead_1_mesh.db,单击OK按钮。

其有限元模型如图2.2所示:

图2.2fhead_1_mesh

(6) 施加载荷并求解

1)显示面及面编号操作:

执行Utility Menu/Plot/Areas命令,显示面;

执行Main Menu/PlotCtrls/Numbering,在AREA areas numbers 选中复选框,单击OK 显示面编号。

2)在面上施加约束:

在面上施加约束:执行Main Menu/Solution/Define Loads/Apply/Structural/Displacement/On Areas命令,弹出一个拾取框,拾取编号为A2的面,单击OK按钮,弹出Apply U,ROT on Areas 对话框。在DOFs to be contrained列表框中选择UZ选项,在V ALUE Displacement value框中输入0,单击OK按钮,即表示以A2面为基准。

在面上施加对称约束:执行Main Menu/Solution/Define Loads/Apply/Structural/

Displacement/Symmetry B.C/On Areas命令,弹出SYMM on Areas拾取框,拾取编号为A

5,A

6

的面,单击Apply按钮,拾取编号为A14,A15的面,单击OK按钮。

3)在面上施加面载荷:

执行Main Menu/Solution/Define Loads/Apply/Structural/Pressure/On Areas命令,弹出一个

拾取框,拾取编号为A

4

,A12的面,单击OK按钮,弹出Apply PRES on Areas对话框。在Load PRES value文本框中输入P,单击OK按钮。

施加约束载荷后的生成结果如图2.3所示:

图2.3 fhead_1_load

4)求解运算:执行Main Menu/Solution/Solve/Solve-Current LS命令,弹出一个提示框。确认后执行File/Close命令,单击OK按钮开始求解运算。出现一个Solution is done对话框时单击Close按钮,完成求解运算。

5)保存分析结果:

执行Utility Menu/File/Save as命令,弹出Save Database窗口,在Save Database to文本框中输入fhead_1_solu.db,单击OK按钮。

(7).进入后处理器查询节点的Mises等效应力

执行Main Menu/General Postproc/Query Results/Subgrid Solu命令,弹出Query Subgrid Solution Data对话框,Item,Comp分别选择Stress和von Mises SEQU选项,单击OK按钮。在弹出的Query Subgrid Results对话框中,选择Max按钮,将显示最大Mises等效应力出现的节点、坐标和应力值:

Node NO.=3

Global X=0

Y=-400

Z=-600

SEQU=1.534e+008

从该节点的Z坐标可以得出,最大Mises等效应力出现在筒体与封头连接处。

由公式(2.5)求得周向应力为:1.3333e+008,由此可以得到应力集中系数K为: K=1.15 执行Main Menu/General Postproc/Plot Results/Contour Plot/Nodal Solu命令,弹出Contour Nodal Solution Data对话框,选择Nodal Solution/Stress/ von Mises stress,单击OK按钮,可以得到形象直观的Mises等效应力云图,如图2.4所示:

需要说明的是:在查询节点的最大Mises等效应力和显示Mises等效应力云图时,应先执行查询操作,再显示应力云图,这样查询得到的是绝对坐标系下未变形前的节点坐标。如果顺序颠倒,则得到的是绝对坐标系下变形后的节点坐标。

图2.4 fhead_1的Mises等效应力云图

2.2带沟槽平封头GUI操作步骤

图2.5 沟槽半径r

压力容器平封头处的沟槽半径r取为37,对其进行应力分析,确定圆角区最小应力集中系数。

(1) 建立工作文件名和标题

1)定义工作文件名:执行Utility Menu/File/Change Jobname命令,在弹出的Change Jobname对话框中输入fhead_2并选择New log and error files 复选框,单击OK按钮。

2)定义工作标题:执行Utility menu /File/Change Tile命令,在弹出的Change Title 对话框中输入the opt of fhead_2,单击OK按钮。

3)重新显示:执行Utility Menu/Plot/Replot命令。

(2) 定义参数和材料属性

1)定义参数的初始值:执行Utility Menu/Parameters/Scalar Parameters命令,弹出Scalar Parameters对话框。在Selection 文本框中输入t=24,单击Accept按钮,输入h=120,单击Accept 按钮,输入S=600,单击Accept按钮,输入P=8e6,单击Accept按钮,输入R=400,单击Accept 按钮,输入过渡圆角半径R1=37,单击Accept按钮单击Close按钮。

2)设置材料的属性:执行Main Menu/Preprocessor/Material Props/Material Models命令,弹出Define Material Model Behavior窗口。双击Material Model Available列表框Structural/linear/Elastic/Isotropic选项,弹出Liner Isotropic Material Properties for Material number1对话框。在EI和PRXY文本框中分别输入2e8及0.3,单击OK按钮,关闭Define Material Model Behavior窗口。

(3) 定义单元类型

执行Main Menu/Preprocessor/Element Type/Add|Edit|Delet命令,弹出Element Types对话框。单击Add按钮,弹出Library of Element Type对话框。在左右列表框中分别选择Structural Solid 和Brick 8node45选项,单击OK按钮,关闭Element Types对话框。

(4) 建立实体模型

根据该压力容器的实际结构特点—轴对称性,建立的模型为其1/8,具体步骤如下:

1)执行Utility Menu/Pan,Zoom,Rotate命令,打开Pan_Zoom_Rotate工具栏单击Iso按钮。

2)生成1/4个圆柱体:

执行Main Menu/Preprocessor/Modeling/Creat/V olumes/Cylinder/By Demensions命令,弹出

,THEA1,THEA2文本框中分别Creat Cylinder By Demensions对话框,在RAD1,RAD2, Z1,Z

2

输入R+t, R,-S,S,180,270,单击OK按钮。

3)移动坐标系:

执行Main Menu/WorkPlane/Offset WP by Increments,在Snaps X,Y,Z Offsets中输入0,0,-600,单击OK,将坐标系沿Z轴负方向移动600mm。

4)生成1/4柱体:

执行Main Menu/Preprocessor/Modeling/Creat/V olumes/Cylinder/By Demensions

,THEA1,THEA2命令,弹出Creat Cylinder By Demensions对话框,在RAD1,RAD2, Z1,Z

2

文本框中分别输入R+t,0,0,-h,180,270,单击OK按钮

5)生成1/4圆环体:

执行Main Menu/Preprocessor/Modeling/Creat/V olumes/Torus/By Demensions命令,弹出Creat Torus By Demensions对话框,在RAD1,RAD2,RADMAJ,THEA1, THEA2文本框中分别

输入R1,0,R-R1, 180,270,单击OK按钮.

5)显示体编号,并执行体减体操作:

执行Main Menu/PlotCtrls/Numbering,在VOLU volumes numbers 选中复选框,单击OK 显示体编号。

执行Main Menu/Preprocessor/Modeling/Optate/Booleans/Subtract/V olumes命令,弹出

Subtract V olumes拾取框,拾取V

2

,单击Apply按钮,再拾取V3,单击OK按钮。

6)执行体粘结操作:

执行Main Menu/Preprocessor/Modeling/Optate/Booleans/Glue/V olumes命令,弹出Glue

V olumes拾取框,拾取V

1

,V4,单击OK按钮。

7)保存模型:

执行Utility Menu/File/Save as命令,弹出Save Database窗口,在Save Database to文本框中输入fhead_2_model.db,单击OK按钮。其模型如图2.6所示:

图2.6 fhead_2_model

(5) 划分网格

1)执行Main Menu/Preprocessor/Meshing/MeshTool命令,弹出MeshTool窗口,选中Smart Size的复选框,托动滑块使网格划分级别为1。

2)采用自由网格划分方式生成有限元网格:

单击Mesh Tool中的mesh按钮,拾取V

1,V

2

,单击OK按钮,或直接点选pick all按钮,

完成网格划分。

3)保存有限元模型数据件:

执行Utility Menu/File/Save as命令,弹出Save Database窗口,在Save Database to文本框中输入fhead_2_mesh.db,单击OK按钮。

其有限元模型如图2.7所示:

图2.7fhead_2_mesh

(6) 施加载荷并求解

1)显示面及面编号操作:

执行Utility Menu/Plot/Areas命令,显示面;

执行Main Menu/PlotCtrls/Numbering,在AREA areas numbers 选中复选框,单击OK显示面编号。

2)在面上施加约束:

在面上施加约束:执行Main Menu/Solution/Define Loads/Apply/Structural/Displacement/On Areas命令,弹出一个拾取框,拾取编号为A2的面,单击OK按钮,弹出Apply U,ROT on Areas 对话框。在DOFs to be contrained列表框中选择UZ选项,在V ALUE Displacement value框中输入0,单击OK按钮,即表示以A2面为基准。

在面上施加对称约束:

执行Main Menu/Solution/Define Loads/Apply/Structural/Displacement/

Symmetry B.C/On Areas命令,弹出SYMM on Areas拾取框,拾取编号为A

5,A

6

的面,

单击Apply按钮,拾取编号为A11,A12的面,单击OK按钮。

3)在面上施加面载荷:

执行Main Menu/Solution/Define Loads/Apply/Structural/Pressure/On Areas命令,弹出一个

拾取框,拾取编号为A

4

,A8,A16,A19的面,单击OK按钮,弹出Apply PRES on Areas对话框。在Load PRES value文本框中输入P,单击OK按钮。

施加约束载荷后的生成结果如图2.8所示:

汇编语言程序上机过程

汇编语言程序上机过程 实验目的: 1、掌握常用工具软件 PE,MASM和LINK的使用。 2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。 4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序: datasegment messagedb'This is a sample program of keyboard and disply' db0dh,0ah,'Please strike the key!',0dh,0ah,'$' dataends stacksegmentpara stack 'stack' db50 dup(?) stackends codesegment assumecs:code,ds:data,ss:stack start:movax,data movds,ax movdx,offset message movah,9 int21h again:movah,1 int21h cmpal,1bh jeexit cmpal,61h jcnd cmpal,7ah jand andal,11011111b nd:movdl,al movah,2 int21h jmpagain

exit:movah,4ch int21h codeends endstart 实验步骤: 1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。 2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3、用TYPE命令显示1产生的.LST文件。 4、用LINK将.OBJ文件连接成可执行的.EXE文件。 5、在DOS状态下运行LINK产生的。EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。 实验报告: 1、汇编,连接及调试时产生的错误,其原因及解决办法。 2、思考: 1)若在源程序中把INT 21H的'H'省去,会产生什么现象? 2)把 INT 21H 4CH号功能改为 INT 20H,行不行?

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

SAS软件运用实验指导书

数据分析 实验指导书 理学院实验中心数学专业实验室编写

实验一SAS系统的使用 【实验类型】(验证性) 【实验学时】2学时 【实验目的】使学生了解SAS系统,熟练掌握SAS数据集的建立及一些必要的SAS语句。 【实验内容】 1. 启动SAS系统,熟悉各个菜单的内容;在编辑窗口、日志窗口、输出窗口之间切换。 2. 建立数据集 表1 Name Sex Math Chinese English Alice f908591 Tom m958784 Jenny f939083 Mike m808580 Fred m848589 Kate f978382 Alex m929091 Cook m757876 Bennie f827984 Hellen f857484 Wincelet f908287 Butt m778179 Geoge m868582 Tod m898484 Chris f898487 Janet f866587 1)通过编辑程序将表1读入数据集sasuser.score; 2)将下面记事本中的数据读入SAS数据集,变量名为code name scale share price: 000096 广聚能源8500 0.059 1000 13.27 000099 中信海直6000 0.028 2000 14.2 000150 ST麦科特12600 -0.003 1500 7.12 000151 中成股份10500 0.026 1300 10.08 000153 新力药业2500 0.056 2000 22.75

3)将下面Excel表格中的数据导入SAS数据集work.gnp; name x1 x2 x3 x4 x5 x6 北京190.33 43.77 7.93 60.54 49.01 90.4 天津135.2 36.4 10.47 44.16 36.49 3.94 河北95.21 22.83 9.3 22.44 22.81 2.8 山西104.78 25.11 6.46 9.89 18.17 3.25 内蒙古128.41 27.63 8.94 12.58 23.99 3.27 辽宁145.68 32.83 17.79 27.29 39.09 3.47 吉林159.37 33.38 18.37 11.81 25.29 5.22 黑龙江116.22 29.57 13.24 13.76 21.75 6.04 上海221.11 38.64 12.53 115.65 50.82 5.89 江苏144.98 29.12 11.67 42.6 27.3 5.74 浙江169.92 32.75 21.72 47.12 34.35 5 安徽153.11 23.09 15.62 23.54 18.18 6.39 福建144.92 21.26 16.96 19.52 21.75 6.73 江西140.54 21.59 17.64 19.19 15.97 4.94 山东115.84 30.76 12.2 33.1 33.77 3.85 河南101.18 23.26 8.46 20.2 20.5 4.3 湖北140.64 28.26 12.35 18.53 20.95 6.23 湖南164.02 24.74 13.63 22.2 18.06 6.04 广东182.55 20.52 18.32 42.4 36.97 11.68 广西139.08 18.47 14.68 13.41 20.66 3.85 四川137.8 20.74 11.07 17.74 16.49 4.39 贵州121.67 21.53 12.58 14.49 12.18 4.57 云南124.27 19.81 8.89 14.22 15.53 3.03 陕西106.02 20.56 10.94 10.11 18 3.29 甘肃95.65 16.82 5.7 6.03 12.36 4.49 青海107.12 16.45 8.98 5.4 8.78 5.93 宁夏113.74 24.11 6.46 9.61 22.92 2.53 新疆123.24 38 13.72 4.64 17.77 5.75 4)使用VIEWTABLE格式新建数据集earn,输入如表所示数据Year earn 1981 125000 1982 136000 1983 122350 1984 65200 1985 844600 1986 255000 1987 265000 1988 280000 1989 136000

数值分析上机题目

数值分析上机题目 1、 分别用不动点迭代与Newton 法求解方程250x x e -+=的正根与负根。 2、 Use each of the following methods to find a solution in [0.1,1] accurate to within 10^-4 for 4326005502002010x x x x -+--= a. Bisection method b. Newton’s method c. Secant method d. Method of False Position e. Muller’s method 3、 应用Newton 法求f (x )的零点,e=10^-6,这里f (x )=x-sin (x )。 再用求重根的两种方法求f (x )的零点。 4、 应用Newton 法求f (x )的零点,e=10^-6,f(x)=x-sin(x) 再用Steffensen’s method 加速其收敛。 5、 用Neville’s 迭代差值算法,对于函数2 1 (),11125f x x x = -≤≤+进行lagrange 插值。取不同的等分数n=5,10,将区间[-1,1]n 等分,取等距节点。把f(x)和插值多项式的曲线画在同一张图上进行比较。 6、 画狗的轮廓图 7、 Use Romberg integration to compute the following approximations to ? a 、 Determine R1,1,R2,1,R3,1,R4,1and R5,1,and use these approximations to predict the value of the integral. b 、 Determine R2,2 ,R3,3 ,R4,4 ,and R5,5,and modify your prediction. c 、 Determine R6,1 ,R6,2 ,R6,3 ,R6,4 ,R6,5 and R6,6,and modify your prediction.

数值分析实验指导 - 7 积分

数值分析实验指导 潘志斌 2014年3月

实验七 数值积分 数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。 基础实验 7.1 Newton-cotes 型求积公式 实验目的:学会Newton-cotes 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? π cos xdx e x 实验要求:选择等分份数n ,用复化Simpson 求积公式求上述定积分的误差不超过810-的近似值,用MATLAB 中的内部函数int 求此定积分的准确值,与利用复化Simpson 求积公式计算的近似值进行比较。 7.2 Romberg 算法 实验目的:学会数值求积的Romberg 算法,并应用该算法于实际问题. 实验内容:求定积分 ? 1 5 .0dx x 实验要求: (1)要求程序不断加密对积分区间的等分,自动地控制Romberg 算法中的加速收敛过程,直到定积分近似值的误差不超过610-为止,输出求得的定积分近似值。 (2)可用MATLAB 中的内部函数int 求得此定积分的准确值与Romberg 算法计算的近似值进行比较。 7.3 Gauss 型求积公式 实验目的:学会Gauss 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? -+4 42 1x dx 实验要求: (1)把Gauss 点的表格存入计算机,以Gauss-Legendre 求积公式作为本实验的例子,要求程序可以根据不同的阶数n ,自动地用n 阶Gauss-Legendre 求积

公式计算上述定积分的近似值.体会Gauss型求积公式是具有尽可能高的代数精度的数值求积公式。 (2)可用MATLAB中的内部函数int求得此定积分的准确值与Gauss型求积公式求得的值进行比较。

汇编语言上机操作

汇编语言上机操作 一、建立子文件夹 如:D:\hb\masm 二、复制相关文件 把masm.exe、link.exe、ml.exe三个文件复制到上述文件夹中。 三、进入DOS方式 开始/运行/cmd 当前提示符可能是: C:\documents and settings\administrator> 四、常用DOS操作命令 1、改变当前盘 输入d: 并回车,屏幕显示: D:\> 2、改变当前目录 1)进入下一级目录 D:\>cd hb 回车后,屏幕显示: D:\hb>cd masm 回车后,屏幕显示: E:\hb\masm> 问题:可以一次进入下面二级或多级目录吗? 2)返回上一级目录 D:\hb\masm>cd.. 回车后,屏幕显示: D:\hb\>cd.. 回车后,屏幕显示: D:\> 问题:可以直接返回根目录吗? D:\hb\masm>cd\ 回车后,屏幕显示: D:\> 3、显示当前目录容 D:\>dir /p 分页显示当前目录容 问题:如何显示d:\text中的容? D:\>dir d:\text↙ 4、DOS方式下如何运行程序? DOS方式下的可执行文件(即程序文件)扩展名为.exe或.,运行时只需要在系统提示符下输入文件主名即可。例如,有一个文件名为test.exe,存入在D:\hb\masm 中,运行时,可以这样做: D:\hb\masm>test↙ 五、汇编语言上机过程 1、编辑源程序 运行:edit 回车后,进入EDIT环境,输入完后存盘(file/save)并退出(file/exit)。

2、汇编 D:\hb\masm>masm add5.asm↙ 生成目标程序文件add5.obj。(如果有语法错误,会提示错误所在行号和错误类型)3、连接 D:\hb\masm>link add5↙ 生成可执行文件add5.exe。 六、DEBUG程序调用及汇编语言程序调试方法 调试程序DEBUG是DOS支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。DEBUG程序为用户提供多种命令,大致有:显示和修改寄存器和存贮单元的容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入存和写入磁盘等。用户利用这些命令可以查出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要命令意义。 (一)DEBUG程序的启动 DEBUG程序有两种启动方法。DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入存。但是这样启动只把DEBUG 程序本身装入存并进入等待DEBUG命令状态,还没有把要调试的程序装入存。第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。打入的命令格式如下: DEBUG[d:][path]filename[.ext][parml][parm2] 其中的Filename是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。 例进入DEBUG程序并装入要调试程序。其操作如下: D:\hb\masm>DEBUG add5.exe (进入DEBUG,并装配add5.exe) 此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。 如果启动DEBUG时没有指定要调试的文件名,则需要用N命令指定要调试的文件,再用L命令将其装入存。操作如下: D:\hb\masm>debug↙ - n add5.exe↙ - l↙ (二)DEBUG命令 在说明每个命令之前,先说明一些共同信息: ■DEBUG命令都是以一个英文字母开头,后面跟一个或多个参数。 ■命令字母和参数可用大写或小写或混合形式。 ■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 ■执行任何命令期间都可用Ctrl+Break键方法结束命令的执行。

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

三、结果 从结果可以看出有效位数是6位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

汇编语言上机指导

实验一DEBUG常用命令及8086指令使用 实验目的: 通过实验掌握下列知识: 1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 2、DEBUG命令: A,D,E,F,H,R,T,U。 3、ASCII码及用16进制数表示二进制码的方法。 4、8086寄存器: AX,BX,CX,DX,F,IP。 内容及步骤: 一、DEBUG 命令使用: 1、打 DEBUG 进入 DEBUG 控制,显示提示符 '_ '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存 单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码? 6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH 7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF 和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 二、8086常用指令练习 1、传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48

MOV DX,75AB XCHG AX,DX 2)用U命令检查键入的程序并记录,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。 2、加减法指令: 1)用A命令在内存100H处键入下列内容: MOV AH,34 MOV AL,22 ADD AL,AH SUB AL,78 MOV CX,1284 MOV DX,5678 ADD CX,DX SUB CX,AX SUB CX,CX 2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 3、带进位加减法: 1)用A命令在内存200H处键入下列内容,并用U命令检查: MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F

matlab上机实验指导书

MATLAB应用基础实验指导书

第一章 MATLAB及其工作环境介绍 (1) 1.1 MATLAB简介 (1) 1.2 MATLAB的工作环境介绍 (1) 1.3 MATLAB的基本管理命令 (4) 第二章 MATLAB的数值计算功能 (5) 2.1 变量与赋值语句 (5) 2.2 MATLAB矩阵 (5) 2.3 MATLAB表达式 (10) 2.4 MATLAB常用数学函数 (11) 2.5 矩阵的基本运算 (12) 2.6 数组运算 (16) 2.7 多项式及其运算 (17) 第三章 MATLAB程序设计入门 (19) 3.1 M文件 (19) 3.2 数据的输入输出 (21) 3.3 全局变量和局部变量 (23) 3.4 程序流程控制 (23) 第四章 MATLAB的符号运算功能 (28) 4.1 建立符号对象 (28) 4.2 符号算术运算 (29) 4.3 符号微积分运算 (32) 4.4 符号函数的可视化 (34) 第五章 MATLAB的可视化功能 (37) 5.1 二维图形 (37) 5.2绘制三维图形 (42) 5.3 特殊坐标图形 (44) 5.4 图形句柄 (45)

第一章 MATLAB及其工作环境介绍 1.1 MATLAB简介 MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。 MATLAB具有以下基本功能: ●数值计算功能 ●符号计算功能 ●图形处理及可视化功能 ●可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。 MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。 1.2 MATLAB的工作环境介绍 一、MATLAB的工作环境

数值分析作业思考题汇总

¥ 数值分析思考题1 1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。 2、相对误差在什么情况下可以用下式代替 3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。 4、取 ,计算 ,下列方法中哪种最好为什么(1)(3 3-,(2)(2 7-,(3) ()3 1 3+ ,(4) ()6 1 1 ,(5)99- , 数值实验 数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。 Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。 数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 $ r e x x e x x ** * ** - == 141 . ≈)61

汇编语言上机实验指导书(不含源代码)

汇编语言上机实验指导书 一、概述 上机实验总学时为14学时,其中综合性实验为2学时。实验共有6项暂定为7次,每次2学时。 1.实验辅导的主要内容 实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。开始的实验介绍较细,后面的实验简要介绍。 2.实验的软硬件要求 关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。 3.加强实践能力的培养 实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。其中包括: 实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等; 开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。 对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。 实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性) 1.实验目的: (1) 熟悉汇编语言运行环境和方法 (2)了解如何使用汇编语言编制程序 (3) 熟悉DEBUG有关命令的使用方法 (4) 利用DEBUG掌握有关指令的功能 (5) 利用DEBUG运行简单的程序段 2.实验内容 (1)学会输入、编辑汇编语言程序 (2)学会对汇编语言程序进行汇编、连接和运行 (3)进入和退出DEBUG程序 (4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下。 3.实验准备 (1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。 (2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果的分析。 (3) 编写一个程序:比较2个字符串所含的字符是否相同。若相同则显示’Match.’,否则显示’No match!’; (1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。 4.实验步骤 (1)在DOS提示符下,进入MASM目录。 (2)在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。 ①调用edit输入、编辑源程序并保存在指定的目录中;例:edit abc.asm ②用汇编程序masm对源程序汇编产生目标文件obj。例:masm abc 不断修改错误,直至汇编通过为止。 ③用连接程序link产生执行文件exe.例:link abc

数值分析丛书

作者:李庆扬,王能超,易大义编 出版社:清华大学出版社 出版时间:2008年12月 本书是为理工科大学各专业普遍开设 的“数值分析”课程编写的教材。其内容包 括插值与逼近,数值微分与数值积分,非 线性方程与线性方程组的数值解法,矩阵 的特征值与特征向量计算,常微分方程数 值解法。每章附有习题并在书末给出了部 分答案,每章还附有复习与思考题和计算 实习题。全书阐述严谨,脉络分明,深入 浅出,便于教学。 本书也可作为理工科大学各专业研究 生学位课程的教材,并可供从事科学计算 的科技工作者参考。 作者:徐萃薇,孙绳武编著 出版社:高等教育出版社 本书为普通高等教育“十一五”国家 级规划教材。本书从服务于多层次、多 专业、多学科的教学需要出发,在选材 上考虑普适性,涉及现代数字电子计算 机上适用的各类数学问题的数值解法以 及必要的基础理论,在材料组织安排上 给讲授者根据教学要求和学生情况适当 剪裁的自由,一些内容还可作为阅读材 料。 新版全书经过整理、润色,多处内容有 所修改,乃至重写。考虑到代数计算在 应用中所占份额较大,是比较活跃的领 域,六至十章改动较大;新增共轭斜量 法、预善共轭斜量法、拟Newton法等;改进了例题设置,增加数量,加强例题间联系;新 增习题参考答案;参考文献收集了国内外内容结构与本书相近的、有影响的、包括新近面世 的一些书籍,并按大学生教材和研究生教材或专著分列,可供读者加深理解和进一步提高使 用。有些对研究工作亦不无裨益。 本书算法描述不拘一格,或用自然语言,或用某种形式语言(以描述某些细节),便于理解, 也便于编程。本书可作为工科非计算数学专业本科生学习“计算方法”课程的教材。

8086汇编语言上机调试步骤

8086汇编语言上机调试步骤 1、在网络课堂-微机原理与接口技术-实验指导-汇编工具下载,下载汇编工具并解压,文件夹名为“masm”。 2、用鼠标点击“masm”文件夹。进入该文件夹后将看到 MASM.EXE, LINK.EXE , DEBUG.EXE3个文件进行复制操作。 3、用鼠标点击“我的电脑”再点击D: 盘,并在 D: 盘上建立新的“ MASM”文件夹,最后将上面的3个文件全部复制到该文件夹中。(注意实验所有的文件都放在该文件夹内) 4、用文本编辑软件UltraEdit-32、WINDOWS 中的记事本或其它的文本编辑器输入汇编语言程序, 注意在最后一行的 END输入完后要按一次回车键,保存的源 文件的扩展各一定要是“.asm”如: example.asm 。(建议用记事本输入源程序,另存时,保持类型选择“所有文件”如图所示) 5、进入MS-DOS方式 ( 从开始>程序>附件>命令提示符) 或者(从程序 > 运行输入“cmd”回车,进入MS-DOS环境。

6、进入D:>MASM文件夹 7、显示MASM文件夹内所有文件“dir”命令 8、在 DOS 提示符下进行汇编、连接、动态调试等操作。 例如: 对源文件 example.asm 进行的操作

D:\MASM\MASM example.asm;汇编源程序操作 D:\MASM\LINK example.dbj;连接并生成扩展名为 .EXE 的可执行文件 D:\MASM\DEBUG example.exe;对可执行文件进行调试 9、要求掌握的调试命令(在 DEBUG 中使用的命令) a: U - 反汇编命令 用法: -U 代码段地址:起始偏移地址如:-U CS:100 b: D - 显示内存中的数据命令 用法: -D 数据段地址:存放数据的偏移地址如:-D DS:00 20 c: T - 单步执行程序命令 用法: -T 要执行的指令条数如:-T 3 d: G - 连续执行程序命令 用法: -G=代码段地址:指令的起始偏移地址指令的结束偏移地址如: -G=CS:100 106 注意: 结束地址一定要是操作码的所在地址 e: R - 查看和修改寄存器数据命令 用法: -R 回车如:-R AX f: F - 对内存单元填充数据命令 用法: -F 数据段地址:偏移首地址偏移未地址填入的数据 如: -F DS:100 120 ff g: Q - 退出”DEBUG“应用程序命令 10、应用例子 ;二进制到BCD转换(a.asm) ;将给定的一个二进制数,转换成二十进制(BCD)码 DATA SEGMENT RESULT DB 3 DUP(?) DATA ENDS CODE SEGMENT

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

余敦辉《汇编语言》实验指导书实验1-实验3

《汇编语言》实验指导书

目录 实验一Debug命令的使用 (3) 实验二基本汇编指令的使用 (9) 实验三汇编语言程序的调试与运行 (13) 实验四系统功能调用程序的调试与运行………………错误!未定义书签。 实验五分支程序设计……………………………………错误!未定义书签。 实验六循环程序设计……………………………………错误!未定义书签。 实验七子程序设计………………………………………错误!未定义书签。 实验八高级汇编语言程序设计…………………………错误!未定义书签。 实验九I/O程序设计……………………………………错误!未定义书签。 实验十中断程序设计……………………………………错误!未定义书签。 实验十一综合程序设计 (38)

实验一Debug命令的使用 一、知识点 1、DEBUG简介 DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。 DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。 DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。 DEBUG命令的使用注意问题: (1)字母不分大小写 (2)只使用十六进制数,但没有带后缀字母“H” (3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。 (4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。 2、Debug的调入和退出 以WIN7环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态: C:\Documents and Settings\lfy> 然后输入命令: >Debug 进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。 退出Debug的命令:Q 3、Debug常用命令 (1)汇编命令A,格式为: - A [地址] 功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态 应用:用于调试一条指令或几条指令组成的一个程序段。

汇编语言上机过程

第一步:编写程序 用记事本编写汇编语言程序,保存为.ASM 文件,保存时,保存类型选择“所有文件”。注意,应将汇编语言程序保存在包含MASM.EXE 及LINK.EXE 的目录下(本例中假定在C盘的MASM目录下,即“C:\MASM”)。 第二步:编译 进入DOS命令提示符环境。该环境的访问方法一:windows “开始”->“运行”,输入“cmd”),如下图: 访问方法二:windows “开始”->“程序”->“附件”->“命令提示符”,如下图所示:

进入DOS命令提示符方式: 用CD 命令进入MASM目录,如下图所示: (若个人的MASM目录在D盘下,可如下操作:)

回车后即进入存放有MASM.EXE LINK.EXE EX11.ASM 的目录D:\MASM : 现在开始用汇编程序MASM.EXE 编译汇编语言源程序EX11.ASM: 回车后开始编译:

若编译出现0处错误(如上图椭圆框内),则表示编译通过,正确生成EX11.OBJ文件: 接下来转入第四步。否则,若出现如下类似界面: 表示出现一处错误,该错误在EX11.ASM的第七行,错误为“出现未定义的符号AS”,则转入第三步。 第三步:编辑程序 用 EDIT.EXE 编辑出现错误的程序 EX11.ASM:

回车后,出现如下界面: 找到第7行,并修改相应错误。修改完成后,点击菜单“File”或用“ALT”回车打开“File”菜单,首先选择“Save”保存修改,然后选择“Exit”退出编辑状态: 重复如下编译过程,重新编译修改过的EX11.ASM,直至全部错误修改完成:

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

相关文档
相关文档 最新文档