文档库 最新最全的文档下载
当前位置:文档库 › 基于F5算法的Grobner基计算程序

基于F5算法的Grobner基计算程序

基于F5算法的Grobner基计算程序
基于F5算法的Grobner基计算程序

计算方法上机实验报告

. / 《计算方法》上机实验报告 班级:XXXXXX 小组成员:XXXXXXX XXXXXXX XXXXXXX XXXXXXX 任课教师:XXX 二〇一八年五月二十五日

前言 通过进行多次的上机实验,我们结合课本上的内容以及老师对我们的指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法和Gauss 求积公式等六种算法的原理和使用方法,并参考课本例题进行了MATLAB 程序的编写。 以下为本次上机实验报告,按照实验内容共分为六部分。 实验一: 一、实验名称及题目: Newton 迭代法 例2.7(P38):应用Newton 迭代法求在附近的数 值解,并使其满足. 二、解题思路: 设'x 是0)(=x f 的根,选取0x 作为'x 初始近似值,过点())(,00x f x 做曲线)(x f y =的切线L ,L 的方程为))((')(000x x x f x f y -+=,求出L 与x 轴交

点的横坐标) (') (0001x f x f x x - =,称1x 为'x 的一次近似值,过点))(,(11x f x 做曲线)(x f y =的切线,求该切线与x 轴的横坐标) (') (1112x f x f x x - =称2x 为'x 的二次近似值,重复以上过程,得'x 的近似值序列{}n x ,把) (') (1n n n n x f x f x x - =+称为'x 的1+n 次近似值,这种求解方法就是牛顿迭代法。 三、Matlab 程序代码: function newton_iteration(x0,tol) syms z %定义自变量 format long %定义精度 f=z*z*z-z-1; f1=diff(f);%求导 y=subs(f,z,x0); y1=subs(f1,z,x0);%向函数中代值 x1=x0-y/y1; k=1; while abs(x1-x0)>=tol x0=x1; y=subs(f,z,x0); y1=subs(f1,z,x0); x1=x0-y/y1;k=k+1; end x=double(x1) K 四、运行结果:

平面三角形单元有限元程序设计

. 一、题目 如图1所示,一个厚度均匀的三角形薄板,在顶点作用沿板厚方向均匀分布的竖向载荷。已知:P=150N/m ,E=200GPa ,=0.25,t=0.1m ,忽略自重。试计算薄板的位移及应力分布。 要求: 1. 编写有限元计算机程序,计算节点位移及单元应力。(划分三角形 单元,单元数不得少于30个); 2. 采用有限元软件分析该问题(有限元软件网格与程序设计网格必 须一致),详细给出有限元软件每一步的操作过程,并将结果与程序计算结果进行对比(任选取三个点,对比位移值); 3. 提交程序编写过程的详细报告及计算机程序; 4. 所有同学参加答辩,并演示有限元计算程序。 有限元法中三节点三角形分析结构的步骤如下: 1)整理原始数据,如材料性质、荷载条件、约束条件等,离散结构并进行单元编码、结点编码、结点位移编码、选取坐标系。 2)单元分析,建立单元刚度矩阵。 3)整体分析,建立总刚矩阵。 4)建立整体结构的等效节点荷载和总荷载矩阵 5)边界条件处理。 6)解方程,求出节点位移。 7)求出各单元的单元应力。 8)计算结果整理。 一、程序设计 网格划分 如图,将薄板如图划分为6行,并建立坐标系,则

刚度矩阵的集成 建立与总刚度矩阵等维数的空矩阵,已变单元刚度矩阵的集成。 由单元分析已知节点、单元的排布规律,继而通过循环计算求得每个单元对应的节点序号。 通过循环逐个计算:(1)每个单元对应2种单元刚度矩阵中的哪一种; (2)该单元对应总刚度矩阵的那几行哪几列 (3)将该单元的单元刚度矩阵加入总刚度矩阵的对应行列 循环又分为3层循环:(1)最外层:逐行计算 (2)中间层:该行逐个计算 (3)最里层:区分为第 奇/偶 数个计算 单元刚度的集成:[ ][][][][][]' '''''215656665656266256561661e Z e e e Z e Z e e e e k k k K k k k k k k +?++=? =?==?==?=?????? 边界约束的处理:划0置1法 X Y P X Y P

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为

( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

方格网计算步骤及方法

方格网计算步骤及方法 ; —— ——

2. 常用方格网计算公式

) 注:1 )a ——方格网的边长,m ; b 、 c ——零点到一角的边长,m ; h 1,h 2,h 3,h 4——方格网四角点的施工高程,m ,用绝对值代入; Σh ——填方或挖方施工高程的总和 ,m ,用绝对值代入; ——挖方或填方体积,m 。 2)本表公式是按各计算图形底面积乘以平均施工高程而得出的。 土方量的计算是建筑工程施工的一个重要步骤。工程施工前的设计阶段必须对土石方量进行预算,它直接关系到工程的费用概算及方案选优。在现实中的一些工程项目中,因土方量计算的精确性而产生的纠纷也是经常遇到的。如何利用测量单位现场测出的地形数据或原有的数字地形数据快速准确的计算出土方量就成了人们日益关心的问题。比较经 常的几种计算土方量的方法有:方格网法、等高线法、断面法、DTM 法、区域土方量平衡法和平均高程法等。 1、断面法 当地形复杂起伏变化较大,或地狭长、挖填深度较大且不规则的地段,宜选择横断面法进行土方量计算。

上图为一渠道的测量图形,利用横断面法进行计算土方量时,可根据渠LL,按一定的长度L设横断面A1、A2、A3……Ai等。 断面法的表达式为 (1) 在(1)式中,Ai-1,Ai分别为第i单元渠段起终断面的填(或挖)方面积;Li为渠段长;Vi为填(或挖)方体积。 土石方量精度与间距L的长度有关,L越小,精度就越高。但是这种方法计算量大, 尤其是在范围较大、精度要求高的情况下更为明显;若是为了减少计算量而加大断面间隔,就会降低计算结果的精度; 所以断面法存在着计算精度和计算速度的矛盾。 2、方格网法计算 对于大面积的土石方估算以及一些地形起伏较小、坡度变化平缓的场地适宜用格网法。这种方法是将场地划分成若干个正方形格网,然后计算每个四棱柱的体积,从而将所有四棱柱的体积汇总得到总的土方量。在传统的方格网计算中,土方量的计算精度不高。现在我们引入一种新的高程内插的方法,即杨赤中滤波推估法。 2.1杨赤中推估 杨赤中滤波与推估法就是在复合变量理论的基础上,对已知离散点数据进行二项式加权游动平均,然后在滤波的基础上,建立随即特征函数和估值协方差函数,对待估点的属性值(如高程等)进行推估。 2.2待估点高程值的计算 首先绘方格网, 然后根据一定范围内的各高程观测值推估方格中心O的高程值。绘制方格时要根据场地范围绘制。 由离散高程点计算待估点高程为

西安交通大学计算方法B上机报告

计算方法上机报告

姓名: 学号: 班级:能动上课班级:

题目及求解: 一、对以下和式计算: ∑ ∞ ? ?? ??+-+-+-+=0681581482184161n n n n S n ,要求: ① 若只需保留11个有效数字,该如何进行计算; ② 若要保留30个有效数字,则又将如何进行计算; 1 算法思想 (1)根据精度要求估计所加的项数,可以使用后验误差估计,通项为: 1421114 16818485861681 n n n a n n n n n ε??= ---<< ?+++++??; (2)为了保证计算结果的准确性,写程序时,从后向前计算; (3)使用Matlab 时,可以使用以下函数控制位数: digits(位数)或vpa(变量,精度为数) 2 算法结构 ;0=s ?? ? ??+-+-+-+= 681581482184161n n n n t n ; for 0,1,2,,n i =??? if 10m t -≤ end; for ,1,2,,0n i i i =--??? ;s s t =+ 3 Matlab 源程序 clear; %清除工作空间变量 clc; %清除命令窗口命令 m=input('请输入有效数字的位数m='); %输入有效数字的位数 s=0;

for n=0:50 t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); if t<=10^(-m) %判断通项与精度的关系break; end end; fprintf('需要将n值加到n=%d\n',n-1); %需要将n值加到的数值 for i=n-1:-1:0 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s=s+t; %求和运算 end s=vpa(s,m) %控制s的精度 4 结果与分析 若保留11位有效数字,则n=7,此时求解得: s =3.1415926536; 若保留30位有效数字时,则n=22, 此时求解得: s =3.8。 通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。 二、某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:米)如下表所示:

方格网计算步骤及实例

一、读识方格网图 方格网图由设计单位(一般在1:500的地形图上)将场地划分为边长a=10~40m的若干方格,与测量的纵横坐标相对应,在各方格角点规定的位置上标注角点的自然地面标高(H)和设计标高(Hn),如图1-3所示. 图1-3 方格网法计算土方工程量图 二、场地平整土方计算 考虑的因素: ① 满足生产工艺和运输的要求; ② 尽量利用地形,减少挖填方数量; ③争取在场区内挖填平衡,降低运输费; ④有一定泄水坡度,满足排水要求. ⑤场地设计标高一般在设计文件上规定,如无规定: A.小型场地――挖填平衡法; B.大型场地――最佳平面设计法(用最小二乘法,使挖填平衡且总土方量最小)。 1、初步标高(按挖填平衡),也就是设计标高。如果已知设计标高,1.2步可跳过。

场地初步标高: H0=(∑H1+2∑H2+3∑H3+4∑H4)/4M H1--一个方格所仅有角点的标高; H2、H3、H4--分别为两个、三个、四个方格共用角点的标高. M——方格个数. 2、地设计标高的调整 按泄水坡度、土的可松性、就近借弃土等调整. 按泄水坡度调整各角点设计标高: ①单向排水时,各方格角点设计标高为: Hn = H0 ±Li ②双向排水时,各方格角点设计标高为:Hn = H0± Lx ix± L yi y 3.计算场地各个角点的施工高度 施工高度为角点设计地面标高与自然地面标高之差,是以角点设计标高为基准的挖方或填方的施工高度.各方格角点的施工高度按下式计算: 式中 hn------角点施工高度即填挖高度(以“+”为填,“-”为挖),m; n------方格的角点编号(自然数列1,2,3,…,n). Hn------角点设计高程, H------角点原地面高程. 4.计算“零点”位置,确定零线 方格边线一端施工高程为“+”,若另一端为“-”,则沿其边线必然有一不挖不填的点,即“零点”(如图1-4所示). 图1-4 零点位置

计算方法上机实验报告

《计算方法》上机实验报告 班级:XXXXXX 小组成员:XXXXXXX XXXXXXX XXXXXXX XXXXXXX 任课教师:XXX 二〇一八年五月二十五日

前言 通过进行多次的上机实验,我们结合课本上的内容以及老师对我们的指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法和Gauss 求积公式等六种算法的原理和使用方法,并参考课本例题进行了MATLAB 程序的编写。 以下为本次上机实验报告,按照实验内容共分为六部分。 实验一: 一、实验名称及题目: Newton 迭代法 例2.7(P38):应用Newton 迭代法求 在 附近的数值解 ,并使其满足 . 二、解题思路: 设'x 是0)(=x f 的根,选取0x 作为'x 初始近似值,过点())(,00x f x 做曲线)(x f y =的切线L ,L 的方程为))((')(000x x x f x f y -+=,求出L 与x 轴交点的横坐标) (') (0001x f x f x x - =,称1x 为'x 的一次近似值,过点))(,(11x f x 做曲线)(x f y =的切线,求该切线与x 轴的横坐标) (') (1112x f x f x x - =称2x 为'x

的二次近似值,重复以上过程,得'x 的近似值序列{}n x ,把 ) (') (1n n n n x f x f x x - =+称为'x 的1+n 次近似值,这种求解方法就是牛顿迭代法。 三、Matlab 程序代码: function newton_iteration(x0,tol) syms z %定义自变量 format long %定义精度 f=z*z*z-z-1; f1=diff(f);%求导 y=subs(f,z,x0); y1=subs(f1,z,x0);%向函数中代值 x1=x0-y/y1; k=1; while abs(x1-x0)>=tol x0=x1; y=subs(f,z,x0); y1=subs(f1,z,x0); x1=x0-y/y1;k=k+1; end x=double(x1) K 四、运行结果: 实验二:

南方CASS方格网计算土方步骤

南方CASS方格网计算土方步骤 一:现场采集数据: 已知坐标点和高程,可以直接利用数据采集来采集要计算土方范围里的点(要算十米格子土方图,实际中采集点为5-8米一点,二十米格子为12-16米一点,中间地形变化比较大的全部要采集,砍高砍底要全部采集),同时范围边采集,而对于没坐标点的可以利用一个固定点为零平台,坐标全假设为0,利用0位角定向即可采集数据,方法和上面一样,再后一个不同之处就是会要采集个平整到哪处位置点的高程将成为你计算土方量的设计高程。 二:开始计算: 传好数据会出现记事本格式的DAT文件如图 , 在南方CASS绘图处理菜单中展野外测点点号,就会出现如图

然后把范围用多段线框出来,如图 把范围框线改别图层并关闭图层,删掉展点号,后打开关闭的图层。 打开CASS菜单里工程应用里方格网计算,会出现下图

接着就是采集原地面高程点数据文件输入如图 再后看到有三个设计面和一个方格网格子距离输入 你将可以选择是有坡度计算还是平整计算和十米格子或二十米格子计算等。 一般情况多用设计面第一个和第二个,第一个平整很简单直接输入设计高程,如图 接着就是你选择方格宽度,下图为20米

第二种有坡度的计算,设计面不同如图 基准点就是坡度开始位置点击平面会出现坐标,向下方向上一点就是坡度结束点点击平面出现的坐标,基准点设计高程就是坡度开始位置设计高程,接着也是选择格子距离10米或20米,下图为20米,

有坡比的和平整的不同之处就是设计高程会不同,如下图对比 有坡比的蓝色设计高程呈现不同值

平整的蓝色设计高程全为32米。 第三种设计面计算和第二种一样,就是一个坡度后接着再一个坡度。下面给个例子做下: 条件:已知采集好了原地面数据,平整高度为35米计算。 已知采集好了原地面数据,从左到右正直坡度为1.5℅,左边开始设计高程为32米计算。 比如电子版图,就在图上面把土方范围框出来后用命令G加点(是保存到你自己文件里)来采集原地面高程点,后面计算都一样。

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式就是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差与( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 10、已知f (1)=2,f (2)=3,f (4)=5、9,则二次Newton 插值多项式中x 2系数为( 0、15 ); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式

Cass7.0方格网、DTM土方计算方法

Cass7.0方格网、DTM土方计算方法 摘要:本文介绍了地形地籍成图软件Cass7.0的土方计算方法:方格网法与DTM法,并就如果更好的使用这些计算方法以及使用上的关键性问题进行了阐述。 关键词:土方计算;方格网法;DTM法。 1 引言土方工程虽然在整个工程项目造价中所占比例较小,但因其特殊性在方量的计算与造价的控制上有一定的难度,引起的纠纷较多,如何更加客观、准确地计算土方量,减少或避免土方工程的争议,值得我们进行认真的探讨。决定土方量计算精度的因素有很多,其中计算方法是至关重要的一环。南方数码科技有限公司研发的地形地籍成图软件Cass7.0是目前市面上较常见的一套测量软件,其中所包含的土方计算方法如方格网法、DTM法、等高线法等为大家所普遍使用,它不仅上手容易,内业操作简便,而且计算结果准确性良好,可信度较高,为广大使用者所认可。 本文在对常用的方格网法、DTM法作介绍的基础上,提出一些使用过程中应当注意的关键性问题,以期提高土方计算的精度。 2 计算方法 2.1 方格网法 Cass7.0软件中的方格网法,需要提供计算区域的“高程点坐标数据文件”作为计算的依据,其具体计算操作如下:首先是导入“高程点坐标数据文件”,然后选择设计面:(1)当设计面为平面时,需要输入“目标高程”,在“方格宽度”一项中输入你需要设置的方格网规格,例如输入20米则为采用20m×20m的方格网进行土方计算;(2)当设计面为斜面时,有“基准点”和“基准线”两种方法,其原理是相同的,只是计算条件不同而已。我们以“基准点”法为例,它需要确定斜面的“坡度”,然后是“基准点”,也就是坡顶点的“坐标”和“高程”,再者就是坡线的“下边点”的坐标了,也就是斜坡方向,最后再确定“方格宽度”即可计算出土方量。(3)当设计面非平面也非斜面时,这种情况在土方工程中比较常见,场地经开挖或回填后变的杂乱无章就属于这种情况,假如我们有场地前期的“高程点坐标数据文件”,那么我们则可以利用它生成“三角网文件”,然后在设计面选项中选择“三角网文件”,然后导入文件,最后再确定“方格宽度”即可计算出土方量。 通过对Cass7.0软件中的方格网法的了解,我们不难看出其计算理论与传统的方格网法是一样的。只是在用户提供相关的计算条件,如设计面高程、坡度、方格宽度、三角网文件等计算条件之后,电脑自动在设计面及待计算场地平面设置相同的方格网,根据“高程点坐标数据文件”、设计面高程、坡度等内插出各方格网角点高程,然后对比相同平面位置上下两期的方格网,计算出该方格网的土方挖填数,最后统计出挖填总方量。 2.2 DTM法 DTM法土方计算以外业所采集的测量数据为基础,通过建立DTM模型,然后通过生成三角网(即相邻的三个点连成互不重叠的三角形)来计算每一个三棱锥的挖填方量,最后累计得到指定范围内填方和挖方的土方量。 Cass7.0的DTM土方计算方法共有三种,一是由坐标数据文件计算,二是依照图上高程点进行计算,第三是依照图上的三角网进行计算。前两种算法包含重新建立三角网的过程,第三种方法则是直接采用图上已有的三角网。

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

有限元编程算例(fortran)

有限元编程算例(Fortran) 本程序通过Fortran语言编写,程序在Intel Parallel Studio XE 2013 with VS2013中成功运行,程序为《计算力学》(龙述尧等编)一书中的源程序,仅作研究学习使用,省去了敲写的麻烦。 源程序为: !Page149 COMMON/X1/NJ,NE,NZ,NDD,NPJ,IND,NJ2,EO,UN,GAMA,TE,AE COMMON/X2/JM(100,3),NZC(50),CJZ(100,2),PJ(100,2),B(3,6),D(3,3),S(3,6),TKZ(200,20),EKE(6,6),P(200)

OPEN(5,FILE='DATAIN') !OPEN(6,FILE='DATAOUT',STATUS='NEW') CALL DATA IF(IND.EQ.0)GOTO 10 EO=EO/(1.0-UN*UN) UN=UN/(1.0-UN) 10 CALL TOTSTI CALL LOAD CALL SUPPOR CALL SOLVEQ CALL STRESS PAUSE !STOP END SUBROUTINE DATA COMMON/X1/NJ,NE,NZ,NDD,NPJ,IND,NJ2,EO,UN,GAMA,TE,AE COMMON/X2/JM(100,3),NZC(50),CJZ(100,2),PJ(100,2),B(3,6),D(3,3),S(3,6),TKZ(200,20),EKE(6,6),P(200) READ(5,*)NJ,NE,NZ,NDD,NPJ,IND NJ2=NJ*2 NPJ1=NPJ+1 READ(5,*)EO,UN,GAMA,TE READ(5,*)((JM(I,J),J=1,3),I=1,NE) READ(5,*)((CJZ(I,J),J = 1,2),I=1,NJ) !Page150 READ(5,*)(NZC(I),I=1,NZ) READ(5,*)((PJ(I,J),J=1,2),I=1,NPJ1) WRITE(6,10)(I,(CJZ(I,J),J=1,2),I=1,NJ) 10 FORMA T(4X,2HNO,6X,1HX,6X,1HY/(I6,2X,F7.2,F7.2)) RETURN END SUBROUTINE ELEST(MEO,IASK) COMMON/X1/NJ,NE,NZ,NDD,NPJ,IND,NJ2,EO,UN,GAMA,TE,AE COMMON/X2/JM(100,3),NZC(50),CJZ(100,2),PJ(100,2),B(3,6),D(3,3),S(3,6),TKZ(200,20),EKE(6,6),P(200)

数值计算方法试题集和答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。

计算方法实验报告格式

计算方法实验报告格式 小组名称: 组长姓名(班号): 小组成员姓名(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下: 一、实验名称 实验者可根据报告形式需要适当写出. 二、实验目的及要求 首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出. 三、算法描述(实验原理与基础理论) 数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出. 四、实验内容 实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备. 五、程序流程图 画出程序实现过程的流程图,以便更好的对程序执行的过程有清楚的认识,在程序调试过程中更容易发现问题. 六、实验结果 实验结果应包括实验的原始数据、中间结果及实验的最终结果,复杂的结果可以用表格

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 1.理解数值计算稳定性的概念. 2.了解数值计算方法的必要性. 3.体会数值计算的收敛性与收敛速度. 三、实验内容 计算dx x x I n n ? += 1 10 ,1,2,,10n = . 四、算法描述 由 dx x x I n n ? += 1 10 ,知 dx x x I n n ?+=--101110,则

《有限单元法》编程作业

湖南大学 《有限单元法》编程大作业 专业:土木工程 姓名: 学号: 2013年12月

目录 程序作业题目: (3) 1、程序编制总说明 (3) 2、Matlab程序编制流程图 (3) 3、程序主要标示符及变量说明 (4) 4、理论基础和求解过程 (5) 4.1、构造插值函数 (5) 4.2位移插值函数及应变应力求解 (5) 5.程序的验证 (6) 附录:程序代码 (15)

程序作业题目: 完成一个包含以下所列部分的完整的有限元程序( Project) 须提供如下内容的文字材料(1500字以上): ①程序编制说明; ②方法的基本理论和基本公式; ③程序功能说明; ④程序所用主要标识符说明及主要流程框图; ⑤ 1~3 个考题:考题来源、输出结果、与他人成果的对比结果(误差百分比); ⑥对程序的评价和结论(包括正确性、适用范围、优缺点及其他心得等)。 须提供源程序、可执行程序和算例的电子文档或文字材料。选题可根据各自的论文选题等决定。 1、程序编制总说明 a.该程序采用平面三角形等参单元,能解决弹性力学的平面应力、平面应变问题。 b.能计算单元受集中力的作用。 c.能计算结点的位移和单元应力。 d.考题计算结果与理论计算结果比较,并给出误差分析。 e.程序采用MATLAB R2008a编制而成。 2、Matlab程序编制流程图

图1 整个程序流程图 3、程序主要标示符及变量说明 1、变量说明: Node ------- 节点定义 gElement ---- 单元定义 gMaterial --- 材料定义,包括弹性模量,泊松比和厚度 gBC1 -------- 约束条件 gNF --------- 集中力 gk------------总刚 gDelta-------结点位移 输入结构控制参数 输入其它数据 形成整体刚度阵 引入支承条件 解方程,输出位移 求应力,输出应力 形成节点荷载向量 开始 结束 1 单元面积 求弹性矩阵 单元刚度矩阵 位移-应变矩阵 6 7 8 9 10 2 3 4 5

计算方法B上机报告

计算方法B 上机报告 第1题 某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:米)如下表所示: (1)请用合适的曲线拟合所测数据点; (2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图; 问题分析和算法思想: 本题的主要目的是对21个测量数据进行拟合,同时对拟合曲线进行线积分即可得到河底光缆长度的近似值,可以用的插值方法很多:多项式插值、Lagrange 插值、Newton 插值、三次样条插值等。由于数值点较多时,采用高次多项式插值将产生很大的误差,用拉格朗日插值多项式会出现龙格现象。故为了将所有的数据点都用上,且题中光缆为柔性,可光滑铺设于水底,鉴于此特性,采用三次样条插值的方法较为合适。 计算光缆长度近似值,只需将每两点之间的距离算出,然后依次相加,所得的折线长度,即为光缆长度的近似值。 光缆长度计算公式: 19 1 k k k l +===∑? ? ? 算法结构: 三次样条算法结构见《计算方法教程》P110。 源程序: clear;clc; x=0:20;

y=[9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.80 10.93]; d=y; plot(x,y,'k.','markersize',15) hold on %%%计算二阶差商 for k=1:2 for i=21:-1:(k+1) d(i)=(d(i)-d(i-1))/(x(i)-x(i-k)); end end %%%假定d的边界条件,采用自然三次样条 for i=2:20 d(i)=6*d(i+1); end d(1)=0; d(21)=0; %%%追赶法求解带状矩阵的m值 a=0.5*ones(1,21); b=2*ones(1,21); c=0.5*ones(1,21); a(1)=0;c(21)=0; u=ones(1,21); u(1)=b(1); r=c; yy(1)=d(1); %%%追的过程 for k=2:21 l(k)=a(k)/u(k-1); u(k)=b(k)-l(k)*r(k-1); yy(k)=d(k)-l(k)*yy(k-1); end %%%赶的过程 m(21)=yy(21)/u(21); for k=20:-1:1 m(k)=(yy(k)-r(k)*m(k+1))/u(k); end %%%利用插值点画出拟合曲线 k=1; nn=100; xx=linspace(0,20,nn); l=0; for j=1:nn for i=2:20 if xx(j)<=x(i) k=i;

数值分析计算方法试题集及答案

数值分析复习试题 第一章 绪论 一. 填空题 1.* x 为精确值 x 的近似值;() **x f y =为一元函数 ()x f y =1的近似值; ()**,*y x f y =为二元函数()y x f y ,2=的近似值,请写出下面的公式:**e x x =-: *** r x x e x -= ()()()*'1**y f x x εε≈? ()() () ()'***1**r r x f x y x f x εε≈ ? ()()()() ()* *,**,*2**f x y f x y y x y x y εεε??≈?+??? ()()()()() ** * *,***,**222r f x y e x f x y e y y x y y y ε??≈ ?+??? 2、 计算方法实际计算时,对数据只能取有限位表示,这时所产生的误差叫 舍入误 差 。 3、 分别用2.718281,2.718282作数e 的近似值,则其有效数字分别有 6 位和 7 位;又取 1.73≈-21 1.73 10 2 ≤?。 4、 设121.216, 3.654x x ==均具有3位有效数字,则12x x 的相对误差限为 0.0055 。 5、 设121.216, 3.654x x ==均具有3位有效数字,则12x x +的误差限为 0.01 。 6、 已知近似值 2.4560A x =是由真值T x 经四舍五入得 到,则相对误差限为 0.0000204 . 7、 递推公式,??? ? ?0n n-1y =y =10y -1,n =1,2, 如果取0 1.41y ≈作计算,则计算到10y 时,误 差为 81 10 2 ?;这个计算公式数值稳定不稳定 不稳定 . 8、 精确值 14159265.3* =π,则近似值141.3*1=π和1415.3*2=π分别有 3

方格网法土方量计算及测量

土方施工技术 场地平整 理论知识: 一、平整场地土方量计算公式与步骤 1. 读识方格网图 方格网图由设计单位(一般在1:500的地形图上)将场地划分为边长a=10~40m的若干方格,与测量的纵横坐标相对应,在各方格角点规定的位置上标注角点的自然地面标高(H)和设计标高(Hn),如图所示. 2.确定场地设计标高 1)场地初步标高: H0=S(H11+H12+H21+H22)/4M H11、H12、H21、H22 ——一个方格各角点的自然地面标高; M ——方格个数. 或: H0=(∑H1+2∑H2+3∑H3+4∑H4)/4M H1--一个方格所仅有角点的标高;

H2、H3、H4--分别为两个、三个、四个方格共用角点的标高. 2)场地设计标高的调整 按泄水坡度调整各角点设计标高: ①单向排水时,各方格角点设计标高为: Hn = H0 ± Li ②双向排水时,各方格角点设计标高为:Hn = H0 ± Lx ix ± L yi y 3.计算场地各个角点的施工高度 施工高度为角点设计地面标高与自然地面标高之差,是以角点设计标高为基准的挖方或填方的施工高度.各方格角点的施工高度按下式计算: 式中hn------角点施工高度即填挖高度(以“+”为填,“-”为挖),m; n------方格的角点编号(自然数列1,2,3,…,n). Hn------角点设计高程, H------角点原地面高程. 4.计算“零点”位置,确定零线 方格边线一端施工高程为“+”,若另一端为“-”,则沿其边线必然有一不挖不填的点,即“零点”(如图1-4所示).

图1-4 零点位置 零点位置按下式计算: 式中x1、x2 ——角点至零点的距离,m; h1、h2 ——相邻两角点的施工高度(均用绝对值),m; a —方格网的边长,m. 确定零点的办法也可以用图解法,如图1-5所示. 方法是用尺在各角点上标出挖填施工高度相应比例,用尺相连,与方格相交点即为零点位置。将相邻的零点连接起来,即为零线。它是确定方格中挖方与填方的分界线。 图1-5 零点位置图解法 5.计算方格土方工程量 按方格底面积图形和表1-3所列计算公式,逐格计算每个方格内的挖方量或填方量. 表1-3 常用方格网点计算公式

西交大计算方法上机报告

计算方法(B)实验报告 姓名: 学号: 学院: 专业:

实验一 三对角方程组Tx f =的求解 一、 实验目的 掌握三对角方程组Tx f =求解的方法。 二、 实验内容 求三对角方程组Tx f =的解,其中: 4 -1 -1 4 -1 -1 4 1 -1 4T ????????=?? ?? ???? , 3223f ?? ? ? ?= ? ? ??? 三、 算法组织 设系数矩阵为三对角矩阵 11222333111 b c a b c a b c a b c b n n n n T ---???????? =?????? ?????? 则方程组Tx f =称为三对角方程组。 设矩阵T 非奇异,T 可分解为T=LU ,其中L 为下三角矩阵,U 为单位上三角矩阵,记 1 1 212 313 1 1 1111 ,11n n n n n r l r l r L U l r l μμμμμ---???? ? ? ? ? ? ?== ? ? ? ? ? ? ? ? ? ?? ? ? ? 可先依次求出,L U 中的元素后,令Ux y =,先求解下三角方程组Ly f =得出 y ,再求解上三角方程组Ux y =。 追赶法的算法组织如下: 1.输入三对角矩阵T 和右端向量f ;

2.将Tx f =压缩为四个一维数组{}{}{}{}i i i i a b c d 、、、,{}{}{}i i i a b c 、、是T 的三对角线性方程组的三个对角,{}i d 是右端向量。将分解矩阵压缩为三个一维数组 {}{}{}i i i l r μ、、。 3.对T 做Crout 分解(也可以用Doolittle 分解)导出追赶法的计算步骤如下: 1111,b r c μ== for 2i n = 111, , ,i i i i i i i i i i i i i l a b a r r c y d l y μμ---==-==- end 4.回代求解x /n n n x y μ= for 11i n =- 1()/i i i i i x y c x μ+=- end 5. 停止,输出结果。 四、 MATLAB 程序 MATLAB 程序见附件1. 五、 结果及分析 实验结果为: (1.0000 1.0000 1.0000 1.0000)T x =

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