当前位置:文档之家› 计算方法实验报告

计算方法实验报告

中北大学信息商务学院计算方法实验报告学生姓名:刘昊文学号: 30学院:中北大学信息商务学院专业:电气工程及其自动化指导教师:薛晓健2017 年 04 月 19 日实验一:非线性方程的近似解法1.实验目的1.掌握二分法和牛顿迭代法的原理2.根据实验内容编写二分法和牛顿迭代法的算法实现注:(可以用C语言或者matlab语言)2.实验设备matlab3.实验内容及步骤解方程f(x)=x5-3x3-2x2+2=04.实验结果及分析二分法:数据:f =x^5-3*x^3-2*x^2+2[ n xa xb xc fc ]1 -3 3 02 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 + 2x = NaNk =2实验二:解线性方程组的迭代法1.实验目的1.掌握雅克比迭代法和高斯-塞德尔迭代法的原理2.根据实验内容编写雅克比迭代法和高斯-塞德尔迭代法的算法实现注:(可以用C语言或者matlab语言)2.实验设备Matlab3.实验内容及步骤1、分别用雅克比迭代法和高斯-塞德尔迭代法解方程Ax=b其中A=[4 -1 0 -1 0 0-1 4 -1 0 -1 00 -1 4 -1 0 -1-1 0 -1 4 -1 00 -1 0 -1 4 -10 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 00 -1 4 -1 0 -1-1 0 -1 4 -1 00 -1 0 -1 4 -10 0 -1 0 -1 4b = 0 5 -2 5 -2 60 k = 2k = 3k = 4k = 5k = 6k = 7k = 8k = 9k = 10k = 11k = 12k = 13k = 14k = 15k = 16k = 17k = 18k = 19k = 20k = 21k = 22k = 24k = 25k = 26k = 27x =(高斯-赛德尔迭代法迭代法)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_GS(a,b)a = 4 -1 0 -1 0 0-1 4 -1 0 -1 00 -1 4 -1 0 -1-1 0 -1 4 -1 00 -1 0 -1 4 -10 0 -1 0 -1 4b = 0 5 -2 5 -2 6k = 1Columns 1 through 5 0Column 6k = 2Columns 1 through 5 Column 6k = 3Columns 1 through 5 Column 6k = 4Columns 1 through 5 Column 6k = 5Columns 1 through 5 Column 6k = 6Columns 1 through 5 Column 6k = 7Columns 1 through 5 Column 6k = 8Columns 1 through 5Column 6k = 9Columns 1 through 5 Column 6k = 10Columns 1 through 5 Column 6k = 11Columns 1 through 5 Column 6k = 12Columns 1 through 5 Column 6k = 13Columns 1 through 5 Column 6k = 14Columns 1 through 5 Column 6x =实验三:插值与拟合1.实验目的1、掌握线性插值、抛物线插值、拉格朗日插值,三次样条插值与拟合2、根据实验内容,编写三次样条插值(一阶导数)的算法实现。

3、根据实验内容,编写最小二乘法的算法实现。

2.实验设备Matlab3.实验内容及步骤端点边界条件为第一类边界条件(给定一阶导数):10001087.0'7'0==Y Y4.实验结果及分析结果b1 c1 d142279最小二乘法拟合代码:function p=funLSM(x,y,m)% x,y为序列长度相等的数据向量,m为拟合多项式次数format short;A=zeros(m+1,m+1);for i=0:mfor j=0:mA(i+1,j+1)=sum(x.^i.*y);endb(i+1)=sum(x.^i.*y)enda=A\b';p=fliplr(a')f=polyval(p,x)plot(x,y,'b*',x,f,'r--');disp('拟合方程系数按照降幂排列如下')一次拟合结果:b =b =Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = . > In funLSM at 11p = 1 0f =拟合方程系数按照降幂排列如下p = 1 0二次拟合结果b =b =b =Warning: Matrix is singular to working precision. > In funLSM at 11p = NaN NaN NaNf = NaN NaN NaN NaN NaN NaN NaN NaN拟合方程系数按照降幂排列如下p = NaN NaN NaN实验四:数值积分1.实验目的1、掌握牛顿-柯特斯求积公式、梯形公式、辛普生公式及误差(余项)。

2、根据实验内容,编写复合梯形公式、复合辛普生公式的算法实现。

2.实验设备Matlab3.实验内容及步骤1、用复合梯形公式和辛普生公式求下面两式的积分(误差要求5e-8)(1)⎰21x xe(2)⎰+1214x 4.实验结果及分析复化梯形积分代码:function [t]=agui_trapz(fname,d2fname,a,b,e)%fname 为北极函数,d2fname 为函数fname 的二阶导函数,a,b 分别为上下界,e 为精度y=abs(feval(d2fname,a:1e-5:b));m=max(y);h=abs(sqrt(12*e/(b-a)./m));n=ceil((b-a)/h)h=(b-a)/n;fa=feval(fname,a);fb=feval(fname,b);f=feval(fname,a+h:h:b-h+*h);t=h**(fa+fb)+sum(f));结果:一:format longt=agui_trapz(inline('x.*exp(x)'),inline('(x+2).*exp(x)'),1,2,5e-8)n = 7019t =二:t=agui_trapz(inline('4./(1+x.^2)'),inline('(-8+24.*x.^2)./(1+x.^2).^3'),0,1,5e-8) n = 3652t =复化辛普生求积公式代码:function[s]=agui_simpson(fname,d4fname,a,b,e)%fname为被积函数,d4fname为函数fname的四阶导函数,a,b分别为上下界,e为精度y=abs(feval(d4fname,a:1e-5:b));m=max(y);h=abs((2880*e/(b-a)./m).^);n=ceil((b-a)/h)h=(b-a)/n;fa=feval(fname,a);fb=feval(fname,b);s=fa-fb;x=a;for i=1:nx=x+h/2;s=s+4*feval(fname,x);x=x+h/2;s=s+2*feval(fname,x);ends=s*h/6;结果:一:t=agui_simpson(inline('x.*exp(x)'),inline('(x+4).*exp(x)'),1,2,5e-8)n = 24t =二:t=agui_simpson(inline('4/(1+x.^2)'),inline('96.*(1-10.*x.^2+5.*x.^4)./(1+x.^2).^5'),0,1,5e-8 )n = 29 t =。

相关主题