计算方法课程设计

计算方法课程设计
计算方法课程设计

计算方法课程设计

题目:用Newton插值多项式

处理磁化曲线

学院:理学院

班级:数学 15-1

学生姓名:陈昌林

学生学号: 2014028281

指导教师:石瑞银

2017年 06 月 19 日

课程设计任务书

目录

摘要........................................................................ 错误!未定义书签。

第1章前言............................................................ 错误!未定义书签。

1.1 牛顿差值多项式算法在计算方法课程中地位错误!未定义书签。

1.2牛顿差值多项式算法的发展状况和具体应用领域 (1)

1.3本文主要研究思路与结构安排 (1)

第2章牛顿差值多项式算法基本原理及Matlab程序 (1)

2.1牛顿差值多项式算法的基本原理 (1)

2.2 牛顿差值多项式算法的构造方法 (3)

2.3牛顿差值多项式算法的Matlab程序..... . (4)

第3章利用牛顿差值多项式算法解决实际问题(处理磁化曲线)错误!未定义书签。

3.1 问题提出.................................................. 错误!未定义书签。

3.2 问题的分析与模型建立.......................... 错误!未定义书签。

3.3 数据处理 (7)

3.4 结果分析与误差估计 (9)

结论 (11)

参考文献 (11)

附录 (12)

摘要

在我们生活中,许多实际问题都都可以利用函数来表示某种内在规律的数量关系,但是在很多应用领域,函数)(x f 有时不能直接写出表达式或者过于复杂不易计算,而只能给出函数)(x f 在若干个点上的函数值或导数值,通常也是造一张函数表,当遇到要求表中未列出的变量的函数值时,就必须做数值逼近.例如给定了函数)(x f 在几个特定点上的函数值,为了研究函数的变化规律,就要根据这个表,将其公式化寻求某一函数)(x y 去逼近)(x f ,在给定点上等于函数值,在其他点上约等于函数值,这样)(x y 既能反映)(x f 的函数特性,又便于计算.称)(x y 的插值函数,)(x f 为被插值函数.

我们可以求一个待定函数来近似反映函数的特性,使得待定函数在给定点上等于函数值,在其它点上的函数的值作为函数的近似值,这种方法称为插值法.利用差值函数很容易得到Lagrange 插值多项式,公式结构紧凑,在理论分析中甚为方便.由于公式中的每一项与所有的插值结点有关.因此,如果需要增加一个插值结点,则Lagrange 插值公式中的每一项都需要改变计算量大,为了克服这一缺点,于是产生了Newton 插值法.有的要求更高需要在某些点处的导数也相同于是前两种方法达不到精度于是产生了Hermite 插值法.

本文只讨论牛顿插值法,通过均差的推导引出差值公式,建立Matlab 程序,意在用牛顿插值法处理磁化曲线。

关键词:插值函数,牛顿插值,均差,Matlab 程序

第1章前言

1.1牛顿差值多项式算法在计算方法课程中地位

Newton 插值法是数值逼近中的一个重要部分,它向前继承了Lagrange 插值法,向后引出了Hermite 插值法,可以看作对多项式插值作了一个简单的统一。Newton 插值公式具有形式简单,便于计算等优点。因此,在插值中得到广泛的应用。Newton 插值公式余项更具有一般性,它对于列表函数或)(x f 导数不存在的情形也同样适用。

1.2牛顿差值多项式算法的发展状况和具体应用领域

插值法是一种古老的数学方法,他来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也逐步增多。特别是在计算机软件中,许三多库函数.等的计算实际上归结于它的逼近函数的计算。在工程的实际问题中,由于航空、造船、精密机械加工等实际问题的需要,插值方法在实践上和理论上显得更为重要,并得到了进一步的发展和广泛的应用。因此我们希望能够得到一个“简单函数”逼近被计算函数的函数值.于是就得到了一种方法。叫做插值逼近或者插值法.

1.3本文主要研究思路与结构安排

文思路是通过均差的定义及性质,导出牛顿插值公式及其误差公式,建立关于牛顿差值的Matlab 程序。在通过具体实际数学问题,用牛顿插值法磁化曲线和铁损曲线。通过本文的研究既加深了对Newton 插值法的理解,同时又了解它的的优缺点。

第2章 牛顿差值多项式算法基本原理及Matlab 程序

2.1牛顿差值多项式算法的基本原理

2.1.1差商的定义:

设函数f

在互异节点 ,,10x x 上的值为

)(0x f , )(1x f ,等,定义 (1)

f

在j i x x ,上的1阶均差为j

i j i j i x x x f x f x x f --=

)

()(],[

(2)f 在k j i x x x ,,上的2阶均差为k

i k j j i k j i x x x x f x x f x x x f --=]

,[],[],,[

(3) 递推地,f 在k x x x ,,,10 上的k 阶均差为:

k

k k k x x x x x f x x x f x x x f --=-02111010]

,,,[],,,[],,,[ 同时规定f 在i

x 上的零阶均差为)

(][]i x f x f =

2.2.2差商的基本性质

性质1 k 阶均差可以表示成1+k

个函数值的线性组合,即

=+-----=k

j k j j j j j j j k x x x x x x x x x f x x x f 011

010)())(()()

(],,,[ 或记为∑=+=k j j k j k x x f x x x f 01

10)(')

(],,,[ω

证明:用数学归纳法。当1=k 时由均差定义有

11100101010)

()()()(],[x x x f x x x f x x x f x f x x f -+-=--=

故上式成立。现假设1-=m k 时已成立,对m k =由均差定义及归纳假设有

m

m m m x x x x x f x x x f x x x f --=-02111010]

,,,[],,,[],,,[

m

m

j m j j j j j j j m

m j m j j j j j j j x x x x x x x x x x x f x x x x x x x x x x x f -----------=∑

=+--=-+-0111

1010111

01))()(()()(1))()(()()(

0121011111

210010201001)())(()(1

)())(())(()

1

1)(

(1

)())(()(x x x x x x x x x f x x x x x x x x x x x x x x x x x f x x x x x x x x x f m m m m m m m

m j m j j j j j j j m j j j m

m -?

---+-?--------+----=--=-+--∑ ∑

=+------=m j m j j j j j j j j x x x x x x x x x x x f 011

10)())(())(()

( 性质2均差对其节点是对称的,即节点按任意顺序排列,其值不变。

性质3如果],,,,[10k x x x x f 是x 的m 次多项式,则其1阶均差],,,,,[110+k k x x x x x f 是x 的1-m 次多项式,且由此递推可得n 阶均差为零阶均差,1+n 阶均差为零。

证明:按均差定义,],,,,[10k x x x x f 的1阶均差为

1

1100110]

,,,[],,,[],,,,[+++--=k k k k x x x x x f x x x f x x x x f

由假设,上式等号右端分子为x 的m 次多项式,且当1+=k x x 时为零,可知分子会有因子)(1+-k x x ,它与分母)(1+-k x x 同时约去,则得等号右端为1-m 次多项式。 j x )(j x f 零阶均差 1阶均差 2阶均差 3阶均差 0x )(0x f ][0x f

1x )(1x f ][1x f ],[10x x f

2x )(2x f ][2x f ],[21x x f ],,[210x x x f

3x )(3x f ][3x f ],[32x x f ],,[321x x x f ],,,[3210x x x x f

2.2.3Newton 差值基本原理

在两点直线公式()()),(,,11++k k k k y x y x 中有:

)()(111k k

k k

k k x x x x y y y x L ---+=++(点斜式)

11111)(++++--+--=k k k k

k k k k y x x x x y x x x x x L (两点式)

我们考虑点斜式,两点为)),(),,((1100y x y x ,则直线方程为:

)()(00

10101x x x x y

y y x N ---+=

那么,在此基础上增加一个节点),(22y x ,则过这三点的插值多项式就是:

)()()(12x c x N x N +=

)(x c 应该是一个二次多项式。根据插值条件

??

?====111120

0102)()()()(y x N x N y x N x N 有0)()(10==x c x c ,所以))(()(10x x x x c x c --= 根据插值条件:

222)(y x N =

可以求出:

)

)(()

())(()()(021221202121122x x x x x N y x x x x x N x N c ---=

---=

重新写)(2x N :

)()()(12x c x N x N +=

))(()

)(()

()(101202212001010x x x x x x x x x N y x x x x y y y -----+---+

= ))(()(102010x x x x c x x c c --+-+=

其中

)

)(()(120221220

101100x x x x x N y c x x y y c y c ---=

--==

设插值节点为i x ,函数值为i f ,n i ,,2,1,0 =

1,,2,1,0,1-=-=+n i x x h i i i

}max{i h h =

插值条件为n i f x N i i ,,2,1,0,)( == 设插值多项式)(x N 具有如下形式

+--+-+=))(()()(102010x x x x c x x c c x N

)())((110----+n n x x x x x x c

其中n c c c c ,,,,210 为待定系数

2.2 牛顿差值多项式算法的构造方法

假设有n+1个不同的节点及函数在节点上的值(x 0,y 0),……(x n ,y n ),插值多项式有如下形式: )()

)(()()()(n 10n 102010n x -x )(x -x x -x x P x x x x x x -??-+??+-++=αααα

(1)

其中系数i α(i=0,1,2……n )为特定系数,可由插值样条i i n y x P =)((i=0,1,2……n )确定。

根据均差的定义,把x 看成[a,b]上的一点,可得 f(x)= f (0x )+f[10x x ,](0x -x )

f[x,0x ]= f[10x x ,]+f[x,10x x ,] (1x -x ) ……

f[x,0x ,…x 1-n ]= f[x,0x ,…x n ]+ f[x,0x ,…x n ](x-x n )

综合以上式子,把后一式代入前一式,可得到:

f(x)= f (0x )+f[10x x ,](0x -x )+ f[210x x x ,,](0x -x )(1x -x )+…+ f[x,0x ,…x n ](0x -x )…(x-x n )+ f[x,0x ,…x n ]n ω= N n (x )+)(x n R 其中

N n (x )= f (0x )+f[10x x ,](0x -x )+ f[210x x x ,,](0x -x )(1x -x )+…+ f[x,0x ,…x n ](0x -x )…(x-x n )(2)

(x n R = f(x)- N n (x )= f[x,0x ,…x n ]n ω(3) n ω=(0x -x )…(x-x n )

Newton 插值的系数i α(i=0,1,2……n )可以用差商表示。一般有 f k =α[k 10x x x ??,] (k=0,1,2,……,n )(4)

把(4)代入(1)得到满足插值条件N )()

(i i n x f x =(i=0,1,2,……n )的n 次Newton 插值多项式

N n (x )=f (0x )+f[10x x ,](1x -x )+f[210x x x ,,](1x -x )(2x -x )+……+f[n 10x x x ??,](1x -x )(2x -x )…(1-n x -x ).

其中插值余项为:

()!

()

()()()(x 1n f x N -x f x R 1n 1

n n +++==ωξ ξ介于k 10x x x ??,之间。

2.3牛顿差值多项式算法的Matlab 程序

2.3.1牛顿插值的程序实现方法:

第一步:计算[][][][]001012012,,,,,,,n f x f x x f x x x f x x x x 、、、、。

第二步:计算牛顿插值多项式中01[,,,]i f x x x ???011()()()i x x x x x x ---???-,

1,2,,i n = ,得到n 个多项式。

第三步:将第二步得到的n 个多项式相加,得到牛顿插值多项式。 第四步:利用所得到的插值多项式,估算x 取其它值时()f x 的值。

第五步:作出所求多项式在插值结点周围的函数图像。

2.3.2牛顿插值法的程序实现

%% newton.m

% 求Newton插值多项式、差商、插值及其误差估计的Matlab主程序[4]

% 输入的量:X是n+1个节点(x_i,y_i)(i=1,2,...,n+1)横坐标向量,Y是纵坐标向量

% x是以向量形式输入的m个插值点,M在[a,b]上满足|f~(n+1)(x)|≤M

% 注:f~(n+1)(x)表示f(x)的n+1阶导数

% 输出的量:向量y是向量x处的插值,误差限R,n次Newton插值多项式L 及其系数向量C

%差商的矩阵A

Function[y,R,A,C,L] = newton(X,Y,x,M)

n = length(X);

m = length(x);

for t = 1:m

z = x(t);

A = zeros(n , n);

A(: , 1) = Y’;

s = 0.0 ; p = 1.0 ; q1 = 1.0 ; c1 = 1.0 ;

for j = 2 : n

for i = j : n

A(i , j) = (A(i , j-1) - A(i-1 , j-1)) / (X(i) - X(i - j + 1));

end

q1 = abs ( q1* ( z - X ( j - 1 ))) ;

c1 = c1 * j ;

end

C = A(n , n) ; q1 = abs ( q1 * ( z - X ( n ))) ;

for k = ( n - 1 ) : -1 : 1

C = conv ( C , poly ( X ( k ))) ;

d = length ( C ) ;

C ( d ) = C ( d ) + A ( k , k ) ;(详细代码见附录一)

第3章利用牛顿差值多项式算法解决实际问题

3.1问题提出

武钢公司在1998年3月向用户发布了新的晶粒取向磁化钢带(片)的磁化曲线和铁损曲线。对于设计人员来讲,查曲线是一件麻烦的事情,不但要拿尺子打准坐标,还要进行估算。尤其是单位铁损曲线,是每次设计都要查的。这样不仅工作量大,而且容易出错。因此,有必要对磁化曲线和铁损曲线进行一些数值处理,让使用者可以根据硅钢片的型号和磁感应强度,方便地找到磁场强度或单位铁损。为此,请采用了数值分析方法中的牛顿插值法对磁化曲线和铁损曲线作了一些处理,以便在实际应用中取得了较好的效果,大大提高工作效率。

3.2 问题的分析与模型建立

首先设法根据表格中已有的函数值来构造一个简单的函数作函数的近似表达式,然后再用来计算新的点上的函数值作为原函数的近似值。通常可以选用多项式函数作为近似函数,因为多项式具有各阶的导数,求值比较方便。用代数多项式作为工具研究插值问题。表格如下

(表一)

3.3 数据处理

根据磁化曲线和铁损曲线的实际情况,采用分段的二次牛顿插值多项式来处理它,在实际应用中完全可以满足工程精度的要求。首先,对于原始曲线,均匀地采集其插值出节点并输入计算机;然后程序采用三点分段插值的办法来构造二次牛顿插值多项式)(2x N ,并根据此计算出所需数据;然后将结果输出。 源程序如下: #include ″stdio.h ″ #include ″iostream.h ″ #include ″math.h ″ void main() {

int n,i ,j ,k,z;

float y[20] ,x[20] ,d[20] ,q[20] ,p,t ,v char chl;

printf(“请输入节点个数n! \ n n ”) ; scanf(″%d,″&n) ;

printf(″请输入各节点值! \ n ”) ; for(i =0;i < =n- 1;i + +) {

scanf(″%f , %f ,″&q[i] ,&d[i]) ; }

for(k=1;k< =20;k+ +) {

printf(″请输入插入点! \ n ″) ; scanf(″%f ,″&t) ; for(i =0;i < =n-1;i + +) {x[i] =q[i] ;y[i] =d[i] ;} for(i =0;i < =n- 1;i + +) / /根据插入点选择合适的节点 {

if(x[i] - t >0) break; }

z=i-1

for(i =1;i < =2;i + +)

{x[i] =x[z] ;y[i] =y[z] ;z=z+1;}

for(i =1;i < =2;i + +)

{

for(j =2;j > =i;j-- )

{

y[j] =(y[j] - y[j - 1])/ (x[j] - x[j - 1]) ; ∥求插商

}

}

printf(″磁感应强度(T)| 铁损(W/ kg) \ n″) ;

V=x[0] ;

for(j =1;j <21;j + +)/ /输出三节点间插值

{

p=y[2] ;

for(i =1;i > =0;i - - )

P=y[i] +(v-x[i])*p;

printf(″%f| ″%f \ n″,v,p) ;

v=v+0.01;/ /步距为0.01

}

cout <<″退出?y/ n\ n″;

cin>>ch1;

if(ch1= =′y′)break;

}

}

此程序用于处理铁损曲线,若需要处理磁化曲线,只需要改动表头汉字,其余步骤均相同。数据结果见表一,(w/kg)差值计算即为最后求解的结果。

3.4 结果分析与误差估计

从中可以发现,插值结果具有良好的收敛性。这是因为实际曲线在一定区间内具有较好的线性特征,所以分段的二次牛顿插值能够达到足够的精度,完全符合实

际生产的需要。

利用牛顿插值法处理磁化曲线和铁损曲线的优点:

(1)用分段的二次牛顿插值法处理磁化曲线和铁损曲线完全可以满足工程精度的

要求。

(2)此法能大大提高工作效率,把设计人员从繁复的查曲线工作中解放出来。

(3)此法具有普遍性。对于其他国家生产的硅钢片,若提供曲线,可同样照此处理。

结论

目前,牛顿插值法已经运用到了工程上的各个领域,并解决了许多实际工程中遇到的问题,如物体加热时间的分析、计算;加药量自动标定;智能气体体积分数测量;自动确定支持度阈值;漏磁探测;电力系统采样;凸轮曲线的修正设计等。有时根据实际情况也会使用局部牛顿插值法,如运用局部牛顿插值法提高多狭缝自准直仪准确度。

在插值问题中,要求插值多项式通过给定的数据点,但实际上所谓给定的数据本身是有误差的,而且即使插值多项式通过了给定的数据点,在这些给定数据点上的误差很小,但在其他点上的误差可能会很大,这是插值问题的缺点。在实际应用中,可以采用与曲线拟合结合等方法来达到更好的效果。

参考文献

[1]李庆扬,王能超,易大义.数值分析[M].北京:清华大学出版社,2009,194-196.

[2]李国霞,牛顿插值法的应用[J].处理磁化曲线,1999,24(3):1-2.

[3]孙绳武,徐萃薇.计算方法引论(第4版)[M].北京:高等教育出版社,2015,85-91.

[4]王建卫,取中水. MATLAB程序设计[M].北京:电子工业出版社,2004,151-152.

附录

附录一:

Function[y,R,A,C,L] = newton(X,Y,x,M)

n = length(X);

m = length(x);

for t = 1:m

z = x(t);

A = zeros(n , n);

A(: , 1) = Y’;

s = 0.0 ; p = 1.0 ; q1 = 1.0 ; c1 = 1.0 ;

for j = 2 : n

for i = j : n

A(i , j) = (A(i , j-1) - A(i-1 , j-1)) / (X(i) - X(i - j + 1));

end

q1 = abs ( q1* ( z - X ( j - 1 ))) ;

c1 = c1 * j ;

end

C = A(n , n) ; q1 = abs ( q1 * ( z - X ( n ))) ;

for k = ( n - 1 ) : -1 : 1

C = conv ( C , poly ( X ( k ))) ;

d = length ( C ) ;

C ( d ) = C ( d ) + A ( k , k ) ;

end

y ( t ) = polyval ( C , z ) ;

R ( t ) = M * q1 / c1 ;

end

L = poly2sym ( C ) ;

课程设计评阅书

数值计算方法课程设计(C语言)

数值计算方法课程设计 姓名 学号 成绩

课程实际报告 实验一:秦九韶算法 题目 用选列主元高斯消去法解线性方程组 ???????=+- =-+-=-+-=--02 02 0 21 34343232121x x x x x x x x x x 算法语言: 利用c 语言的知识编写该算法程序 算法步骤叙述: 秦九昭算法的基思路是v[0]=a[0]*x+a[1] v[i]=v[i-1]*x+a[i+1];利用秦九昭算法计算多项式函数。 程序清单: #include void main() { float a[5],x,sum; int i; printf("presase input the value of x="); scanf("%f",&x); for (i =5;i >=0;i --) { printf("please input the value of a%d=",i); scanf("%f",&a[i]); } sum =a[5];

for(i=5;i>=1;i--) {sum=sum*x+a[i-1]; } printf("f(x)=%f/n",sum); } 输出结果计算:

实验总结: 通过运用C 语言,解决了秦九韶算法手写的复杂。为以后的雪地打下基础。 实验二:用选列主元高斯消去法解线性方程组 题目 用选列主元高斯消去法解线性方程组 ???????=+- =-+-=-+-=--02 0 2 0 21 34343232121x x x x x x x x x x 算法步骤叙述 第一步消元——在增广矩阵(A,b )第一列中找到绝对值最大的元素,将其所在行与第一行交换,再对(A,b )做初等行变换使原方程组的第一列元素除了第一行的全变为0; 第二步消元——在增广矩阵(A,b )中第二列中(从第二行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b )做初等行变换使原方程组的第二列元素除了第一和第二行的全变为0; 第三步消元——在增广矩阵(A,b )中第三列中(从第三行开始)找到绝对值最大的元素,将其所在行与第三行交换,再对(A,b )做初等行变换使原方程组的第三列第四行元素为0; 第四,按x4-x3-x2-x1的顺序回代求解出方程组的解,x[n]=b[n]/a[n][n],x[i]=(b[i]-Σa[i][j]x[j])/a[i][i],i=n-1,…,2,1 程序清单: #include #include #define N 4 static double A[N][N] = {-3,-1,0,0,-1,2,-1,0,0,-1,2,-1,0,0,-1,2}; static double B[N]={1,0,0,0};

计算材料课程设计--计算BN的弹性常数

课程设计任务书 2011—2012 学年第1 学期 课程名称:计算材料学 一、设计题目:计算BN的弹性常数 二、完成期限:自2011 年12 月 4 日至2011 年12 月12 日共 2 周 内容及任务1.DFT基本理论,CASTEP使用方法 2.晶体模型的建立与几何优化,相关性质的计算。 3.计算BN的弹性常数 4.结果分析 5. 报告写作与修改 进度安排 起止日期工作内容 11-12-4-6 熟悉DTT理论,软件安装,认识界面,熟悉基本操作11-12-7 晶体模型建立,进行结构优化,计算物理性质 11-12-8 物理性质,力学性质的计算 11-12-9 计算BN的弹性常数 11-12-10-12 写出课程设计的总结实验报告.,修改成文 主要参考资料[1] Kohn W, Sham L J, Self-consistent equations including exchange and correlation effects [J]. Physical review, 1965, 140(4):A1133-A1338. [2] Hohenberg P, Kohn W. Inhomogeneous electron gas [J]. Physical review, 1964,136(3):B864- B871. [3] 谢希德, 陆栋.固体能带理论[M].上海:复旦大学出版,1998. [4] Perdew J P, Chevary J A, Vosko S H. Atoms, molecules, solids, and surfaces: Applications of the generalized gradient approximation for exchange and correlation[J]. Physical review B, 1992, 46(11): 6671-6687. 指导教师(签字):年月日 系(教研室)主任(签字):年月日 1

计算方法上机实验报告

《计算方法》上机实验报告 班级: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 四、运行结果: 实验二:

数值计算方法课程设计

重庆邮电大学 数学与应用数学 专业 《数值计算方法》课程设计 姓名: 李金徽 王莹 刘姝楠 班级: 1131001 1131002 1131002 学号: 2010213542 2010213570 2010213571 设计时间: 2012-6-4 指导教师: 朱伟

一、课程设计目的 在科学计算与工程设计中,我们常会遇到求解线性方程组的问题,对于系数矩阵为低阶稠密矩阵的线性方程组,可以用直接法进行消元,而对于系数矩阵为大型稀疏矩阵的情况,直接法就显得比较繁琐,而迭代法比较适用。比较常用的迭代法有Jacobi 迭代与Gauss - seidel 迭代。本文基于两种方法设计算法,并比较他们的优劣。 二、课程设计内容 给出Jacobi 迭代法和Gauss-Seidel 迭代法求解线性方程组的算法思想和MATLAB 程序实现,并对比分析这两种算法的优劣。 三、问题的分析(含涉及的理论知识、算法等) Jacobi 迭代法 方程组迭代法的基本思想和求根的迭代法思想类似,即对于线性 方程组Ax = b( 其中n n n R b R R A ∈?∈,),即方程组 )1(2211222221211 1212111?? ???? ?=+?++??=+?++=+?++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 将系数矩阵A 写为 )2(000000 21122 12122 11U L D a a a a a a a a a A n n n n nn --≡??? ?? ? ? ??---- ??????? ??----??????? ??= 若选取D M =,则U L A M N +=-=,方程组)1(转化为等价方程组 b x U L Dx ++=)(

计算方法实验报告格式

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

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 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,则

数值分析课程设计

淮海工学院计算机工程学院课程设计报告书 课程名:《数值分析》 题目:数值分析课程设计 班级: 学号: 姓名:

数值分析课程设计 课程设计要求 1、研究第一导丝盘速度y与电流周波x的关系。 2、数据拟合问题运用样条差值方法求出温度变化的拟合曲线。 课程设计目的 1、通过编程加深对三次样条插值及曲线拟合的最小二乘法的理解; 2、学习用计算机解决工程问题,主要包括数据处理与分析。 课程设计环境 visual C++ 6.0 课程设计内容 课程设计题目1: 合成纤维抽丝工段中第一导丝盘的速度对丝的质量有很大的影响,第一丝盘的速度和电流周波有重要关系。下面是一组实例数据: 其中x代表电流周波,y代表第一导丝盘的速度 课程设计题目3: 在天气预报网站上获得你家乡所在城市当天24小时温度变化的数据,认真观察分析其变化趋势,在此基础上运用样条差值方法求出温度变化的拟合曲线。然后将该函数曲线打印出来并与原来的温度变化数据形成的曲线进行比较,给出结论。写出你研究的心得体会。 课程设计步骤 1、利用最小二乘法写出题1的公式和算法; 2、利用excel表格画出数据拟合后题1的图像; 3、在Visual C++ 6.0中编写出相应的代码; 4、搜索11月12日南通当地一天的温度变化数据; 5、在Visual C++ 6.0中编写出相应的代码; 6、利用excel表格画出数据拟合后题3的图像 课程设计结果 课程设计题目1 数值拟合

解:根据所给数据,在excel窗口运行: x=[49.2 50.0 49.3 49.0 49.0 49.5 49.8 49.9 50.2 50.2] y=[16.7 17.0 16.8 16.6 16.7 16.8 16.9 17.0 17.0 17.1] 课程设计题目3 数据为:X=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; Y=[12,12,11,12,12,12,12,12,13,15,16,17,17,18,17,17,17,16,15,15,15,15,14,14]; 源代码为: 第一题: #include #include"math.h" using namespace std; //double x[100],y[100]; int main(){ int i; double k,b; double sum1=0,sum2=0,sum3=0,sum4=0; double x[10]={49.2,50.0,49.3,49.0,49.0,49.5,49.8,49.9,50.2,50.2}; double y[10]={16.7,17.0,16.8,16.6,16.7,16.8,16.9,17.0,17.0,17.1}; for(i=0;i<10;i++){ sum1+=x[i]*y[i]; sum2+=x[i];

吉林大学材料力学课程设计五种传动轴的静强度、变形及疲劳强度的计算

1.材料力学课程设计的目的 本课程设计的目的是在于系统学完材料力学之后,能结合工程中的实际问题,运用材料力学的基本理论和计算方法,独立地计算工程中的典型零部件,以达到综合运用材料力学的知识解决工程实际问题之目的。同时,可以使学生将材料力学的理论和现代计算方法及手段融为一体。既从整体上掌握了基本理论和现代的计算方法,又提高了分析问题,解决问题的能力;既把以前所学的知识(高等数学、工程图学、理论力学、算法语言、计算机和材料力学等)综合运用,又为后继课程(机械设计、专业课等)打下基础,并初步掌握工程中的设计思想和设计方法,对实际工作能力有所提高。具体的有以下六项: 1.使学生的材料力学知识系统化、完整化; 2.在系统全面复习的基础上,运用材料力学知识解决工程中的实际问题; 3.由于选题力求结合专业实际,因而课程设计可以把材料力学知识和专业需要结 合起来; 4.综合运用了以前所学的个门课程的知识(高数、制图、理力、算法语言、计算机等等)使相关学科的知识有机地联系起来; 5.初步了解和掌握工程实践中的设计思想和设计方法; 6.为后继课程的教学打下基础。 2.材料力学课程设计的任务和要求 要求参加设计者,要系统地复习材料力学的全部基本理论和方法,独立分析、判断、设计题目的已知条件和所求问题。画出受力分析计算简图和力图,列出理论依据和导出计算公式,独立编制计算程序,通过计算机给出计算结果,并完成设计计算说明书。

3.材料力学课程设计题目 传动轴的强度、变形及疲劳强度计算 3-1 设计题目 传动轴的材料为优质碳素结构钢(牌号45),许用应力[σ]=80MPa,经高频淬火处理,其=650MPa,=300MPa, =155MPa,磨削轴的表面,键槽均为端铣加工,阶梯轴过渡圆弧r均为2,疲劳安全系数n=2,要求: 1)绘出传动轴的受力简图; 2)作扭矩图及弯矩图; 3)根据强度条件设计等直轴的直径; 4)计算齿轮处轴的挠度;(按直径Φ1的等直杆计算) 5)对阶梯传动轴进行疲劳强度计算;(若不满足,采取改进措施使其满足疲 劳强度); 6)对所取数据的理论根据作必要的说明。 说明: 1)坐标的选取均按下图6—1所示; 2)齿轮上的力F与节圆相切; 3)数据表中为直径D的皮带轮传递的功率,为直径为D1的皮带轮传递 的功率。

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

河海大学水文分析与计算课程设计报告

水文分析计算课程设计报告书 学院:水文水资源 专业:水文与水资源工程 学号: 姓名: 指导老师:梁忠民、李国芳 2015年06月12日 南京

目录 1、设计任务 (1) 2、流域概况 (1) 3、资料情况及计算方案拟定 (1) 4、计算步骤及主要成果 (2) 4.1 设计暴雨X p(t)计算 (2) 4.1.1 区域降雨资料检验 (2) 4.1.2 频率分析与设计雨量计算 (3) 4.2计算各种历时同频率雨量X t,P (9) 4.3 选典型放大推求X P (t) (9) 4.4 产汇流计算 (9) 4.4.1 径流划分及稳渗μ值率定 (12) 4.4.2 地表汇流 (17) 4.5 由设计暴雨X P(t)推求Q P(t) (18) 4.5.1 产流计算 (18) 4.5.2 地面汇流 (18) 4.5.3地下汇流计算 (19) 4.5.4 设计洪水过程线 (20) 5、心得体会 (22)

1、设计任务 推求江西良田站设计洪水过程线,本次要求做P 校,即推求Q 0.01%(t)。 2、流域基本概况 良田是赣江的支流站。良田站以上控制的流域面积仅为44.5km 2,属于小流域,如右图所示。年降水均值在1500~1600mm 之内,变差系数Cv 为0.2,即该地区降雨充沛,年际变化小,地处湿润地区。暴雨集中。暴雨多为气旋雨、台风雨,季节为3~8月,暴雨历时为2~3日。 3、资料情况及计算方案拟定 3.1资料情况 设计站(良田)流量资料缺乏,邻近站雨量资料相对充分,具体如表3-1: 表3-1 良田站及邻近地区的实测暴雨系列、历时洪水、特大暴雨资料 (设计站(良田)流量资料缺乏,邻近站雨量资料相对充分。) 站名 实测暴雨流量系列 特大暴雨、历史洪水 良田 75~78 (4年) Q=216m 3 /s ,N=80(转化成X 1日,移置峡江站) 峡江 53~80 (28年) 吉安 36~80 (45年) 桑庄 57~80 (24年) X 1日=416mm ,N=100~150(74.8.11) 寨头 57~80 (24年) 沙港 特大暴雨 X 1日=396mm ,N=100~150(69.6.30) (移置到寨头站)

材料力学课程设计

目录 一、 关于材料力学课程设计 (2) 二、 设计题目 (2) 三、 设计内容 (3) 3.1 柴油机曲轴的受力分析 (3) 3.2 设计曲轴颈直径d ,主轴颈直径D (6) 3.3 设计h 和b,校核曲柄臂强度 (6) 3. 4 校核主轴颈H —H 截面处的疲劳强度,取疲劳安全系数n=2。键 槽为端铣加工,主轴颈表面为车削加工 (6) 3.5 用能量法计算A —A 截面的转角y θ,x θ (7) 3.6对计算过程的几点必要说明 (9) 3.7 改进方案 (10) 四、 计算机程序设计 (10) 4.1程序框图 (10) 4.2计算机程序 (11) 4.3输出结果 (12) 五、 设计体会 (12) 六、 参考书目 (12) 一、 关于材料力学课程设计 1.材料力学课程设计的目的 本课程设计的目的是在于系统学完材料力学之后,能结合工程中的实际问题,运用材料力学的基本理论和计算方法,独立地计算工程中的典型零部件,以达到综合运用材料力学的知识解决工程实际问题之目的。同时,可以使学生将材料力学的理论和现代计算方法及手段融为一体,既从整体上掌握了基本理论和现代的计算方法,又提高了分析问题、解决问题的能力;既把以前所学的知识(高等数学、工程图学、理论力

学、算法语言、计算机和材料力学等)综合运用,又为后继课程(机械设计、专业课等)打下基础,并初步掌握工程中的设计思想和设计方法,对实际工作能力有所提高。具体的有以下六项: (1)使学生的材料力学知识系统化、完整化; (2)在系统全面复习的基础上.运用材料力学知识解决工程中的实际问题; (3)由于选题力求结合专业实际.因而课程设计可以把材料力学知识和专业需要结 合起来; (4)综合运用了以前所学的多门课程的知识(高数、制图、理力、算法语言、计算 机等等)使相关学科的知识有机地联系起来; (5)初步了解和掌握工程实践中的设计思想和设计方法; (6)为后继课程的教学打下基础 2.材料力学课程设计的任务和要求 参加设计者要系统地复习材料力学的全部基本理论和方法.独立分析、判断、设计题目的已知条件和所求问题.画出受力分析计算简图和内力图.列出理论依据和导出计算公式.独立编制计算程序.通过计算机给出计算结果.并完成设计计算说明书. 3.材料力学课程设计的一般过程 材料力学课程设计与工程中的一般设计过程相似.从分析设计方案开始到进行必要的计算并对结构的合理性进行分析.最后得出结论.材料力学设计过程可大致分为以下几个阶段: (1)设计准备阶段:认真阅读材料力学课程设计指导书.明确设计要求.结合设计题目复习材料力学课程设计的有关理论知识.制定设计步骤、方法以及时间分配方案等; (2)从外力变形分析入手,分析及算内力、应力及变形,绘制各种内力图及位移、转角曲线; (3)建立强度和刚度条件.并进行相应的设计计算及必要的公式推导; (4)编制计算机程序并调试; (5)上机计算,记录计算结果; (6)整理数据,按照要求制作出设计计算说明书; (7)分析讨论设计及计算的合理性和优缺点,以及相应的改进意见和措施; 二、设计题目 某柴油机曲轴可以简化为下图所示的结构,材料为球墨铸铁(QT450—5),弹性常数为E 、μ,许用应力[σ],G 处输入转矩为e M ,曲轴颈中点受切向力t F 、径向力r F 的作用,且2t r F F = 。曲柄臂简化为矩形截面,1.4≤h D ≤1.6,2.5≤h b ≤4,3l =1.2r ,有关数据如下表:

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

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解法、线性方程组的迭代解法、代数插值和最小二乘拟合多项式 实验地点:行勉楼 专业班级:******** 学号:********* 学生:******** 指导教师:誌,冬华 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"

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

计算力学课程设计报告

计算力学课程设计说明书 作者: 学号: 学院: 专业(方向): 题目: ANSYS软件建模 指导者: (姓名) (专业技术职务) (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 2015 年 9 月

题目1: 下图所示为一个支座类零件的结构示意图,要求用ANSYS软件建立相应的实体模型和有限元离散模型,说明所用单元的种类、单元数和节点总数。(单位:mm) 解题步骤: 1、定义工作文件名、标题,并更改工作目录 将文件名和标题均改为zuoye1,工作目录改为H:\ANSYS。 2、选择计算类型 选择Main Manu>preferences,勾选Structural。 3、定义单元类型 选择Main Manu>Preprocessor>Element Type>Add/Edit/Delete命令,在弹出的对话框内选择Solid Brick 8node 185单元,点击OK。如下图。 4、自底向上创建几何模型 (1)绘制底座:选择Main Manu>Preprocessor>Modeling> Create>Volumes> Block>By Dimensions命令,输入相应的坐标参数,点击OK,生成底座。见下图。

(2)打圆孔:选择Main Manu>Preprocessor>Modeling>Create>Volumes> Cylinder>Solid Cylinder命令,输入相应参数,先后建立两个圆柱模型,然后选择Main Manu>Preprocessor>Modeling>Operate>Booleans>Subtract>Volumes 命令,减掉两个圆柱,从而打出两个圆孔。如下图。 (3)倒圆角:选择Main Manu> Preprocessor>Modeling>Create>Areas>Area Fillet命令,选择需要倒角的两个面,输入圆角半径,创建出两个圆弧面,然后选择Main Manu> Preprocessor>Modeling>Operate>Booleans>Divide>Volume By Area命令,切割出两个圆角,最后选择Main Manu>Preprocessor>Modeling> Delete>Volume and Below命令,删除圆角外的多余部分。如图所示。 (4)绘制底座凹槽:选择Main Manu> Preprocessor>Modeling>Create> Volumes>Block>By Dimensions命令,输入凹槽各点坐标,在凹槽位置创建出一个和底座重合的长方体块,然后选择Main Manu>Preprocessor>Modeling> Operate> Booleans>Subtract>Volumes命令,在底座中减去重合部分即可。如图所示。

计算方法课程设计

数理学院2014级信息与计算科学 课程设计 姓名:刘金玉 学号: 3141301240 班级: 1402 成绩:

实验要求 1.应用自己熟悉的算法语言编写程序,使之尽可能具有通用性。2.上机前充分准备,复习有关算法,写出计算步骤,反复检查,调试程序。(注:在练习本上写,不上交) 3.完成计算后写出实验报告,内容包括:算法步骤叙述,变量说明,程序清单,输出计算结果,结构分析和小结等。(注:具体题目 具体分析,并不是所有的题目的实验报告都包含上述内容!)4.独立完成,如有雷同,一律判为零分! 5.上机期间不允许做其他任何与课程设计无关的事情,否则被发现一次扣10分,被发现三次判为不及格!非特殊情况,不能请 假。旷课3个半天及以上者,直接判为不及格。

目录 一、基本技能训练 (4) 1、误差分析 (4) 2、求解非线性方程 (6) 3、插值 (12) 4、数值积分 (12) 二、提高技能训练 (16) 1、 (16) 2、 (18) 三、本课程设计的心得体会(500字左右) (21)

一、基本技能训练 1、误差分析 实验1.3 求一元二次方程的根 实验目的: 研究误差传播的原因与解决对策。 问题提出:求解一元二次方程20ax bx c ++= 实验内容: 一元二次方程的求根公式为 1,22b x a -+= 用求根公式求解下面两个方程: 2210(1)320(2)1010 x x x x +-=-+= 实验要求: (1) 考察单精度计算结果(与真解对比); (2) 若计算结果与真解相差很大,分析其原因,提出新的算法(如先求1x 再 根据根与系数关系求2x )以改进计算结果。 实验步骤: 方程(1): 根据求根公式,写出程序: format long a=1;b=3;c=-2; x1=((-1)*b+sqrt(b^2-4*a*c))/2*a x2=((-1)*b-sqrt(b^2-4*a*c))/2*a

《数值分析》课程设计报告

《数值分析》课程设计实验报告 龙格—库塔法分析Lorenz 方程 200820302033 胡涛 一、问题叙述 考虑著名的Lorenz 方程 () dx s y x dt dy rx y xz dt dz xy bz dt ?=-???=--???=-?? 其中s ,r ,b 为变化区域内有一定限制的实参数,该方程形式简单,表面上看并无惊人之处,但由该方程揭示出的许多现象,促使“混沌”成为数学研究的崭新领域,在实际应用中也产生了巨大的影响。 二、问题分析 Lorenz 方程实际上是一个四元一阶常微分方程,用解析法精确求解是不可能的,只能用数值计算,最主要的有欧拉法、亚当法和龙格- 库塔法等。为了得到较高精度的,我们采用经典四阶龙格—库塔方法求解该问题。 三、实验程序及注释 (1)算法程序 function [T]=Runge_Kutta(f,x0,y0,h,n) %定义算法,其中f 为待解方程组, x0是初始自变量,y0是初始函数 值,h 是步长,n 为步数 if nargin<5 n=100; %如果输入参数个数小于5,则步数 n=100 end r=size(y0);r=r(1); %返回初始输出矩阵的行列数,并将 值赋给r(1) s=size(x0);s=s(1); %返回初始输入矩阵的行列数,并 将值赋给s(1) r=r+s; T=zeros(r,n+1); T(:,1)=[y0;x0]; for t=2:n+1 %以下是具体的求解过程 k1=feval(f,T(1:r-1,t-1)); k2=feval(f,[k1*(h/2)+T(1:r-1,t-1);x0+h/2]); k3=feval(f,[k2*(h/2)+T(1:r-1,t-1);x0+h/2]); k4=feval(f,[k3*h+T(1:r-1,t-1);x0+h]); x0=x0+h; T(:,t)=[T(1:r-1,t-1)+(k1+k2*2+k3*2+k4)*(h/6);x0]; end

水文分析计算课程设计

《水文分析与计算》课程设计指导书 ———设计年径流及设计洪水的计算 一、课程设计的目的 1.掌握PIII型频率曲线的制作方法 2. 掌握设计年径流及其年内分配的计算方法 3.掌握考虑历史特大洪水的设计洪水及其过程的计算方法 二、课程设计任务 1.根据所给资料推求设计年径流与设计年内分配过程 表1是某站1958~1976年各月径流量资料,根据所给资料推求P=10%的设计丰水年、P=50%的设计平水年、P=90%的设计枯水年的设计年径流量;并计算P=90%的设计枯水年径流年内分配过程。 要求:理论频率曲线采用PIII型分布,由矩法作参数无偏估计,并以估计值为初值,用目估适线法选配理想的理论频率曲线,注意比较验证均值X a、变差系数C V、偏态系数C S对频率曲线的影响效果。检查所选最终的理论频率曲线的合理性,并计算所求设计频率的相应设计年径流,年径流分配过程采用典型年同倍比放大法。 3

三、课程设计成果要求 要求提交设计成果:一份电子文档,一份打印文档。设计中的计算可采用采用excel 或编程计算,编程语言可采用FORTRAN 语言、C 语言、Basic 语言或同等功能的语言编程。要求程序正确、可靠、可运行,符合结构化程序设计思想,具有易读性、可修改性、可验证性、通用性,关键变量应作注释说明。计算结果要表格化,便于检查、保存和打印。设计设计报告,其重点是对计算成果的说明和合理性分析及其有关问题的讨论。要求文字流畅,简明扼要;图表整齐清楚,名称、编号齐全;封面统一,最后装订成册。 四、课程设计的考核 平日考勤、设计报告,加上抽查提问及上机操作,对成绩进行综合评定。 五、课程设计时间与地点 时间: 2013年5月9日星期四 地点: 学院 六、实验原理 1.经验频率计算 经验频率:P=m/(n+1)*100%,模比系数:Q Q Ki i = 2.线型选择 频率曲线一般应采用皮尔逊Ⅲ型。 3.频率曲线参数估计 平均值:n 1 ∑== n i i Q Q 变差系数:() 1 n 11 2 --= ∑=n i i v K C 4.偏态系数:Cs=2-3Cv 七、实验步骤 1、将测站所得数据年份及年平均流量数据复制与Excel 表格中,并列出序号,同时计算出年平均流量的均值。 2、另起一列,将年平均流量数据按从大到小排列。按数学期望公式计算出相应经验频率P=m/(n+1)*100%。在画图软件上绘制经验点距。再计算出各相应的模比系数Ki (Q Q Ki i =)和(Ki-1)2。 3、选定水文频率分布线型(选用皮尔逊Ⅲ型)。 表2 某站年径流量频率计算表

数值分析课程课程设计汇总

课 程 设 计 我再也回不到大二了, 大学是那么短暂 设计题目 数值分析 学生姓名 李飞吾 学 号 x x x x x x x x 专业班级 信息计x x x x x 班 指导教师 设 计 题 目 共15题如下 成绩

数值分析课程设计 1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?(15621) 试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题 解:算法分析:解该问题主要使用递推算法,关于椰子数目的变化规律可以设起初的椰子数为0p ,第一至五次猴子在夜里藏椰子后,椰子的数目分别为01234,,,,p p p p p 再设最后每个人分得x 个椰子,由题: 14 (1)5 k k p p +=- (k=0,1,2,3,4)51(1)5 x p =- 所以551p x =+,11k k p p +=+利用逆向递推方法求解 15 1,4 k k p p +=+ (k=0,1,2,3,4) MATLAB 代码: n=input('n= '); n= 15621 for x=1:n p=5*x+1; for k=1:5 p=5*p/4+1; end if p==fix(p), break end end disp([x,p]) 1.2 设,1 5n n x I dx x =+? (1)从0I 尽可能精确的近似值出发,利用递推公式: 11 5(1,2,20)n n I I n n -=-+= 计算机从1I 到20I 的近似值; (2)从30I 较粗糙的估计值出发,用递推公式:

计算材料课程设计

湖南工业大学 课程设计 资料袋 理学院(系、部)2011 ~ 2012 学年第一学期课程名称计算材料学指导教师雷军辉职称讲师 学生姓名张丽佳专业班级应用物理081班学号08411200125 题目计算BN的弹性常数 成绩起止日期2011年12月4日~2011年12 月12 日 目录清单 序号材料名称资料数量备注 1 课程设计任务书 2 课程设计说明书 3 课程设计图张 4 5 6 湖南工业大学 1

课程设计任务书 2011—2012 学年第1 学期 理学院学院(系、部)应用物理学专业081 班级 课程名称:计算材料学 一、设计题目:计算BN的弹性常数 二、完成期限:自2011 年12 月 4 日至2011 年12 月12 日共 2 周 内容及任务1.DFT基本理论,CASTEP使用方法 2.晶体模型的建立与几何优化,相关性质的计算。 3.计算BN的弹性常数 4.结果分析 5. 报告写作与修改 进度安排 起止日期工作内容 11-12-4-6 熟悉DTT理论,软件安装,认识界面,熟悉基本操作11-12-7 晶体模型建立,进行结构优化,计算物理性质 11-12-8 物理性质,力学性质的计算 11-12-9 计算BN的弹性常数 11-12-10-12 写出课程设计的总结实验报告.,修改成文 主要参考资料[1] Kohn W, Sham L J, Self-consistent equations including exchange and correlation effects [J]. Physical review, 1965, 140(4):A1133-A1338. [2] Hohenberg P, Kohn W. Inhomogeneous electron gas [J]. Physical review, 1964,136(3):B864- B871. [3] 谢希德, 陆栋.固体能带理论[M].上海:复旦大学出版,1998. [4] Perdew J P, Chevary J A, Vosko S H. Atoms, molecules, solids, and surfaces: Applications of the generalized gradient approximation for exchange and correlation[J]. Physical review B, 1992, 46(11): 6671-6687. 指导教师(签字):年月日系(教研室)主任(签字):年月日 2

数值计算方法课程设计123

数值计算方法课程设计 学号 班级

实验要求 1.应用自己熟悉的算法语言编写程序,使之尽可能具有通用性。2.上机前充分准备,复习有关算法,写出计算步骤,反复检查,调试程序。(注:在练习本上写,不上交) 3.完成计算后写出实验报告,容包括:所用的算法语言,CPU时间,算法步骤叙述,变量说明,程序清单,输出计算结果,结构分析和小结等。(注:具体题目具体分析,并不是所有的题目的实验报告都包含上述容!) 4.至少需要选择5道必做题目。其余的也可以选择,如果多选,可酌情加分! 5.独立完成,如有雷同,一律判为零分! 6.上机期间不允许做其他任何与课程设计无关的事情,否则被发现一次扣10分,被发现三次判为零分!

上机实习题目 1. 编写九韶算法程序,并用该程序计算多项式623)(3 5+-+=x x x x f 在1.3 1.2, ,1.1=x 的值。 public class Qinjiushao { public double result; public double x=-2;//定义一个未知数x public double[] b; public double[] c; public int i; public String abc; public void calculate(){ // abc="x^5+3*x^3-2*x+6";多项式,可以截取字符串获取系数 double[] a={2,0,-3,3,-4};//多项式的系数 double[] b=new double[a.length]; double[] c=new double[b.length]; for(i=0;i

相关文档
最新文档