文档视界 最新最全的文档下载
当前位置:文档视界 › 计算方法实验报告-线性方程组的数值解法

计算方法实验报告-线性方程组的数值解法

计算方法实验报告-线性方程组的数值解法
计算方法实验报告-线性方程组的数值解法

重庆大学

学生实验报告实验课程名称计算方法

开课实验室DS1421

学院年级专业

学生姓名学号

开课时间至学年第学期

1.实验目的

(1)高斯列主元消去法求解线性方程组的过程

(2)熟悉用迭代法求解线性方程组的过程

(3)设计出相应的算法,编制相应的函数子程序

2.实验内容

分别用高斯列主元消去法 ,Jacobi 迭代法,Gauss--Saidel 迭代法,超松弛迭代法求解线性方程组

?????

???????-=????????????????????????------725101391444321131243301024321x x x x 3.实验过程

解:(1)高斯列主元消去法

编制高斯列主元消去法的M 文件程序如下:

%高斯列主元消元法求解线性方程组Ax=b

%A 为输入矩阵系数,b 为方程组右端系数

%方程组的解保存在x 变量中

format long;%设置为长格式显示,显示15位小数

A=[2,10,0,-3;-3,-4,-12,13;1,2,3,-4;4,14,9,-13]

b=[10,5,-2,7]'

[m,n]=size(A);

%先检查系数正确性

if m~=n

error('矩阵A 的行数和列数必须相同');

return;

end

if m~=size(b)

error('b 的大小必须和A 的行数或A 的列数相同');

return;

end

%再检查方程是否存在唯一解

if rank(A)~=rank([A,b])

error('A 矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解');

return;

end

c=n+1;

A(:,c)=b; %(增广)

for k=1:n-1

[r,m]=max(abs(A(k:n,k))); %选主元

m=m+k-1; %修正操作行的值

if(A(m,k)~=0)

if(m~=k)

A([k m],:)=A([m k],:); %换行

end

A(k+1:n, k:c)=A(k+1:n, k:c)-(A(k+1:n,k)/ A(k,k))*A(k, k:c); %消去 end

end

x=zeros(length(b),1); %回代求解

x(n)=A(n,c)/A(n,n);

for k=n-1:-1:1

x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k);

end

disp('X=');

disp(x);

format short;%设置为默认格式显示,显示5位

运行,结果如下所示:

(2)Jacobi迭代法

编制迭代计算的M文件程序如下:

%Jacobi迭代法求解

% A为方程组的增广矩阵

clc;

A=[2,10,0,-3,10;-3,-4,-12,13,5;1,2,3,-4,-2;4,14,9,-13,7] MAXTIME=50;%最多进行50次迭代

eps=1e-5;%迭代误差

[n,m]=size(A);

x=zeros(n,1);%迭代初值

y=zeros(n,1);

k=0;

%进入迭代计算

disp('迭代过程X的值情况如下:')

disp('X=');

while 1

disp(x');

for i=1:1:n

s=0.0;

for j=1:1:n

if j~=i

s=s+A(i,j)*x(j);

end

y(i)=(A(i,n+1)-s)/A(i,i);

end

end

for i=1:1:n

maxeps=max(0,abs(x(i)-y(i))); %检查是否满足迭代精度要求 end

if maxeps<=eps%小于迭代精度退出迭代

for i=1:1:n

x(i)=y(i);%将结果赋给x

end

return;

end

for i=1:1:n%若不满足迭代精度要求继续进行迭代

x(i)=y(i);

y(i)=0.0;

end

k=k+1;

if k>MAXTIME%超过最大迭代次数退出

error('超过最大迭代次数,退出');

return;

end

end

运行该程序结果如下:

(3)Gauss--Saidel迭代法

编制求解程序Gauss_Seidel.m如下:

%Gauss_Seidel.m

% A为方程组的增广矩阵

clc;

format long;

A=[2,10,0,-3,10;-3,-4,-12,13,5;1,2,3,-4,-2;4,14,9,-13,7]

[n,m]=size(A);

%最多进行50次迭代

Maxtime=50;

%控制误差

Eps=10E-5;

%初始迭代值

x=zeros(1,n);

disp('x=');

%迭代次数小于最大迭代次数,进入迭代

for k=1:Maxtime

disp(x);

for i=1:n

s=0.0;

for j=1:n

if i~=j

s=s+A(i,j)*x(j);%计算和

end

end

x(i)=(A(i,n+1)-s)/A(i,i);%求出此时迭代的值

end

%因为方程的精确解为整数,所以这里将迭代结果向整数靠近的误差作为判断迭代是否停止的条件

if sum((x-floor(x)).^2)

break;

end;

end;

X=x;

disp('迭代结果:');

X

format short;

运行结果如下所示:

(4)超松弛迭代法

编写函数M文件如下:%SOR法求解

%w=1.45

%方程组系数矩阵

clc;

A=[2,10,0,-3;-3,-4,-12,13;1,2,3,-4;4,14,9,-13]

%方程组右端系数

b=[10,5,-2,7]'

w=1.45;

%最大迭代次数

Maxtime=100;

%精度要求

Eps=1E-5;

%以15位小数显示

format long;

n=length(A);

k=0;

%初始迭代值

x=ones(n,1);

y=x;

disp('迭代过程:');

disp('x=');

while 1

y=x;

disp(x');

%计算过程

for i=1:n

s=b(i);

for j=1:n

if j~=i

s=s-A(i,j)*x(j);

end

end

if abs(A(i,i))<1E-10 | k>=Maxtime

error('已达最大迭代次数或矩阵系数近似为0,无法进行迭代'); return;

end

s=s/A(i,i);

x(i)=(1-w)*x(i)+w*s;

end

if norm(y-x,inf)

break;

end

k=k+1;

end

disp('最后迭代结果:');

%最后的结果

X=x'

%设为默认显示格式

format short; 结果如下:

4.实验环境及实验文件存档名

实验环境:Matlab7.0

文件存档名:Gauss.m,Jacobi.m,Gauss_Seidel.m,SOR.m

5.实验结果及分析

=1.0000

=2.0000

=3.0000

=4.0000

经过验证,高斯列主元消结果正确。对2,3,4方法不收敛。

错误分析

迭代法收敛的充要条件ρ(Bj)<1

ρ(Bj)= max(abs(eig(Bj)))=3.9412>1

因此迭代法不收敛。

6.总结与体会

1.通过该实验弄懂了高斯列主元消去法求解线性方程组的过程,练习并掌握了高斯列主元消去法求解线性方程组的方法。

2. 熟悉了用迭代法求解线性方程组的过程,学会了Jacobi迭代法,Gauss--Saidel迭代法,超松弛迭代法求解线性方程组的方法。

教师签名

年月日

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

《计算方法》实验报告 姓名: 班级: 学号: 实验日期: 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;

计算方法上机实验报告

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

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

计算方法上机实验报告

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

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

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

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

物理实验报告格式范文

物理实验报告格式范文 一、实验目的 二、实验仪器和器材(要求标明各仪器的规格型号) 三、实验原理:简明扼要地阐述实验的理论依据、计算公式、画出电路图或光路图 四、实验步骤或内容:要求步骤或内容简单明了 五、数据记录:实验中测得的原始数据和一些简单的结果尽可能用表格形式列出,并要求正确表示有效数字和单位 六、数据处理:根据实验目的对测量结果进行计算或作图表示,并对测量结果进行评定,计算误差或不确定度. 七、实验结果:扼要地写出实验结论 八、误差分析:当实验数据的误差达到一定程度后,要求对误差进行分析,找出产生误差的原因. 九、问题讨论:讨论实验中观察到的异常现象及可能的解释,分析实验误差的主要来源,对实验仪器的选择和实验方法的改进提出建议,简述自己做实验的心得体会,回答实验思考题. 物理探究实验:影响摩擦力大小的因素 技能准备:弹簧测力计,长木板,棉布,毛巾,带钩长方体木块,砝码,刻度尺,秒表。 知识准备: 1. 二力平衡的条件:作用在同一个物体上的两个力,如果大小相等,方向相反,并且在同一直线上,这两个力就平衡。 2. 在平衡力的作用下,静止的物体保持静止状态,运动的物体保持匀速直线运动状态。 3. 两个相互接触的物体,当它们做相对运动时或有相对运动的趋势时,在接触面上会产生一种阻碍相对运动的力,这种力就叫摩擦力。 4. 弹簧测力计拉着木块在水平面上做匀速直线运动时,拉力的大小就等于摩擦力的大小,拉力的数值可从弹簧测力计上读出,这样就测出了木块与水平面之间的摩擦力。

探究导引 探究指导: 关闭发动机的列车会停下来,自由摆动的秋千会停下来,踢出去的足球会停下来,运动的物体之所以会停下来,是因为受到了摩擦力。 运动物体产生摩擦力必须具备以下三个条件:1.物体间要相互接触,且挤压;2.接触面要粗糙;3.两物体间要发生相对运动或有相对运动的趋势。三个条件缺一不可。 摩擦力的作用点在接触面上,方向与物体相对运动的方向相反。由力的三要素可知:摩擦力除了有作用点、方向外,还有大小。 提出问题:摩擦力大小与什么因素有关? 猜想1:摩擦力的大小可能与接触面所受的压力有关。 猜想2:摩擦力的大小可能与接触面的粗糙程度有关。 猜想3:摩擦力的大小可能与产生摩擦力的两种物体间接触面积的大小有关。 探究方案: 用弹簧测力计匀速拉动木块,使它沿长木板滑动,从而测出木块与长木板之间的摩擦力;改变放在木块上的砝码,从而改变木块与长木板之间的压力;把棉布铺在长木板上,从而改变接触面的粗糙程度;改变木块与长木板的接触面,从而改变接触面积。 物理实验报告 .化学实验报告 .生物实验报告 .实验报告格式 .实验报告模板 探究过程: 1. 用弹簧测力计匀速拉动木块,测出此时木块与长木板之间的摩擦力:0.7N 2. 在木块上加50g的砝码,测出此时木块与长木板之间的摩擦力:0.8N 3. 在木块上加200g的砝码,测出此时木块与长木板之间的摩擦力:1.2N 4. 在木板上铺上棉布,测出此时木块与长木板之间的摩擦力:1.1N 5. 加快匀速拉动木块的速度,测出此时木块与长木板之间的摩擦力:0.7N 6. 将木块翻转,使另一个面积更小的面与长木板接触,测出此时木块与长木板之间的摩擦力:0.7N 探究结论:

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

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; }

实验报告格式

重庆工商大学 《统计学》实验报告 实验课程:统计学 _ 指导教师:陈正伟 _ 专业班级: 08 经济学 学生姓名:程剑波 学生学号: 2008011133 __

实验项目 实验日期实验地点80608 实验目的掌握统计学的基本计算方法和分析方法。 实验内容一、统计图绘制;二、动差、偏度系数、峰度系数的计算;三、趋势性的绘制; 四、相关分析与回归分析;五、时间数列的动态指标分析;六、循环变动的测 算分析。 通过统计学(2009.9.10-2009.12.15)实验报告如下: 一、统计图绘制; (一)过程: (二)结果: (三)分析: 二、动差、偏度系数、峰度系数的计算; (一)过程: (二)结果: (三)分析: 三、趋势性的绘制; (一)过程: (二)结果: (三)分析: 四、相关分析与回归分析; (一)过程: (二)结果: (三)分析:

五、时间数列的动态指标分析 (一)过程: (二)结果: (三)分析: 六、循环变动的测算分析。 (一)过程: (二)结果: (三)分析: 体会: 参考实验报告: 重庆工商大学数学与统计学院 综合评价方法及应用 实验报告

实验课程:非参数统计 _ 指导教师:陈正伟 _ 专业班级: 06市调2班 学生姓名:何春 学生学号: 2006004151 _

实验报告一 实验项目变异系数法相关系数法熵值发坎蒂雷法 实验日期2009-4-30 实验地点80608 实验目的 通过本实验本要求掌握综合评价指标体系中各个指标重要性权数的重要意义;掌握权数确定的定性和定量技术和技能;解决实际综合评价中重要性权数确定的处理技能。 实验内容 根据资料使用变异系数法、相关系数法、熵值法和坎蒂雷方法分别确定各个指标的权数。并进行权数比较分析。 检验方法的选择及实验步骤及结果: 1用变异系数求各个指标的权数: 基本步骤:(1)先求各个指标的均值Xi 和标准差 Si (2)接着求各个指标的变异系数Vi=Si/Xi (3)对Vi作作归一化处理,及得各个指标的权数 结果如下: 从这个表中可以看到最后一列的权数最大,即人均创造总收入这个指标在这项评价上的分辨信息丰富,这个指标的数值能明确区分开各个评价被评价对象差异。同理,第四列的权数最小,也就是说各个被评价对象在某项指标上的数值差异较小,那么这项指标区分开各评价对象的能力较弱。 2 用相关系数法求各个指标的权数: 基本步骤:(1)计算各个指标之间的相关系数矩阵 (2)构造分块矩阵 R1(去掉相关系数矩阵的第一行和第一列)R2 R3 R4 R5 R6 同理可得

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

计算方法实验报告

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

Step 1给定初始近似值; Step 2令,其中k计算得到的序列; Step 3如果,则迭代终止,否则重复Step 2。 (5)改进牛顿法的算法 Step 1给定初始近似值; Step 2令,其中k迭代计算得到的序列; Step 3如果,则迭代终止,否则重复Step 2。 (6)弦割法算法(双点弦割法) Step 1给定初始近似值,; Step 2令其中k计算得到的序列; Step 3如果,则迭代终止,否则重复Step 2。 三、程序设计 (1)简单迭代法 利用迭代公式进行迭代运算。 #include #include #include double fun(double x) { double c=1+x*x; return pow(c,1/3.0); } void main() { double x=1.5; double y=0; double D=1;

计算方法实验报告格式

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

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 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 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

数学计算方法实验报告

数学计算方法实验报告 习题二 2.估计用二分法求方程f(x)=x3+4x2-10=0在区间[1,2]内根的近似值,为使方程不超过10时所需的二分次数。f(x k) 程序过程: function two (tolerance) a=1;b=2;counter=0; while (abs(b-a)>tolerance) c=(a+b)/2; fa=a^3+4*a^2-10;

fb=b^3+4*b^2-10; fc=c^3+4*c^2-10; if ((fa==0|fb==0)) disp(counter); elseif (fa*fc<0) b=c;counter=counter+1; elseif (fb*fc<0) a=c;counter=counter+1; elseif (fb==0) disp(counter); end end solution=(a+b)/2; disp(solution); disp(counter); 实验结果: 6.取x0=1.5,用牛顿迭代法求第三中的方程根.f(x)=x3+4x2-10=0的近似值(精确到||x k+1-x k|≦10-5,并将迭代次数与3题比较。 程序过程: function six (g) a=1.5; fa=a^3+4*a^2-10;

ga=3*a^2+8*a; b=a-fa/ga; k=1; while(abs(b-a)>g) a=b; fa=a^3+4*a^2-10; ga=3*a^2+8*a; b=a-fa/ga; k=k+1; end format long; disp(a); disp(k); 实验结果:程序结果计算结果 8.用弦割法求方程f(x)=x3-3x2-x+9=0在区间[-2,-1]内的一个实根近似值x k,|f(x k)|≦10-5. 程序过程: function eight (t) a=-2; b=-1; fa=a^3-3*a^2-a+9; fb=b^3-3*b^2-b+9; c=b-fb*(b-a)/(fb-fa); k=1; while(abs(c-b)>t) a=b; b=c; fa=a^3-3*a^2-a+9; fb=b^3-3*b^2-b+9; c=b-fb*(b-a)/(fb-fa); k=k+1; end

计算方法实验报告 拟合

南京信息工程大学实验(实习)报告 一、实验目的: 用最小二乘法将给定的十个点拟合成三次多项式。 二、实验步骤: 用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、实验名称:就是这个实验是做什么的。 2、实验目的:一般都写掌握什么方法啊;了解什么啊;知道什么啊;会什么啊;…… 等。 3、实验器材:就是做这个实验需要的所有器材(仪器)。 4、实验原理:就是这个实验是根据什么来做的,一般书上会写,抄一下也就可以啦。 5、实验步骤:就是你做实验的过程,开始操作时,(1)做什么; (2)做什么;(3)做什么;……

6、实验数据记录(表格)及处理:根据实验中涉及以及实验得到的数据,设计表格,将有关数据填在表格相应的位置;数据处理,就是该计算的,按要求计算后填入表格对应位置。 7、实验结论(结果推导):就是做这个实验要得到的结果。 8、分析于讨论:写你的实验结果是否适合真实值?如果有误差要分析产生误差的原因,还有实验的一些比较关键的步骤的注意事项等。 对于初中生或小学生来说,书写的实验报告也可简单一点,有时也可不要分析于讨论,也可不写实验原理等。 三、探究实验书写一般有七个环节 1.提出问题:就是在生活中发现、提出问题。 2.猜想与假设:发现问题,就要弄清楚问题,在没有搞清楚之前总有基本的猜测和设想,这就是猜想与假设。 3.制定计划与设计实验:有了猜想,就有了实验的目的,再根据实验的目的设计实验方案,制定实验计划,包括取得证据的途径和方法,确定收集证据的范围。包括实验的理论依据(实验原理)、实验器材、实验步骤等。 4.进行实验与收集证据:上一步是动脑、思维活动,这一步是手脑并用的实验过程。 5.分析与论证:通过上面的实验,收集到一些数据,观察到一些现象,对其分析,得出事实与假设的关系,通过归纳、概括等方法,得到结论。

数值计算实验报告

2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:安元龙 学号:2012060501 成绩:

数值计算方法与算法实验报告 学期: 2014 至___2015 第 1 学期 2014年 10月26日课程名称:__数值计算方法与算法 __ 专业:信息与计算科学 12级5班实验编号: 1实验项目Neton插值多项式指导教师__孙峪怀姓名:安元龙学号: 2012060501 实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页) 1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)/(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp/*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)*/ Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. #include #define MAX_N 20 typedef struct tagPOINT { double x; double y; }POINT; int main() { int n; int i,j; POINT points[MAX_N+1];double diff[MAX_N+1]; double x,tmp,newton=0;

计算方法实验报告

实验报告 一、求方程f(x)=x^3-sinx-12x+1的全部根, ε=1e -6 1、 用一般迭代法; 2、 用牛顿迭代法; 并比较两种迭代的收敛速度。 一、首先,由题可求得:12cos 3)(2 ' --=x x x f . 其次,分析得到其根所在的区间。 ① 令()0=x f ,可得到x x x sin 1123 =+-. ② 用一阶导数分析得到1123 +-x x 和x sin 两个函数的增减区间;再用二阶导数分析得到 两个函数的拐点以及凹凸区间. ③ 在直角坐标轴上描摹出01123 =+-x x 和0sin =x 的图,在图上可以看到他们的交点,然后估计交点所在的区间,即是所要求的根的区间。经过估计,得到根所在的区间为 []3,4--,[]1,0和[]4,3. 1、 一般迭代法 (1)算法步骤: 设ε为给定的允许精度,迭代法的计算步骤为: ① 选定初值0x .由()0=x f 确定函数()x g ,得等价形式()x g x =. ② 计算()0x g .由迭代公式得()01x g x =. ③ 如果ε≤-01x x ,则迭代结束,取1x 为解的近似值;否则,用1x 代替0x ,重复步骤②和步骤③. (2)程序代码: ① 在区间[]3,4--内, 代码: clc

x0=-3.5; %初值0x iter_max=100; %迭代的最大次数 ep=1e-6; %允许精度 ε k=0; while k<=iter_max %k 从0开始到iter_max 循环 x1=(sin(x0)+12*x0-1).^(1/3); %代入0x ,算出1x 的值 if abs(x1-x0)

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数据分析方法与技术- 实验报告模板

《数据分析方法与技术》上机实验——实验1描述性统计方法 学号: 姓名: 日期:

实验项目(一):描述性统计方法 一、实验内容 1.实验目的 掌握常用的描述性图表展示方法的原理及操作,包括:频数分布表、分组频数表、列联表、茎叶图、箱线图、误差图、散点图等; 掌握常用的描述性统计方法的原理及操作,包括:算术平均值、中位数、众数、四分位数、极差、平均差、方差、标准差、标准分数、离散系数等。 2. 实验内容和要求 实验内容:基于标准数据集,属性描述性图表展示方法(数分布表、分组频数表、列联表、茎叶图、箱线图、误差图、散点图等),对统计指标(算术平均值、中位数、众数、极差、平均差、方差、标准差、标准分数、离散系数、偏态峰态)进行计算。 实验要求:掌握各种描述性统计指标的计算思路及其在SPSS或EXCEL环境下的操作方法,掌握输出结果的解释。 二、实验过程 1、数据集介绍 1.数据库标题:鲍鱼数据 2.该数据库共计4177行数据 3.该数据有八个属性(包含性别共有九项) 4.以下是关于属性的描述,包括属性的名称,数据类型,测量单元和一个简短的描述: Name Data TypeMeas.Description ---- --------- ----- ----------- Sex nominal M, F, and I (infant)鲍鱼宝宝 Length continuousmm Longest shell measurement最长壳 Diameter continuousmm perpendicular to length垂直长度 Height continuousmm with meat in shell有肉的壳高度 Whole weightcontinuousgramswhole abalone整个鲍鱼 Shucked weightcontinuousgramsweight of meat肉的重量 Viscera weightcontinuousgramsgut weight (after bleeding)放血后内脏重 Shell weightcontinuousgramsafter being dried弄干后重量 Rings integer +1.5 gives the age in years +1.5=年龄 5.数据的值域

相关文档
相关文档 最新文档