计算方法试验报告
中北大学信息商务学院中北大学信息商务学院 计算方法实验报告计算方法实验报告 学生姓名:刘昊文学号: 30 学院:中北大学信息商务学院 专业:电气工程及其自动化 指导教师:薛晓健 2017 年 04 月 19 日 实验一:非线性方程的近似解法实验一:非线性方程的近似解法 1 1.实验目的.实验目的 1.掌握二分法和牛顿迭代法的原理 2.根据实验内容编写二分法和牛顿迭代法的算法实现 注: (可以用 C 语言或者 matlab 语言) 2 2.实验设备.实验设备 matlab 3 3.实验内容及步骤.实验内容及步骤 解方程 f(x)=x5-3x3-2x2+2=0 4 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.实验目的.实验目的 1.掌握雅克比迭代法和高斯-塞德尔迭代法的原理 2.根据实验内容编写雅克比迭代法和高斯-塞德尔迭代法的算法实现 注: (可以用 C 语言或者 matlab 语言) 2 2.实验设备.实验设备 Matlab 3 3.实验内容及步骤.实验内容及步骤 1 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 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 k = 1 0 k = 2 k = 3 k = 4 k = 5 k = 6 k = 7 k = 8 k = 9 k = 10 k = 11 k = 12 k = 13 k = 14 k = 15 k = 16 k = 17 k = 18 k = 19 k = 20 k = 21 k = 22 k = 23 k = 24 k = 25 k = 26 k = 27 x = (高斯(高斯- -赛德尔迭代法迭代法)赛德尔迭代法迭代法) 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 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 k = 1 Columns 1 through 5 0 Column 6 k = 2 Columns 1 through 5 Column 6 k = 3 Columns 1 through 5 Column 6 k = 4 Columns 1 through 5 Column 6 k = 5 Columns 1 through 5 Column 6 k = 6 Columns 1 through 5 Column 6 k = 7 Columns 1 through 5 Column 6 k = 8 Columns 1 through 5 Column 6 k = 9 Columns 1 through 5 Column 6 k = 10 Columns 1 through 5 Column 6 k = 11 Columns 1 through 5 Column 6 k = 12 Columns 1 through 5 Column 6 k = 13 Columns 1 through 5 Column 6 k = 14 Columns 1 through 5 Column 6 x = 实验三:插值与拟合实验三:插值与拟合 1 1.实验目的.实验目的 1、掌握线性插值、抛物线插值、拉格朗日插值,三次样条插值与拟合 2、根据实验内容,编写三次样条插值(一阶导数)的算法实现。 3、根据实验内容,编写最小二乘法的算法实现。 2 2.实验设备.实验设备 Matlab 3 3.实验内容及步骤.实验内容及步骤 (1)、给定的插值条件如下: i Xi Yi 01234567 端点边界条件为第一类边界条件(给定一阶导数) : Y 0 0.01087 Y 100 7 (2)、给出如下的数据,使用最小二乘法求一次和二次拟合多项式(取小数点后3 位) x y 4 4.实验结果及分析.实验结果及分析 结果结果 b1 c1 d1 42279 最小二乘法拟合最小二乘法拟合 代码:代码: function p=funLSM(x,y,m) % x,y为序列长度相等的数据向量,m为拟合多项式次数 at short; A=zeros(m+1,m+1); for i=0:m for j=0:m A(i+1,j+1)=sum(x.^i.*y); end b(i+1)=sum(x.^i.*y) end a=A\b ; p=fliplr(a ) f=polyval(p,x) plot(x,y, b* ,x,f, r-- ); disp( 拟合方程系数按照降幂排列如下 ) 一次拟合结果:一次拟合结果: b =b = b =b = Warning:Warning: MatrixMatrix isis closeclose toto singularsingular oror badlybadly scaled.scaled. ResultsResults maymay bebe inaccurate.inaccurate. RCONDRCOND = .= . at 11at 1