《计算方法》课内实验报告(实验2)2014
计算方法实验报告

计算方法实验报告计算方法实验报告概述:计算方法是一门研究如何用计算机解决数学问题的学科。
在本次实验中,我们将学习和应用几种常见的计算方法,包括数值逼近、插值、数值积分和常微分方程求解。
通过实验,我们将深入了解这些方法的原理、应用场景以及其在计算机科学和工程领域的重要性。
数值逼近:数值逼近是一种通过使用近似值来计算复杂函数的方法。
在实验中,我们通过使用泰勒级数展开和牛顿迭代法等数值逼近技术,来计算函数的近似值。
这些方法在科学计算和工程领域中广泛应用,例如在信号处理、图像处理和优化问题中。
插值:插值是一种通过已知数据点来估算未知数据点的方法。
在实验中,我们将学习和应用拉格朗日插值和牛顿插值等方法,以及使用这些方法来构造函数的近似曲线。
插值技术在数据分析、图像处理和计算机图形学等领域中具有重要的应用价值。
数值积分:数值积分是一种通过将函数曲线划分为小矩形或梯形来估算函数的积分值的方法。
在实验中,我们将学习和应用矩形法和梯形法等数值积分技术,以及使用这些方法来计算函数的近似积分值。
数值积分在物理学、金融学和统计学等领域中被广泛使用。
常微分方程求解:常微分方程求解是一种通过数值方法来求解微分方程的方法。
在实验中,我们将学习和应用欧拉法和龙格-库塔法等常微分方程求解技术,以及使用这些方法来求解一些常见的微分方程。
常微分方程求解在物理学、生物学和工程学等领域中具有广泛的应用。
实验结果:通过实验,我们成功地应用了数值逼近、插值、数值积分和常微分方程求解等计算方法。
我们得到了准确的结果,并且在不同的应用场景中验证了这些方法的有效性和可靠性。
这些实验结果将对我们进一步理解和应用计算方法提供重要的指导和支持。
结论:计算方法是计算机科学和工程领域中的重要学科,它提供了解决复杂数学问题的有效工具和方法。
通过本次实验,我们深入了解了数值逼近、插值、数值积分和常微分方程求解等计算方法的原理和应用。
这些方法在科学研究、工程设计和数据分析等领域中具有广泛的应用价值。
计算方法课程上机实验报告2

计算方法课程上机实验二姓名 彭鑫 学号 2704302012 得分实验地点: 科研楼机房 学时: 指导教师: 李浩 时间:1. 实验目的掌握高斯消去法的基本思路和迭代步骤;培养编程与上机调试能力。
2. 实验内容利用列主元高斯消去法解方程组1231231230.101 2.304 3.555 1.1831.347 3.712 4.623 2.1372.835 1.072 5.643 3.035x x x x x x x x x ++=⎧⎪-++=⎨⎪-++=⎩要求给出相关理论基础和算法描述。
3. 算法介绍或方法基础高斯消去法对于一般方程组,通过同解变换将其化为上三角方程组这种特形式,然后进行求解.4. 程序function X=backsub(A,B)n=length(B);X=zeros(n,1);X(n)=B(n)/A(n,n);for k=n-1:-1:1X(k)=(B(k)-A(k,k+1:n)*X(k+1:n))/A(k,k);endfunction X=uptrbk(A,B)[N N]=size(A);C=zeros(1,N+1);Aug=[A B];for p=1:N-1[Y,j]=max(abs(Aug(p:N,p)));C=Aug(p,:);Aug(p,:)=Aug(j+p-1,:);Aug(j+p-1,:)=C;if Aug(p,p)==0breakendfor k=p+1:Nm=Aug(k,p)/Aug(p,p);Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);endendAug;X=backsub(Aug(1:N,1:N),Aug(:,N+1));5. 实验结果X=uptrbk(A,B)X =-0.39820.01380.33516. 结果分析与解释从以上的结果可以知道1230.3982,0.0138,0.3351x x x =-==,高斯消去法计算量小,速度快,相比其他常规方法更有优势。
计算方法_实验报告

一、实验目的1. 理解并掌握计算方法的基本概念和原理;2. 学会使用计算方法解决实际问题;3. 提高编程能力和算法设计能力。
二、实验内容本次实验主要涉及以下内容:1. 线性方程组的求解;2. 多项式插值;3. 牛顿法求函数零点;4. 矩阵的特征值和特征向量求解。
三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 科学计算库:NumPy、SciPy四、实验步骤及结果分析1. 线性方程组的求解(1)实验步骤a. 导入NumPy库;b. 定义系数矩阵A和增广矩阵b;c. 使用NumPy的linalg.solve()函数求解线性方程组。
(2)实验结果设系数矩阵A和增广矩阵b如下:A = [[2, 1], [1, 2]]b = [3, 2]解得:x = [1, 1]2. 多项式插值(1)实验步骤a. 导入NumPy库;b. 定义插值点x和对应的函数值y;c. 使用NumPy的polyfit()函数进行多项式拟合;d. 使用poly1d()函数创建多项式对象;e. 使用多项式对象计算插值点对应的函数值。
(2)实验结果设插值点x和对应的函数值y如下:x = [1, 2, 3, 4, 5]y = [1, 4, 9, 16, 25]拟合得到的二次多项式为:f(x) = x^2 + 1在x = 3时,插值得到的函数值为f(3) = 10。
3. 牛顿法求函数零点(1)实验步骤a. 导入NumPy库;b. 定义函数f(x)和导数f'(x);c. 设置初始值x0;d. 使用牛顿迭代公式进行迭代计算;e. 判断迭代结果是否满足精度要求。
(2)实验结果设函数f(x) = x^2 - 2x - 3,初始值x0 = 1。
经过6次迭代,得到函数零点x ≈ 3。
4. 矩阵的特征值和特征向量求解(1)实验步骤a. 导入NumPy库;b. 定义系数矩阵A;c. 使用NumPy的linalg.eig()函数求解特征值和特征向量。
大学计算方法实验报告

《计算方法》实验报告实验题目实验报告1:非线性方程组的求解···················P1~2实验报告2:线性方程组解法·······················P3~4 实验报告3:Lagrange 插值多项式··················P5~7姓名:学号:班级:指导老师:时间:专业 序号 日期实验报告1:非线性方程组的求解【实验目的】1.用MATLAB 来实践进行牛顿法的变形,即对牛顿法进行了修正,使其应用更为方便,掌握用MATLAB 运用割线法求解非线性方程组。
2.运用MATLAB 进行隐函数作图。
【实验内容】[方法] 设a,b 为迭代初值,求两点(a,f(a)) 与 (b,f(b)) 的连线(割线)与 x 轴的交点记为 c ,再把迭代初值换成 b,c,重复计算.[要求] 把下面程序复制为新的 M-文件,去掉开头的 %再把 '?' 部分改写正确就是一个完整的程序,找前面一个例子试算【解】在牛顿迭代公式中用差商代替导数。
带入初值(a,f(a)),(b,f(b)),两点的连线与x 轴的交点作为c ,再把迭代初值换为b ,c ,重复计算。
【计算机求解】以y= x-exp(-x)为例初值a=0,b=1,误差不超过1.0*10^(-5)进行计算。
《计算方法》实验报告材料

《计算方法》实验报告材料引言:计算方法是一门应用数学的基础课程,通过实验教学,能够帮助学生更好地理解和掌握各种数值计算的方法和技巧。
本次实验旨在通过编程实现一些常用的数值计算方法,并通过对比分析实验结果,验证方法的有效性和可行性。
实验一:插值算法插值算法是利用已知的数据点,构建一个连续函数以逼近数据的方法。
本次实验中使用的插值算法为拉格朗日插值和牛顿插值。
通过编程实现这两种算法,并选取若干个数据点进行测试,得到插值函数的结果。
通过比较原始数据和插值函数的结果,可以验证插值算法的准确性和可行性。
实验二:方程求解方程求解是数值计算中的一个重要问题,求解非线性方程、线性方程组和特征值问题等都需要采用相应的迭代方法。
本次实验中,我们实现了常用的牛顿迭代法和二分法,并选择数学问题进行求解。
通过比较实验结果和理论值的误差,可以验证求解方法的精确性和可行性。
实验三:数值积分数值积分是利用数值方法对定积分进行近似求解的过程。
本次实验中,我们实现了矩形法、梯形法和辛普森法等常用的数值积分方法,并选取若干函数进行数值积分的计算。
通过比较数值积分的结果和解析解或数值解的误差,可以验证数值积分方法的准确性和可行性。
实验四:常微分方程求解常微分方程求解是数值计算中的一个重要问题,常常涉及到物理、化学、生物等科学领域。
本次实验中,我们实现了欧拉方法和龙格-库塔方法等常用的常微分方程求解算法,并选取若干常微分方程进行求解。
通过比较数值解和解析解或数值解的误差,可以验证常微分方程求解方法的精确性和可行性。
实验五:线性方程组求解线性方程组求解是数值计算中的一个重要问题,常常涉及到矩阵的运算和迭代方法。
本次实验中,我们实现了高斯消元法和追赶法等常用的线性方程组求解算法,并选择一些矩阵进行求解。
通过比较数值解和解析解或数值解的误差,可以验证线性方程组求解方法的精确性和可行性。
结论:通过本次实验,我们掌握了插值算法、方程求解、数值积分、常微分方程求解和线性方程组求解等常用的计算方法。
计算方法实验报告(2)

计算方法实验报告(四)方程和方程组的迭代解法一、实验问题利用简单迭代法,两种加速技术,牛顿法,改进牛顿法,弦割法求解习题5-1,5-2,5-3中的一题,并尽可能准确。
选取5-3:求x 3−x 2−1=0在x=1.5附近的根。
二、问题的分析(描述算法的步骤等)(1)简单迭代法算法:给定初始近似值p 0,求p =φ(p )的解。
Step 1 令i=0;Step 2 令p i+1=φ(p i )(计算p i+1);Step 3 如果p i+1=p i ,则迭代终止,否则重复Step 2。
(2)Aitken 加速法算法Step 1 令k=0,利用简单迭代算法x k+1=φ(x k )得到迭代序列x k ;Step 2 令x k ∗=x k -(x k −x k−1)2x k −2x k−1+x k−2(计算x k ∗得到一个新的序列x k ∗,其中k=0,1,2…);Step 3 如果x k+1∗=x k ∗,则迭代终止,否则重复Step 2。
(3)插值加速法算法Step 1 令k=0,利用简单迭代算法x k+1=φ(x k )得到迭代序列x k ;Step 2 令x k ∗=x k +(x k −x k−1)(x k −x k+1)x k−1−2x k +x k+1(计算x k ∗得到一个新的序列x k ∗,其中k=1,2,3…);Step 3 如果x k+1∗=x k ∗,则迭代终止,否则重复Step 2。
(4)牛顿法算法Step 1给定初始近似值x 0;Step 2令x k+1=x k −f (x k)f (x k ),其中k ∈N,计算得到x k 的 序列;Step 3如果x k+1=x k ,则迭代终止,否则重复Step 2。
(5)改进牛顿法的算法Step 1给定初始近似值x 0;Step 2令x k+1=x k −k ′(k )′(k )√′2(k )"(k )(k ) ,其中k ∈N,迭代计算得到x k 的 序列;Step 3如果x k+1=x k ,则迭代终止,否则重复Step 2。
计算方法实验报告格式2014

一、 实验总体要求1. 实验报告要求用实验报告纸;2. 实验报告要求手写;3. 根据规定格式写实验报告,具体见第五节;4. 实验报告前四项内容在上实验前写好;5. 实验报告第五项在实验课上根据具体情况写;6. 每节实验课下课前交实验报告;7. 提倡实验程序事先编完,带程序或笔记本电脑到实验室直接根据所选择的的题目完成实验报告。
二、 实验内容1. 秦九韶公式与数值稳定实验实验内容:1)编写利用秦九韶算法计算N 阶多项式值的函数;2)编写计算绝对误差和相对误差的函数;3)编写函数实现将输入的浮点数进行规格化为指定位数的有效数字;4)编写函数采用不同方法求解15nn x I dx x =+⎰等类似问题,并计算误差。
实验要求:1)应用MATLAB 编程并上机调试通过;2)内容4要将每次迭代结果用图形显示;3)按规定格式撰写实验报告;4)实验时间为2学时。
2. 非线性方程实验实验内容:1)编写函数实现求实根的二分法;2)编写函数实现求实根的迭代法;3)编写函数实现求实根的牛顿法;4)编写函数实现弦截法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较同一方程不同解法的误差;3)要将每次迭代结果用图形显示;4)与MATLAB 提供的函数的结果进行比较分析;5)按规定格式撰写实验报告;6)实验时间为2学时。
3. 常微分方程数值解法实验实验内容:1)编写函数实现欧拉法;2)编写函数实现改进欧拉法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较同一方程不同解法的误差;3)要将每次迭代结果用图形显示;4)与MATLAB 提供的函数的结果进行比较分析;5)按规定格式撰写实验报告;6)实验时间为2学时。
4.插值实验实验内容:1)编写函数实现拉格朗日法;2)编写函数实现牛顿均差法实验要求:1)应用MATLAB 编程并上机调试通过;2)比较不同方法的误差;3)与MATLAB 提供的函数的结果进行比较分析;4)按规定格式撰写实验报告;4)实验时间为2学时。
计算方法实验报告习题2(浙大版)

计算方法实验报告实验名称: 实验2 列主元素消去法解方程组 1 引言工程实际问题中,线型方程的系数矩阵一般为低阶稠密矩阵和大型稀疏矩阵。
用高斯消去法解Ax =b 时,可能出现)(k kk a 很小,用作除数会导致中间结果矩阵元素数量级严重增长和舍入误差的扩散,使结果不可靠;采用选主元素的三角分解法可以避免此类问题。
高斯消去法的消去过程,实质上是将A 分解为两个三角矩阵的乘积A =LU ,并求解Ly =b 的过程。
回带过程就是求解上三角方程组Ux =y 。
所以在实际的运算中,矩阵L 和U 可以直接计算出,而不需要任何中间步骤,从而在计算过程中将高斯消去法的步骤进行了进一步的简略,大大提高了运算速度,这就是三角分解法。
采用选主元的方式与列主元高斯消去法一样,也是为了避免除数过小,从而保证了计算的精确度。
2 实验目的和要求通过列主元素消去法求解线性方程组,实现P A =LU 。
要求计算解x ,L ,U ,整形数组IP (i ),(i =1,2,…,)(记录主行信息)。
3 算法原理与流程图(1)原理将A 分解为两个三角矩阵的乘积A =LU 。
对方程组的增广矩阵[]b A A ,=经过k-1步分解后,可变成如下形式:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡→-------------n nnnjnkk n n n i in ij ik k i i i k kn kj kk k k k k k n k j k k k k k k k n j k k n j k k b a a a l l l b a a a l l l b a a a l l l y u u u u l l y u u u u u l y u u u u u u A1,211,211,211,1,1,11,12,11,122221,2222111,1,11,11211第k 步分解,为了避免用绝对值很小的数kku 作除数,引进量1111 (,1,,;1,2,,) ()/ (1,2,,;1,2,,)k kj kj km mj m k ik ik im mk kk m u a l u j k k n k n l a l u u i k k n k n -=-=⎧=-=+=⎪⎪⎨⎪=-=++=⎪⎩∑∑11(,1,,)k i ik im mkm s a l u i k k n -==-=+∑,于是有kk u =ks 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算方法》课内实验报告
学生姓名:张靖2012309010111
及学号:
学院:理学院
班级:信计121
课程名称:计算方法
实验题目:插值法与函数逼近
指导教师
周硕教授
姓名及职称:
朱振菊实验师
2014年11月03日
目录
一、实验题目 (1)
二、实验目的 (1)
三、实验内容 (1)
四、实验结果 (2)
五、实验体会或遇到问题 (8)
一、实验题目
1.熟悉matlab 编写及运行数值计算程序的方法。
2.进一步理解数值积分的基础理论。
3.进一步掌握应用不同的数值积分方法求解给定的积分并给出数据结果及误差分析。
二、实验目的
1.熟悉matlab 编写及运行数值计算程序的方法。
2.进一步理解插值法及函数逼近方法的理论基础。
3.进一步掌握给定数据后应用插值法及函数逼近方法进行数据处理并给出图示结果的实际操作过程。
三、实验内容
1.分别用复合梯形求积公式及复合辛普森求积公式计算积分xdx x ln 1
⎰
,要求计
算精度达到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:
计算结果如下表
表1问题1求解表
复合梯形求积公式:取12
10-,
n=,n为迭代次数,当迭代12次后,精度达到4 n-;
节点数为21=4095
复合辛普森求积公式:取10000
10-,节点数为
n=,n为区间数,取精度为4
n+=。
110001
2.问题2:
计算结果如下表
表2问题2求解表
龙贝格数值积分:给定被积函数0,被积上限3,精度为5
10-,龙贝格积分表中行的最大数目13,计算出龙贝格数值积分近似解为10.20759362。
3.问题3:
计算结果如下表
表3问题3求解表
高斯-勒让德积分公式:取3n = ,节点横坐标k x 取,n k A 取
585
999
,,,2n 阶导数e sin x x -,求得高斯-勒让德积分近似解为10.94840256。
4.问题4:
计算结果如下表
表4 问题4求解表
复合辛普森公式(计算二重积分):确定矩形域
(){}xy ,|00.5,00.5D x y x y =≤≤≤≤,求得复合辛普森公式的近似解为0.25525193。
五、实验体会或遇到问题
通过Matlab 程序可以更为简单的运用上课所学到的,数值积分。
附录
问题1:
experiment2_1.m:
clc;clear;
%复合梯形求积公式
[T,x1]=rctrap(@fun,eps,1,12);
%T近似值,x1节点12(迭代次数)
syms t;
fi=int(sqrt(t)*log(t),t,0,1);
Fs= double(fi);%精确值
wT= double(abs(fi-T));%相对误差
%复合辛普森求积公式
Q =comsimpson (@fun,eps,1,10000);
fi=int(sqrt(t)*log(t),t,0,1);
Fs= double(fi);%精确解
wQ= double(abs(fi-Q));%绝对误差
Fs%精确解
T(length(T))%复合梯形求积公式近似解
Q %复合辛普森公式求积公式近似解
rctrap.m:
function [T,xx]=rctrap(fun,a,b,m)
n=1;h=b-a;
T=zeros(1,m+1);
T(1)=h*(feval(fun,a)+feval(fun,b))/2;
xx=[];
for i=1:m
h=h/2; n=2*n; s=0;
for k=1:n/2
x=a+h*(2*k-1);
s=s+feval(fun,x);
xx=[xx,x];
end
T(i+1)=T(i)/2+h*s;
end
T=T(1:m);
fun.m:
function y=fun(x)
y=sqrt(x)*log(x);%第1题函数
end
问题2
experiment2_2.m:
clc;clear;
F=inline('x*sqrt(1+x.^2)');
[RT,R,err,h]=romberg(F,0,3,1.e-5,13);
%RT,龙贝格积分表;R,近似值;err,误差估计;h,最小步长syms x ;
fi=int(x*sqrt(1+x.^2),x,0,3);
Fs=double(fi);%精确值
wR=double(abs(fi-R));%绝对误差
wR1= wR - err;
Fs%精确解
R%龙贝格积分近似解
romberg.m:
function [RT,R,wugu,h]=romberg(fun,a,b, wucha,m) n=1;h=b-a; wugu=1; x=a;k=0; RT=zeros(4,4);
RT(1,1)=h*(feval(fun,a)+feval(fun,b))/2;
while((wugu>wucha)&(k<m)|(k<4))
k=k+1; h=h/2; s=0;
for j=1:n
x=a+h*(2*j-1); s=s+feval(fun,x); end
RT(k+1,1)= RT(k,1)/2+h*s; n=2*n;
for i=1:k
RT(k+1,i+1)=((4^i)*RT(k+1,i)-RT(k,i))/(4^i-1); end
wugu=abs(RT(k+1,k)-RT(k+1,k+1));
end
R=RT(k+1,k+1);
问题3
experiment2_3.m:
clc;clear;
%n=3
X=[-sqrt(3/5),0,sqrt(3/5)];%节点
A=[5/9,8/9,5/9];%系数
a=1;b=3;
x=a:0.00001:b;
%计算得2n阶导数
fun2n=-exp(x).*sin(x);
[GL,Y,Rn]=Gauss (@fun,a,b,X,A,fun2n);
%GL,结果值;Rn截断误差
syms t
fi=int(exp(t).*sin(t),t,a,b);
Fs=double(fi);%精确解
wGL=double(abs(fi-GL));%绝对误差
Fs%精确解
GL%高斯-勒让德近似解
Gauss.m:
function [GL,Y,Rn]=Gauss (fun,a,b,X,A,fun2n)
n=length(X); n2=n*2; T=zeros(1,n);
T=((a+b)/2)+((b-a)/2)*X;
Y=feval(fun,T); GL=((b-a)/2)*sum(A.*Y);
sun=1; su2n=1; su2n1=1; wome=1;
syms x
for k=1:n
wome=wome*(x-X(k));
end
wome2= wome^2;Fr=int(wome2,x,-1,1);
for k=1:n2
su2n=su2n*k;
end
mfun2n =max(fun2n); Rn = Fr*mfun2n/su2n; fun.m:
function y=fun(x)
y=exp(x).*sin(x);%第3题函数
end
问题4
exeriment2_4.m:
clc;clear;
Q=dblquad(@fun,0,0.5,0,0.5)
fun.m:
function f=fun(x,y)
f=exp(y-x);%第4题
end。