插值法综述《计算方法》学习报告

插值法综述

一、插值法及其国内外研究进展

1.插值法简介

插值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机广泛使用之后,由于航空、机械加工、自动控制等实际问题的需要,使插值法在实践和理论上都显得更为重要,并得到了空前的发展。

2.国内外研究进展

●插值法在预测地基沉降的应用

●插值法在不排水不可压缩条件下两相介质的两重网格算法的应用

●拉格朗日插值法在地震动的模拟研究中的应用

●插值法在结构抗震可靠性分析中的应用

●插值法在应力集中应变分布规律实验分析中的应用

3.代表性文献

●不等时距GM(1%2c1)模型预测地基沉降研究秦亚琼武汉理工大学学报

(交通科学与工程版) 2008.2

●不排水不可压缩条件下两相介质的两重网格算法牛志伟岩土力学2008.3

●基于拉格朗日插值法的地震动的模拟白可山西建筑2010.10

●响应表面法用于结构抗震可靠性分析张文元世界地震工程1997

●小议应力集中应变分布规律的实验方法查珑珑淮海工学院学报(自

然科学版)2004.6

二、插值法的原理

【原理】

设有n+1个互不相同的节点(i x ,i

y ) (i=0,1,2,...n )则存在唯一的多项式:

2012()...(1)n

n n L x a a x a x a x

=++++

使得()(0,1,2,...)(2)

n j j

L x y j n ==

证明:构造方程组

201020002011211120

12......(3)...n n n

n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y

?++++=?++++=??

??++++=?

令:0011111

n

n n

n

n x x x x A x x ??????

=??

??????

01n a a X a ??????=?????? 01n y y Y y ??

????=??????

方程组的矩阵形式如下:(4)AX Y

=

由于1

1

()0n

n i j i j A x x -===-≠∏∏所以方程组(4)有唯一解。

从而2012()...n n n L x a a x a x a x =++++唯一存在。 三、常用插值法

3.1 Lagrange 插值法

3.1.1 Lagrange 插值法的一般提法

给定))(,(i i x f x ),,1,0(n i =,多项式

=≠==????

?

??--=

=

n

i n

i j j j i j i n

i i i n x x x x y x l y x 0

00

)()(? 称为)(x f 关于n x x x ,,,10 的n 次Lagrange 插值多项式。

3.1.2 Lagrange 插值多项式的构造 已知

n+1

个节点(,)(0,1,,j j x y j n = 其中j x 互不相同,不妨设

01),n a x x x b =<<<= 要求形如:

1

110()n

n n n n P x a x a x

a x a --=++++ 的插值多项式。

若n 次多项式()(0,1,,)j l x j n = 在n+1个节点01n x x x <<< 上满足条件:

1,

;()(,0,1,,)

0,

.

j k k j l x j k n k j =?==?

≠?

就称这n+1个n 次多项式01(),(),,()n l x l x l x 为节点01,,,n x x x 的n 次插值基函数。

3.1.3 Lagrange 插值法的程序设计 f[x_]:=Exp[x]

A=Table[{x,f[x]},{x,0,0.8,0.2}]//N

g1=ListPlot[Table[A],Prolog->AbsolutePointSize[18]]; Interpolation[A,InterpolationOrder->3] g2=Plot[%[x],{x,0,0.8}] Show[g1,g2] N[%%%[0.12],20] N[%%%%[0.72],20] N[f[0.12],20] N[f[0.72],20]

3.1.4 Lagrange 插值法典型例题及其解法

5===,构造二次拉格朗日插值多项式。 (1

(2)估计误差并与实际误差相比较。 解

(1)以插值点(27,3), (64,4), (125,5)代入插值公式,得

222()()2000x x j

x y l x y i i i

x x i i j i j

j i

φ??

?- ?==∑∑∏ ?-=== ?

?≠??

=

(64)(125)(27)(125)(27)(64)345(2764)(27125)

(6427)(64125)

(12527)(12564)

x x x x x x ------?+

?+

?------

(100)

2(10064)(100125)(10027)(100125)(10027)(10064)345

(2764)(27125)

(6427)(64125)

(12527)(12564)

?∴≈------=

?+

?+

?------

4.68782=

(2) 由误差公式有

(3)

()

()(27)(64)(125)3!

f

R x x x x ξ=

---

记8

10(3)(3)3()(),()27

f x f

x x f x -

==在[27,125]上是单调递减函数。 (3)

(3)

5

()(27) 5.6450310

f

x f

-≤≈?

(3)

()

(100)(10027)(10064)(100125)0.6181316

f

R ξ∴≤

---≈

2(100)0.04623?=。

3.1.5 Lagrange 插值法误差估计

(1)

()

()()()(),

(,)(1)!

n n

n n j

j f

R x f x L x x x

a b n ξξ+==-=

-∈+∏

(1)

1()n n f

M ξ++≤10

()(1)!

n

n n j

j M R x x x n +=?≤

-+∏

3.2 Newton 插值法

3.1.1 Newton 插值法的一般提法

]

,,,[)())((],,[))((],[)()()(1011021010000n n n x x x f x x x x x x x x x f x x x x x x f x x x f x N

----++--+-+=

称为Newton 插值多项式。

3.1.2 Newton 插值多项式的构造

()(-)(-)(-)(-)(-)0102010-1

N x a a x x a x x x x L a x x L x x n n n =++++ 由插值条件()(0,1,,)N x f

j n n

j

j

== 当0

x x

=时,()0

N x a f n

==.

当1x x =时,1()()1010N x a a x x f n =+-=,推得 1

000

110

f f

a f

a x x

-==-.

当2

x x =时,()()()()2

1

2

2

2

021

2

N x a a x x a x x x x f

n

=+-+-

-

=

2

010

2010221

f f

f f x x x x a x x

---

--=

- 则引入记号:[][]

10[][,]

0110

f x f x f f x f x x k k x x

-==- [,][,]0201[,,]01221f x x f x x f x x x x x -=-2010

201021

f f f f

x x x x

x x

-----=

- 依次递推可得a k

的一般表

达式:

[,,...,][,,...

]

012011

[,,...,]

011

f x x x x f x x

x k k k f x x x k x x

k k ---=--

3.1.3 Newton 插值法的程序设计 {x[0],x[1],x[2],x[3],x[4]}={10,11,12,13,14}; y[k_]:=Log[x[k]] Table[y[k],{k,0,4}]//N; MatrixForm[%]

f[i_,j_]:=(y[j]-y[i])/(x[j]-x[i])

Table[f[i,i+1],{i,0,3}]//N;

MatrixForm[%]

f[i_,j_,k_]:=(f[j,k]-f[i,j])/(x[k]-x[i])

Table[f[i,i+1,i+2],{i,0,2}]//N;

MatrixForm[%]

f[i_,j_,k_,l_]:=(f[j,k,l]-f[i,j,k])/(x[l]-x[i])

Table[f[i,i+1,i+2,i+3],{i,0,1}]//N;

MatrixForm[%]

f[i_,j_,k_,l_,m_]:=(f[j,k,l,m]-f[i,j,k,l])/(x[m]-x[i])

Table[f[i,i+1,i+2,i+3,i+4],{i,0,0}]//N;

MatrixForm[%]

A={{y[0],y[1],y[2],y[3],y[4]},{0,f[0,1],f[1,2],f[2,3],f[3,4]}, {0,0,f[0,1,2],f[1,2,3],f[2,3,4]},{0,0,0,f[0,1,2,3],f[1,2,3,4]}, {0,0,0,0,f[0,1,2,3,4]}};

Transpose[A]//N;

MatrixForm[%]

a[0]=y[0];

a[1]=f[0,1];

a[2]=f[0,1,2];

a[3]=f[0,1,2,3];

a[4]=f[0,1,2,3,4];

N[x]=Sum[a[k]*Product[(x-x[m]),{m,0,k-1}],{k,0,4}]//N Expand[%]

3.1.4 Newton 插值法典型例题及其解法 已知函数()f x 的函数表如下:

求四次牛顿插值多项式,并由此求()596.0f 的近似值。

分析 表中给出六对数据,故最高可构造五次多项式。但由于0.596接近于

40

.00=x ,因此可取前五对数据来做差商表。

解 构造差商表如下:

故四次牛顿插值多项式为

()()()()+--+-+=55.04.028000.04.011600.141075.04x x x x P

()()()()()?--+---55.04.003134.065.055.04.019733.0x x x x x ()()80.065.0--x x

于是()596.0f ≈()596.04P =0.631 95。

3.1.5 Newton 插值法误差估计

(1)

1(1)()()

()()()(1)!

n n t t t n h

f R x f x N x th n n n

n ξ++++=-+=+

其中(,).0

x x n

ξ∈

四、插值法的比较

Lagrange 插值是利用基函数方法构造的插值多项式,在理论上十分重要,但计算不太方便。基函数方法是将插值问题划归为特定条件下容易实现的插值问题,本质上是广义的坐标系方法。Newton 插值在计算插值多项式及求解函数近似值都比较方便且计算量相对较小,是求函数近似值常用的方法,尤其是等距节点的差分插值公式最为常用。 五、插值法在结构工程专业的应用案例

1.案例叙述

应用Matlab 求解水道测量数据问题

摘要:水道测量数据问题是一个给定数据散乱、随机分布的二维离散数据的插值问题。本文以水道测量数据问题为例,应用Matlab 软件提供的求解三维网格点数据的函数,对求解决给定数据散乱、随机分布的二维离散数据插值问题,给出了一个简便易行的方法。

问题重述

水道测量数据问题是1986年美国大学生数学建模竞赛的A 题,由加州海军研究生院数学系的Richard Franke 提供。问题如下:

在某海域测得一些点(x, y )处的水深z (单位:英尺)由表1给出,水深数据是

在低潮时测得的。船的吃水深度为5英尺,问在矩形区域(75,200) ? (-50,150) 里的哪些地方船要避免进入。

表1 水道水深测量数据(单位:英尺)

2.案例解法

假设与问题分析

由题目给出的信息是很少的,除了14个位置的水深之外一无所知。显然,题目要求我们找出水深不到5英尺的区域。为了讨论方便,下面三个假设是合理的:(1)所给数据是精确的;

(2)讨论区域的海底曲面是光滑的,更确切地说,可以认为曲面的一阶、二阶导数是连续的。因为我们可以认为讨论区域为浅水海域,由于长期的海水水流作用,形成的是以砾石或沙为主要组成部分的海底,不存在珊瑚礁、水底峡谷、山脊等不可意料的突变地形。

(3)水深是一个按区域来划分的变量,在某个位置的水深与其周围区域的水深是相互依赖的,但这种依赖作用随距离的增大而减小。就我们讨论的问题来说,每一个给定数据点影响周围的每一个未知点,一个给定数据点离未知点越近,作用就越大。

根据假设,海底曲面是连续光滑的,不存在珊瑚礁、水底峡谷、山脊等不可意料的突变地形,因而很自然的想法就是用某种光滑的拟合曲面去逼近已知的14个数据点或

以14个已知的数据点为基础,利用二维插值补充一些点的水深,以求得水深不超过5米的区域。

●问题求解

题目中给定的14个已知数据点,是一组散乱、随机分布的二维离散数据集合,一般首先采用改进的Shepard方法,从给定的数据恢复出规则分布点上的数据,然后再应用双三次样条插值或其它的二维数据插值方法来处理。然而,利用Matlab中求解三维网格点数据的函数griddata,却可直接对散乱、随机分布的二维离散数据进行插值。

函数griddata的调用格式为:

[xi, yi, zi] = griddata(x, y, z, xi, yi, 'v4'),

其返回与向量x、y和z所描述的数据点集合相匹配的表面f(x, y) 上网格点的z坐标矩阵zi。函数griddata在点(xi, yi) 处对表面函数f(x, y) 进行插值,从而得到zi的值。

在此,我们采用求解三维网格点数据的函数griddata,对题目中给出的二维离散数据集合进行插值,作出矩形区域(75,200) ? (-50,150) 范围内的海底地形图、水深不超过5米的危险区域的海底地貌图、矩形区域(75,200) ? (-50,150) 范围内的海底等高线图以及水深不超过5米的危险区域的平面图,并求出水深不超过5米的危险海域范围为:[113.75, 200]?[0, 100]。

问题求解的Matlab程序及运行结果附后。

3.求解案例的程序设计

●求解水道测量数据问题的Matlat程序

●clear;

x = [129, 140, 108.5, 88, 185.5, 195, 105.5, 157.5, 107.5, 77, 81, 162, 162, 117.5]; y = [7.5, 141.5, 28, 147, 22.5, 137.5, 85.5, -6.5, -81, 3, 56.5, -66.5, 84, -38.5];

z = [-4, -8, -6, -8, -6, -8, -8, -9, -9, -8, -8, -9, -4, -9];

nx = 100;

px = linspace(75, 200, nx);

ny = 200;

py = linspace(-50, 150, ny);

[xi, yi] = meshgrid(px, py);

[xi, yi, zi] = griddata(x, y, z, xi, yi, 'v4');

figure(1), meshc(xi, yi, zi+5);

title('(75, 200), (-50, 150) 范围内的海底地形图');

rotate3d

figure(2), contour(xi, yi, zi);

title('(75, 200), (-50, 150) 范围内的海底等高线图');

grid

figure(3), contour(xi, yi, zi, [-5 -5]);

title('水深不超过5米的危险区域的平面图');

grid

[a, b] = find(zi>=-5);

amin = min(a);

amax = max(a);

bmin = min(b);

bmax = max(b);

xmin = 75+((200-75)/100)*bmin

xmax = 75+((200-75)/100)*bmax

ymin = -50+((150+50)/200)*amin

ymax = -50+((150+50)/200)*amax

[i1, j1] = find(zi<-5);

for k = 1:length(i1)

zi(i1(k), j1(k)) = -5;

end

figure(4), meshc(xi, yi, zi);

title('水深不超过5米的危险区域的海底地貌图');

rotate3d

运行结果如下:

xmin = 113.75,xmax = 200,ymin = 0,ymax = 100。

4.方法的推广与探究

本文虽然针对的只是水道测量数据问题,但给出的方法却具有一般性:即利用Matlab中给出的求解三维网格点数据的函数griddata,可以解决给定数据散乱、随机分布的二维离散数据插值问题,而且方法简便易行。用于水道测量数据问题的求解,其精度与[2]—[4] 给出的求解方法相当。

六、参考文献

《计算方法》课内实验报告

《计算方法》实验报告 姓名: 班级: 学号: 实验日期: 2011年10月26日

一、实验题目: 数值积分 二、实验目的: 1.熟悉matlab 编写及运行数值计算程序的方法。 2.进一步理解数值积分的基础理论。 3.进一步掌握应用不同的数值积分方法求解给定的积分并给出数据结果及误差分析。 三、实验内容: 1.分别用复合梯形求积公式及复合辛普森求积公式计算积分xdx x ln 10 ? , 要求计算精度达到410-,给出计算结果并比较两种方法的计算节点数. 2.用龙贝格求积方法计算积分dx x x ?+3 021,使误差不超过510-. 3.用3=n 的高斯-勒让德公式计算积分?3 1 sin x e x ,给出计算结果. 4.用辛普森公式(取2==M N ) 计算二重积分.5 .00 5 .00 dydx e x y ? ? - 四、实验结果: 1.(1)复合梯形法: 将区间[a,b]划分为n 等份,分点n k n a b h kh a x k ,2,1,0,,=-=+=在每个区间[1,+k k x x ](k=0,1,2,···n-1)上采用梯形公式,则得 )()]()([2)()(1 11 1 f R x f x f h dx x f dx x f I n n k k k b a n k x x k k ++===∑?∑? -=+-=+ 故)]()(2)([21 1 b f x f a f h T n k k n ++=∑-=称为复合梯形公式 计算步长和划分的区间 Eps=1E-4 h1=sqrt(Eps/abs(-(1-0)/12*1/(2+1))) h1 =0.0600 N1=ceil(1/h1) N1 =17 用复合梯形需要计算17个结点。 复合梯形: function T=trap(f,a,b,n) h=(b-a)/n;

计算电磁学---有限差分法

第一章 有限差分法 一元函数泰勒公式: 设函数()f x 在0x 处的某邻域内具有1n +阶导数,则对该邻域异于0x 的任意点x ,在0 x 与x 之间至少存在一点ξ,使得 () 2 0000000()() ()()()()()()()2! ! n n n f x f x f x f x f x x x x x x x R x n '''=+-+ -+???+ -+ 其中,(1) 1 0() ()() (1)! n n n f R x x x n ξ++= -+ 二元函数的泰勒公式: 设函数(,)z f x y =在点00(,)x y 的某一邻域内连续且有直到1n +阶连续偏导数, 00(,)x h y k ++为此邻域内任意点,则有 0000002 00001 00(,)(,)()(,) 1()(,)2!1()(,)!1() (,) (1)! n n f x h y k f x y h k f x y x y h k f x y x y h k f x y n x y h k f x h y k n x y θθ+??++=++????+++??? ????++????+++++?? 式中01θ<<; 0000(,) (,)m m m p p m p m x y p m p p f h k f x y c h k x y x y --=?? ???+= ? ??????∑ 1.利用泰勒展开求不等间距的差分格式。 (1) 2 x y ???? (2) 3 3 x ??? 解:(1) 2 6001 04001 0401 01 04001 04 00010041()()2! 11 ()() (,) ! (1)! n n h h h h x y x y h h h h x h y h n x y n x y ??????θθ+????=+-++ -++??????????? + -++ -+-+??+??(1.1)

二次插值算法

二次插值法亦是用于一元函数在确定的初始区间内搜索极小点的一种方法。它属于曲线拟合方法的范畴。 一、基本原理 在求解一元函数的极小点时,常常利用一个低次插值多项式来逼近原目标函数,然后求该多项式的极小点(低次多项式的极小点比较容易计算),并以此作为目标函数的近似极小点。如果其近似的程度尚未达到所要求的精度时,可以反复使用此法,逐次拟合,直到满足给定的精度时为止。 常用的插值多项式为二次或三次多项式,分别称为二次插值法和三次插值法。这里我们主要介绍二次插值法的计算公式。 假定目标函数在初始搜索区间中有三点、和 ,其函数值分别为、和(图1},且满足,,即满足函数值为两头大中间小的性质。利用这三点及相应的函数值作一条二次曲线,其函数为一个二次多项式 (1) 式中、、为待定系数。

图1 根据插值条件,插值函数与原函数在插值结点、、处函数值相等,得 (2) 为求插值多项式的极小点,可令其一阶导数为零,即 (3) 解式(3)即求得插值函数的极小点(4) 式(4)中要确定的系数可在方程组(2)中利用相邻两个方程消去而得: (5)

(6)将式(5)、(6)代入式(4)便得插值函数极小值点的计算公式: (7)把取作区间内的另一个计算点,比较与两点函数值的大小,在保持两头大中间小的前提下缩短搜索区间,从而构成新的三点搜索区间,再继续按上述 方法进行三点二次插值运算,直到满足规定的精度要求为止,把得到的最后的作为 的近似极小值点。上述求极值点的方法称为三点二次插值法。 为便于计算,可将式(7)改写为 (8) 式中: (9) (10) 二、迭代过程及算法框图 (1)确定初始插值结点 通常取初始搜索区间的两端点及中点为,, 。计算函数值,,,构成三个初始插值结点、、。

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

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

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

计算电磁学

电磁学: 电磁学是研究电磁现象的规衛[]应用的物理学分支学科,起源于18世纪。广义的电磁学可以说是包含电学和磁学”但狭义来说是_ 门探讨电性与磁性交互关系的学科。主要硏究电磁波、电磁场以及有关电荷、带电物体的动力学等等。 计算电磁学: 内容简介: 本书在论述计算电磁学的产生背景、现状和发展趋势的基础上, 系统地介绍了电磁仿真中的有限差分法、人工神经网络在电磁建模中的应用,遗传算法在电磁优化中的应用等。 图书目录: 第一童绪论 1.1计算电磁学的产生背景 1.1.1高性能计算技术 1.1.2计算电磁学的重要性 1.1.3计算电磁学的硏究特点 1.2电磁场问题求解方法分类 1.2.1解析法 1.2.2数值法 1.2.3半解析数值法 13当前计算电磁学中的几种重要方法 13.1有限元法

1.3.2时域有限差分法 1.3.3矩量法 1.4电磁场工程专家系统 1.4.1复杂系统的电磁特性仿真 1.4.2面向CAD的复杂系统电磁特性建模1.4.3电磁场工程专家系统 第一篇电磁仿真中的有限差分法 第二童有限差分法 2.1差分运算的基本概念 2.2二维电磁场泊松方程的差分格式 2.2.1差分格式的建立 2.2.2不同介质分界面上边界条件的离散方法2.2.3第一类边界条件的处理 2.2.4第二类和第三类边界条件的处理 2.3差分方程组的求解 2.3.1差分方程组的特性 2.3.2差分方程组的解法 2.4工程应用举例 2.5标量时域有限差分法 2.5.1瞬态场标量波动方程 2.5.2稳定性分析 2.5.3网格色散误差

2.5.4举例 第三童时域有限差分法I——差分格式及解的稳定性3.1FDTD基本原理 3.1.1Yee的差分算法 3.1.2环路积分解释 3.2解的稳定性及数值色散 3.2.1解的稳定条件 3.2.2数值色散 3.3非均匀网格及共形网格 3.3.1渐变非均匀网格 3.3.2局部细网格 3.3.3共形网格 3.4三角形网格及平面型广义Yee网格 3.4.1三角形网格离散化 3.4.2数值解的稳定性 3.4.3平面型广义Yee网格 3.5半解析数值模型 3.5.1细导线问题 3.5.2增强细槽缝公式 3.5.3小孔耦合问题 3.5.4薄层介质问题 3.6良导体中的差分格式

常见的插值方法及其原理

常见的插值方法及其原理 这一节无可避免要接触一些数学知识,为了让本文通俗易懂,我们尽量绕开讨厌的公式等。为了进一步的简化难度,我们把讨论从二维图像降到一维上。 首先来看看最简单的‘最临近像素插值’。 A,B是原图上已经有的点,现在我们要知道其中间X位置处的像素值。我们找出X位置和A,B位置之间的距离d1,d2,如图,d2要小于d1,所以我们就认为X处像素值的大小就等于B处像素值的大小。 显然,这种方法是非常苯的,同时会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是为什么会出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。 图10,最临近法插值原理 接下来是稍微复杂点的‘线性插值’(Linear) 线性插值也很好理解,AB两点的像素值之间,我们认为是直线变化的,要求X点处的值,只需要找到对应位置直线上的一点即可。换句话说,A,B间任意一点的值只跟A,B有关。由于插值的结果是连续的,所以视觉上会比最小临近法要好一些。线性插值速度稍微要慢一点,但是效果要好不少。如果讲究速度,这是个不错的折衷。 图11,线性插值原理

其他插值方法 立方插值,样条插值等等,他们的目的是试图让插值的曲线显得更平滑,为了达到这个目的,他们不得不利用到周围若干范围内的点,这里的数学原理就不再详述了。 图12,高级的插值原理 如图,要求B,C之间X的值,需要利用B,C周围A,B,C,D四个点的像素值,通过某种计算,得到光滑的曲线,从而算出X的值来。计算量显然要比前两种大许多。 好了,以上就是基本知识。所谓两次线性和两次立方实际上就是把刚才的分析拓展到二维空间上,在宽和高方向上作两次插值的意思。在以上的基础上,有的软件还发展了更复杂的改进的插值方式譬如S-SPline, Turbo Photo等。他们的目的是使边缘的表现更完美。

c 计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为 calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单 选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成 员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始 化和完善各控件的响应函数代码。 (3)程序清单:

●添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法2.减法3. 乘法 4.除法 int append; //判断后面是否添加数字 ●成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; }

牛顿插值法原理及应用

牛顿插值法 插值法是利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。如果这特定函数是多项式,就称它为插值多项式。当插值节点增减时全部插值基函数均要随之变化,这在实际计算中很不方便。为了克服这一缺点,提出了牛顿插值。牛顿插值通过求各阶差商,递推得到的一个公式: f(x)=f[x0]+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)+...f[x0,...xn](x-x0 )...(x-xn-1)+Rn(x)。 插值函数 插值函数的概念及相关性质[1] 定义:设连续函数y-f(x) 在区间[a,b]上有定义,已知在n+1个互异的点 x0,x1,…xn上取值分别为y0,y1,…yn (设a≤ x1≤x2……≤xn≤b)。若在函数类中存在以简单函数P(x) ,使得P(xi)=yi,则称P(x) 为f(x)的插值函数. 称x1,x2,…xn 为插值节点,称[a,b]为插值区间。 定理:n次代数插值问题的解存在且唯一。

牛顿插值法C程序 程序框图#include void main() { float x[11],y[11][11],xx,temp,newton; int i,j,n; printf("Newton插值:\n请输入要运算的值:x="); scanf("%f",&xx); printf("请输入插值的次数(n<11):n="); scanf("%d",&n); printf("请输入%d组值:\n",n+1); for(i=0;i

计算方法实验报告格式

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

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

计算电磁学结课论文

《计算电磁学》学习心得 姓名:桑dog 学号: 班级: 联系方式:

前言 计算电磁学是科技的重要领域它的研究涉及到应用计算机求解电磁方程它的重要性基于麦克斯韦方程——唯一的可以描述小到亚原子大到天体尺度的所有物理现象的方程, 。而且, 麦克斯韦方程式对于结果拥有很强的预测能力: 对于一个复杂问题的麦克斯韦方程的解通常可以准确的预知实验结果。因此, 麦克斯韦方程的解对于提高我们对复杂系统之物理现象的洞察力和设计复杂系统的能力均有极大帮助所以, 成功求解麦克斯韦方程式拥有广泛的应用前景: 例如纳米技术, 电脑微电子电路, 电脑芯片设计, 光学, 纳米光学, 微波工程, 遥感, 射电天文学, 生物医学工程, 逆散射和成象等等。 这篇文章的安排如下:第一章介绍了计算电磁学的重要意义以及发展状况。第二章介绍了计算电磁学中解决问题的方法分类。第三章对主要的数值方法进行了简介。第四章展望了计算电磁学的发展趋势。

第1章计算电磁学的重要性 在现代科学研究中,“科学试验,理论分析,高性能计算”已经成为三种重要的研究手段[1]。在电磁学领域中,经典电磁理论只能在11 种可分离变量坐标系中求解麦克斯韦方程组或者其退化形式,最后得到解析解。解析解的优点在于: ●可将解答表示为己知函数的显式,从而可计算出精确的数值结果; ●可以作为近似解和数值解的检验标准; ●在解析过程中和在解的显式中可以观察到问题的内在联系和各个参数对数值 结果所起的作用。 这种方法可以得到问题的准确解,而且效率也比较高,但是适用范围太窄,只能求解具有规则边界的简单问题[2]。当遇到不规则形状或者任意形状边界问题时,则需要比较复杂的数学技巧,甚至无法求得解析解。20 世纪60 年代以来,随着电子计算机技术的发展,一些电磁场的数值计算方法也迅速发展起来,并在实际工程问题中得到了广泛地应用,形成了计算电磁学研究领域,已经成为现代电磁理论研究的主流。简而言之,计算电磁学是在电磁场与微波技术学科中发展起来的,建立在电磁场理论基础上,以高性能计算机技术为工具,运用计算数学方法,专门解决复杂电磁场与微波工程问题的应用科学。相对于经典电磁理论分析而言,应用计算电磁学来解决电磁学问题时受边界约束大为减少,可以解决各种类型的复杂问题。原则上来讲,从直流到光的宽广频率范围都属于该学科的研究范围。近几年来,电磁场工程在以电磁能量或信息的传输、转换过程为核心的强电与弱电领域中显示了重要作用。[3]

插值法实验报告

实验二插值法 1、实验目的: 1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;观察拉格郎日插值的龙格现象。 2、了解Hermite插值法、三次样条插值法原理,结合计算公式,确定函数值。 2、实验要求: 1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法; 2)编写上机实验程序,作好上机前的准备工作; 3)上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果); 4)分析和解释计算结果; 5)按照要求书写实验报告; 3、实验内容: 1) 用拉格郎日插值公式确定函数值;对函数f(x)进行拉格郎日插值,并对f(x)与插值多项式的曲线作比较。 已知函数表:(0.56160,0.82741)、(0.56280,0.82659)、(0.56401,0.82577)、(0.56521,0.82495)用三次拉格朗日插值多项式求x=0.5635时函数近似值。 2) 求满足插值条件的插值多项式及余项 1) 4、题目:插值法 5、原理: 拉格郎日插值原理: n次拉格朗日插值多项式为:L n (x)=y l (x)+y 1 l 1 (x)+y 2 l 2 (x)+…+y n l n (x)

n=1时,称为线性插值, L 1(x)=y (x-x 1 )/(x -x 1 )+y 1 (x-x )/(x 1 -x )=y +(y 1 -x )(x-x )/(x 1 -x ) n=2时,称为二次插值或抛物线插值, L 2(x)=y (x-x 1 )(x-x 2 )/(x -x 1 )/(x -x 2 )+y 1 (x-x )(x-x 2 )/(x 1 -x )/(x 1 -x 2 )+y 2 (x -x 0)(x-x 1 )/(x 2 -x )/(x 2 -x 1 ) n=i时, Li= (X-X0)……(X-X i-1)(x-x i+1) ……(x-x n) (X-X0)……(X-X i-1)(x-x i+1) ……(x-x n) 6、设计思想: 拉格朗日插值法是根据n + 1个点x0, x1, ... x n(x0 < x1 < ... x n)的函数值f (x0), f (x1) , ... , f (x n)推出n次多項式p(x),然后n次多項式p (x)求出任意的点x对应的函数值f (x)的算法。 7、对应程序: 1 ) 三次拉格朗日插值多项式求x=0.5635时函数近似值 #include"stdio.h" #define n 5 void main() { int i,j; float x[n],y[n]; float x1; float a=1; float b=1; float lx=0; printf("\n请输入想要求解的X:\n x="); scanf("%f",&x1); printf("请输入所有点的横纵坐标:\n"); for(i=1;i

有限元法在计算电磁学中的应用毕设论文完整版

目录 1.绪论 (3) 1.1 电磁场理论概述 (3) 1.2 有限元法概述 (3) 1.2.1有限元的发展历史 (4) 1.2.2有限元方法分析过程及其应用 (6) 1.2.3 有限元方法的分析过程 (6) 1.2.4 有限元方法的应用 (7) 2 电磁场及有限单元法的理论基础 (9) 2.1矢量及其代数运算 (9) 2.1.1 矢量的基本概念 (9) 2.1.2 矢量函数的代数运算规则 (11) 2.2矢量函数和微分 (12) 2.2.1矢量函数的偏导数 (13) 2.2.2 梯度,散度和旋度的定义 (14) 2.3 矢量微分算子 (15) 2.3.1 微分算子?的定义 (15) 2.3.2 含有?算子算式的定义和性质 (16) 2.3.3 二重?算子 (18) 2.3.4 包含?算子的恒等式 (19) 2.4 矢量积分定理 (19) 2.4.1高斯散度定理 (19) 2.4.2 斯托克斯定理 (20) 2.4.3 其他积分定理 (20) 2.5 静电场中的基本定律 (20) 2.5.1 库仑定律 (20) 2.5.2电场强度E (22) 2.5.3 高斯定律的积分和微分形式 (23) 2.6 静电场的边界条件 (26)

2.6.1电位移矢量的法向分量 (26) 2.6.2电场强度的切向分量 (27) 2.6.3 标量电位的边界条件 (29) 2.7 泊松方程和拉普拉斯方程 (30) 2.8 静电场的边值问题 (31) 2.8.1边值问题的分类 (31) 2.8.2 静电场中解的唯一性定理 (32) 3.有限单元法 (34) 3.1 泛函及泛函的变分 (34) 3.2 与边值问题等价的变分问题 (35) 3.2.1与二维边值问题等价的变分问题 (35) 3.2.2平衡问题的变法表示法 (37) 3.3 区域剖分和插值函数 (41) 3.3.1定义域的剖分 (41) 3.3.2 单元内局部坐标系中φ的近似表达式—插值函数 (45) 3.4 单元分析 (48) 3.5总体合成 (50) 3.6 引入强加边界条件 (53) 4.有限单元法的具体应用 (53) 5.结束语 (64) 参考文献 (65) 致谢 (65)

计算方法实验报告 拟合

南京信息工程大学实验(实习)报告 一、实验目的: 用最小二乘法将给定的十个点拟合成三次多项式。 二、实验步骤: 用matlab编制以函数为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi=1) x -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 y -2.30 -1 -0.14 -0.25 0.61 1.03 1.75 2.75 4.42 6.94 给定直线方程为:y=1/4*x3+1/2*x2+x+1 三、实验结论: 最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。 一般地。当测量数据的散布图无明显的规律时,习惯上取n次代数多项式。 程序运行结果为: a = 0.9731 1.1023 0.4862 0.2238 即拟合的三次方程为:y=0.9731+1.1023x+0.4862*x2+0.2238*x3

-2.5 -2-1.5-1-0.5 00.51 1.52 2.5 -4-20246 81012 x 轴 y 轴 拟合图 离散点 y=a(1)+a(2)*x+a(3)*x.2+a(4)*x.3 结论: 一般情况下,拟合函数使得所有的残差为零是不可能的。由图形可以看出最小二乘解决了残差的正负相互抵消的问题,使得拟合函数更加密合实验数据。 优点:曲线拟合是使拟合函数和一系列的离散点与观测值的偏差平方和达到最小。 缺点:由于计算方法简单,若要保证数据的精确度,需要大量的数据代入计算。

计算方法实验报告 插值

实验名称:插值计算 1引言 在生产和科研中出现的函数是多种多样的。常常会遇到这样的情况:在某个实际问题中,虽然可以断定所考虑的函数f(x)在区间[a,b]上存在且连续,但却难以找到它的解析表达式,只能通过实验和观测得到在有限个点上的函数值。用这张函数表来直接求出其他点的函数值是非常困难的,在有些情况下,虽然可以写出f(x)的解析表达式,但由于结构十分复杂,使用起来很不方便。面对这些情况,构造函数P(x)作为f(x)的近似,插值法是解决此类问题比较古老却目前常用的方法,不仅直接广泛地应用与生产实际和科学研究中,而且是进一步学习数值计算方法的基础。 设函数y=f(x)在区间[a,b]上连续,且在n+1个不同的点a≤x0,x1……,xn≤b上分别取值y0,y1……,yn. 插值的目的就是要在一个性质优良、便于计算的函数φ中,求一简单函数P(x),使P(xi)=yi(i=0,1…,n)而在其他点x≠xi上,作为f(x)的近似。 通常,称区间[a,b]为插值区间,称点x0,x1,…,xn为插值节点,上式为插值条件,称函数类φ为插值函数类,称P(x)为函数f(x)在节点x0,x1,…,xn处的插值函数,求插值函数P(x)的方法称为插值法。 2实验目的和要求 用matlab定义分段线性插值函数、分段二次插值函数、拉格朗日插值函数,输入所给函 数表,并利用计算机选择在插值计算中所需的节点,计算f(0.15),f(0.31),f(0.47)的近似值。

3算法描述 1.分段线性插值流程图

2.分段二次插值流程图

3.拉格朗日插值流程图

4程序代码及注释 1.分段线性插值

《财务管理》教学中插值法的快速理解和掌握

摘要在时间价值及内部报酬率计算时常用到插入法,但初学者对该方法并 不是很容易理解和掌握。本文根据不同情况分门别类。利用相似三角形原理推 导出插入法计算用公式。并将其归纳为两类:加法公式和减法公式,简单易懂、理解准确、便于记忆、推导快捷。 关键词插入法;近似直边三角形;相似三角形 时间价值原理正确地揭示了不同时点上资金之间的换算。是财务决策的基 本依据。为此,财务人员必须了解时间价值的概念和计算方法。但在教学过程中。笔者发现大多数教材插值法(也叫插入法)是用下述方法来进行的。如高等 教育出版社2000年出版的《财务管理学》P62对贴现期的。 事实上,这样计算的结果是错误的。最直观的判断是:系数与期数成正向 关系。而4.000更接近于3.791。那么最后的期数n应该更接近于5,而不是6。正确结果是:n=6-0.6=5.4(年)。由此可见,这种插入法比较麻烦,不小心时还容易出现上述错误。 笔者在教学实践中用公式法来进行插值法演算,效果很好,现分以下几种 情况介绍其原理。 一、已知系数F和计息期n。求利息率i 这里的系数F不外乎是现值系数(如:复利现值系数PVIF年金现值系数PVIFA)和终值系数(如:复利终值系数FVIF、年金终值系数FVIFA)。 (一)已知的是现值系数 那么系数与利息率(也即贴现率)之间是反向关系:贴现率越大系数反而越小,可用图1表示。 图1中。F表示根据题意计算出来的年金现值系数(复利现值系数的图示略 有不同,在于i可以等于0,此时纵轴上的系数F等于1),F为在相应系数表 中查到的略大于F的那个系数,F对应的利息率即为i。查表所得的另一个比F 略小的系数记作F,其对应的利息率为i。

插值法的原理

《财务管理》教学中插值法的快速理解和掌握 摘要在时间价值及内部报酬率计算时常用到插入法,但初学者对该方法并不是很容易理解和掌握。本文根据不同情况分门别类。利用相似三角形原理推导出插入法计算用公式。并将其归纳为两类:加法公式和减法公式,简单易懂、理解准确、便于记忆、推导快捷。 关键词插入法;近似直边三角形;相似三角形 时间价值原理正确地揭示了不同时点上资金之间的换算。是财务决策的基本依据。为此,财务人员必须了解时间价值的概念和计算方法。但在教学过程中。笔者发现大多数教材插值法(也叫插入法)是用下述方法来进行的。如高等教育出版社2000年出版的《财务管理学》P62对贴现期的。 事实上,这样计算的结果是错误的。最直观的判断是:系数与期数成正向关系。而4.000更接近于3.791。那么最后的期数n应该更接近于5,而不是6。正确结果是:n=6-0.6=5.4(年)。由此可见,这种插入法比较麻烦,不小心时还容易出现上述错误。 笔者在教学实践中用公式法来进行插值法演算,效果很好,现分以下几种情况介绍其原理。 一、已知系数F和计息期n。求利息率i

这里的系数F不外乎是现值系数(如:复利现值系数PVIF年金现值系数PVIFA)和终值系数(如:复利终值系数FVIF、年金终值系数FVIFA)。 (一)已知的是现值系数 那么系数与利息率(也即贴现率)之间是反向关系:贴现率越大系数反而越小,可用图1表示。 图1中。F表示根据题意计算出来的年金现值系数(复利现值系数的图示略有不同,在于i可以等于0,此时纵轴上的系数F等于1),F为在相应系数表中查到的略大于F的那个系数,F对应的利息率即为i。查表所得的另一个比F略小的系数记作F,其对应的利息率为i。

计算方法上机实验报告——拉格朗日插值问题

计算方法上机实验报告——拉格朗日插值问题 一、方法原理 n次拉格朗日插值多项式为:Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/(x0-x1)+y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0) n=2时,称为二次插值或抛物线插值,精度相对高些 L2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x 2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1) 二、主要思路 使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。 对节点xi(i=0,1,…,n)中任一点xk(0<=k<=n)作一n次多项式lk(xk),使它在该点上取值为1,而在其余点xi(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) 上式表明:n个点xi(i=0,1,…,k-1,k+1,…,n)都是lk(x)的零点。可求得lk 三.计算方法及过程:1.输入节点的个数n 2.输入各个节点的横纵坐标 3.输入插值点 4.调用函数,返回z 函数语句与形参说明 程序源代码如下: 形参与函数类型 参数意义 intn 节点的个数 doublex[n](double*x) 存放n个节点的值 doubley[n](double*y) 存放n个节点相对应的函数值 doublep 指定插值点的值 doublefun() 函数返回一个双精度实型函数值,即插值点p处的近似函数值 #include #include usingnamespacestd; #defineN100 doublefun(double*x,double*y,intn,doublep); voidmain() {inti,n; cout<<"输入节点的个数n:"; cin>>n;

电子信息工程专业综述

电子信息工程专业综述 学生姓名:张华 学号:20122450112 专业:电子信息工程 院(系):信息工程学院 指导教师:马旭东 职称:讲师 2013年05月07日

专业综述 电子信息技术是在十九世纪末、二十世纪出发展起来的新兴技术,特别是在二十世纪,发展最为迅速,成为近代科学技术的一个重要指标。进入二十一世纪,电子技术越来越成为国民经济发展的主要推动力量,人类步入信息化时代。 首先介绍一下电子信息技术的历史。电子信息工程专业来自于军事应用,最早是马可尼发明的无线电报使得这门学科有了萌芽。随后一战、二战爆发,在军事作战中,电子对抗与侦测逐渐成为战争中不可缺少的重要手段,雷达的研究与应用也在战争需求中飞速的发展起来了,如二战初期英国的雷达对防范德国空袭起到了举足轻重的作用。雷达是复杂无线电路系统,由于雷达的出现,无线电通信技术得到了空前的发展,没有雷达就没有今天的无线通信。当今雷达已经发展成为高度复杂的电子系统,把雷达拆解就是电子信息工程的所有研究方向,主要三个领域:电磁场与电磁波技术,电路与系统,信息与信号处理。 电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。电子信息工程已经涵盖了社会的诸多方面,像电话交换局里是如何处理各种电话信号的,手机是怎样传递我们的声音甚至图像的,我们周围的网络是怎么传递数据的,甚至信息化时代军队的信息传递是如何保密的等,这些都要涉及电子信息工程的应用技术。 电子信息工程专业培养掌握现代电子技术理论、通晓电子系统设计原理与设计方法,具有较强的计算机、外语和相应工程技术应用能力,面向电子技术、自动控制和智能控制、计算机与网络技术等电子、信息、通信领域的宽口径、高素质、德智体全面发展的具有创新能力的高级工程技术人才。注重培养电子信息技术基础知识与能力;电子产品的装配、调试及设计的基本能力;一般电子设备的安装、调试、维护与应用能力;对办公自动化设备的安装、调试、维修和维护管理能力;对通信设备、家用电子产品电路图的阅读分析及安装、调试、维护能力;对机电设备进行智能控制的设计和组织能力;阅读相关专业英语资料能力。并要求计算机技术应用能力达到计算机等级四级要求水平。对于

计算方法实验报告

中北大学信息商务学院计算方法实验报告 学生姓名:刘昊文学号: 30 学院:中北大学信息商务学院 专业:电气工程及其自动化 指导教师:薛晓健 2017 年 04 月 19 日

实验一:非线性方程的近似解法 1.实验目的 1.掌握二分法和牛顿迭代法的原理 2.根据实验内容编写二分法和牛顿迭代法的算法实现 注:(可以用C语言或者matlab语言) 2.实验设备 matlab 3.实验内容及步骤 解方程f(x)=x5-3x3-2x2+2=0 4.实验结果及分析 二分法: 数据: f =x^5-3*x^3-2*x^2+2 [ n xa xb xc fc ]

1 -3 3 0 2 0

牛顿迭代法 > syms x; f=(x^5-3*x^3-2*x^2+2) [x,k]=Newtondd(f,0,1e-12) f = x^5 - 3*x^3 - 2*x^2 + 2 x = NaN k =2 实验二:解线性方程组的迭代法 1.实验目的 1.掌握雅克比迭代法和高斯-塞德尔迭代法的原理 2.根据实验内容编写雅克比迭代法和高斯-塞德尔迭代法的算法实现 注:(可以用C语言或者matlab语言) 2.实验设备 Matlab

3.实验内容及步骤 1、分别用雅克比迭代法和高斯-塞德尔迭代法解方程Ax=b 其中A=[4 -1 0 -1 0 0 -1 4 -1 0 -1 0 0 -1 4 -1 0 -1 -1 0 -1 4 -1 0 0 -1 0 -1 4 -1 0 0 -1 0 -1 4] b=[0 ;5;-2;5;-2;6] 4.实验结果及分析 (雅克比迭代法) a=[4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1;-1 0 -1 4 -1 0;0 -1 0 -1 4 -1;0 0 -1 0 -1 4] b=[0;5;-2;5;-2;6] x=agui_jacobi(a,b) a = 4 -1 0 -1 0 0 -1 4 -1 0 -1 0 0 -1 4 -1 0 -1 -1 0 -1 4 -1 0 0 -1 0 -1 4 -1 0 0 -1 0 -1 4 b = 0 5 -2 5 -2 6

电磁学计算方法的比较

电磁学计算方法的比较 | [<<] [>>]摘要:介绍了电磁学计算方法的研究进展和状态,对几种富有代表性的算法做了介绍,并比较了各自的优势和不足,包括矩量法、有限元法、时域有限差分方法以及复射线方法等。 关键词:矩量法;有限元法;时域有限差分方法;复射线方法 1 引言 1864 年Maxwell在前人的理论(高斯定律、安培定律、法拉第定律和自由磁极不存在)和实验的基础上建立了统一的电磁场理论,并用数学模型揭示了自然界一切宏观电磁现象所遵循的普遍规律,这就是著名的Maxwell方程。在11种可分离变量坐标系求解Maxwel l方程组或者其退化形式,最后得到解析解。这种方法可以得到问题的准确解,而且效率也比较高,但是适用范围太窄,只能求解具有规则边界的简单问题。对于不规则形状或者任意形状边界则需要比较高的数学技巧,甚至无法求得解析解。20世纪60年代以来,随着电子计算机技术的发展,一些电磁场的数值计算方法发展起来,并得到广泛地应用,相对于经典电磁理论而言,数值方法受边界形状的约束大为减少,可以解决各种类型的复杂问题。但各种数值计算方法都有优缺点,一个复杂的问题往往难以依靠一种单一方法解决,常

需要将多种方法结合起来,互相取长补短,因此混和方法日益受到人们的重视。 本文综述了国内外计算电磁学的发展状况,对常用的电磁计算方法做了分类。 2 电磁场数值方法的分类 电磁学问题的数值求解方法可分为时域和频域2大类。频域技术主要有矩量法、有限差分方法等,频域技术发展得比较早,也比较成熟。时域法主要有时域差分技术。时域法的引入是基于计算效率的考虑,某些问题在时域中讨论起来计算量要小。例如求解目标对冲激脉冲的早期响应时,频域法必须在很大的带宽内进行多次采样计算,然后做傅里叶反变换才能求得解答,计算精度受到采样点的影响。若有非线性部分随时间变化,采用时域法更加直接。另外还有一些高频方法,如GTD,UTD和射线理论。 从求解方程的形式看,可以分为积分方程法(IE)和微分方程法(DE)。IE和DE相比,有如下特点:IE法的求解区域维数比DE法少一维,误差限于求解区域的边界,故精度高;IE法适合求无限域问题,DE法此时会遇到网格截断问题;IE法产生的矩阵是满的,阶数小,DE法所产生的是稀疏矩阵,但阶数大;IE法难以处理非均匀、非线性和时变媒质问题,DE法可直接用于这类问题〔1〕。

拉格朗日插值法理论及误差分析

目录: 一、 引言 二、 插值及多项式插值的介绍 三、 拉格朗日插值的理论及实验 四、 拉格朗日插值多项式的截断误差及实用估计式 五、 参考文献 一、引言 插值在数学发展史上是个古老问题。插值是和拉格朗日(Lagrange )、牛顿(Newton )、高斯(Gauss )等著名数学家的名字连在一起的。在科学研究和日常生活中,常常会遇到计算函数值等一类问题。插值法有很丰富的历史渊源,它最初来源人们对天体研究——有若干观测点(我们称为节点)计算任意时刻星球的位置(插值点和插值)。现在,人们在诸如机械加工等工程技术和数据处理等科研都有很好的应用,最常见的应用就是气象预报。插值理论和方法能解决在实际中当许多函数表达式未知或形式复杂,如何去构造近似表达式及求得在其他节点处的值的问题。 二、插值及多项式插值 1、插值问题的描述 设已知某函数关系()y f x =在某些离散点上的函数值: 插值问题:根据这些已知数据来构造函数()y f x =的一种简单的近似表达式,以便于计算点,0,1,,i x x i n ≠=的函数值()f x ,或计算函数的一阶、二阶导数 值。 2、插值的几何意义 x x 0 y y 1 y 1 n y -n y 1 x 1 n x -n x

插值的几何意义如图1所示: 图1 3、多项式插值 基本概念 假设()y f x =是定义在区间,a b ????上的未知或复杂函数,但一直该函数在点01n a x x x b ≤<< <≤处的函数值01,,n y y y 。找一个简单的函数,例如函数 ()P x ,使之满足条件 (),0,1,2, ,,i P x y i n == () 通常把上述01n x x x << < 称为插值节点,把()P x 称为()f x 的插值多项 式,条件()称为插值条件,并把求()P x 的过程称为插值法。 插值多项式的存在性和唯一性 如果插值函数是如下m 次的多项式: 1011()m m m m m P x a x a x a x a --=++ + 那么插值函数的构造就是要确定()m P x 表达式中的m+1个系数 011,, ,m m a a a a -。由于插值条件包含n+1独立式,只要m=n 就可证明插值函数多 项式是唯一存在。 实际上,由n+1个插值条件可得

相关文档
最新文档