计算方法实验指导书.docx

上传人:b****4 文档编号:3135046 上传时间:2022-11-17 格式:DOCX 页数:12 大小:21.08KB
下载 相关 举报
计算方法实验指导书.docx_第1页
第1页 / 共12页
计算方法实验指导书.docx_第2页
第2页 / 共12页
计算方法实验指导书.docx_第3页
第3页 / 共12页
计算方法实验指导书.docx_第4页
第4页 / 共12页
计算方法实验指导书.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算方法实验指导书.docx

《计算方法实验指导书.docx》由会员分享,可在线阅读,更多相关《计算方法实验指导书.docx(12页珍藏版)》请在冰豆网上搜索。

计算方法实验指导书.docx

计算方法实验指导书

计算方法实验指导书

人学电子信息工程学院

2007年9月

计算方法实验教学计划2

实验一MATLAB基本操作.3

实验二插值法..5

实验三线性方程组的直接解法..7

实验四线性方程组的迭代方法10

实验五函数逼近与曲线拟合….比

计算方法实验教学计划

指导教师:

昆仑学时数:

10学时周4学时2次实验,共3周6次实验,第7—9教学周,

每次实验2学时

所用仪器设备:

MATLAB7.0实验软件系统

实验指导书:

Matlab实验指导书自编

实验参考书:

《计算方法》,徐萃薇等编著,高等教育,2003.7

《数值分析与实验》,薛毅编著,工业人学,2005.3

实验项目:

A,MATLAB基本操作

容:

矩阵操作,基本数学函数,逻辑函数操作等:

要求:

完成一些基本练习题

B,插值法

容:

Lagrange插值、分段线性插值、三次样条在计算机上用MATLAB软件实现

要求:

完成一些基本练习题

C,线性方程组的求解一一直接解法

容:

高斯消元法,列主元素法及其误差分析等在计算机上用MATLAB软件实现。

要求:

用实例在计算机上计算和作图。

D,线性方程组的求解一一迭代法

容:

向量和矩阵的数,雅可比迭代法,高斯-赛德尔迭代法及其收敛性等在计算机上用MATLAB软件实现。

要求:

用实例在计算机上计算。

E,函数逼近与曲线拟合

容:

曲线拟和与最小二乘方法在计算机上用MATLAB软件实现,并用实例在计算机上计算和作图。

要求:

用实例在计算机上计算。

实验一MATLAB基本操作

实验目的

熟悉MATLAB的使用方法及特点;学会建立MATLAB搜索路径;熟悉MATLAB工作空间、MATLAB集成坏境、命令窗II;掌握MATLAB的通用命令、管理命令和函数、管理变量和工作空间的使用方法;

掌握MATLAB基本操作及矩阵基础知识,包括:

输入矩阵、矩阵的转置、矩阵元素求和、矩阵下际、矩阵连接、矩阵行列删除、矩阵产生和操作、逻辑和关系运算、操作符和特殊字符、基本矩阵和矩阵操作、基本矩阵和阵列;掌握特殊变量和常数;掌握基本数学函数。

二、实验容利用基本矩阵产生3x3和15x8的单位阵,全1阵,全0阵,均匀分布的随机阵([-1,1]之间),正态分布随机阵(方差4,均值1)

2.

利用diag()函数和rot90()产生下列矩阵:

0

a=0

2

然后求解a阵的逆矩阵aa及b阵的特征值和对应特征向量,并利用reshape将aa阵变换成行向量。

产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位。

4.编程实现当aG[-n,n],间隔为lo时,求解正弦和余弦的值,并利用plot()函数绘制正弦,余弦曲线。

5.利用rand函数产生(0,1)间均匀分布的10x10随机矩阵a,然后统计a于等于0.6的元素个数。

6.利用randn函数产生均值为0,方差为1的10x10正态分布随机阵,然后统计其于-0.5,小于0.5的元素个数。

7.编程实现下表功能:

abb<=0.5b>0.5a

显示'case1*

显示fccase2'

a>=l

显示fccase3'

显示’error'

&有一矩阵a,找出矩阵中其值人于1的元素,并将他们重新排列成列向量bo

9.在一市区9月份平均气温变化测量矩阵temp_Baoding_sep中(48x30),存在有奇异值(人于42oC,小于OoC),编程实现删除奇异值所在的行。

10.在给定的100x100矩阵中,删除整行容全为0的行,删除整列容全为0的列。

三、实验要求

要求在实验前必须预习,将实验容事先准备好,否则不允许上机。

上机过程中由指导老师检查结果后方可做其他容。

每次实验结束后完成实验报告并在下次实

验之前由学委统一交给指导教师。

实验二插值法

一、实验目的和要求

⑴学会Langrange插值、Newton插值和Hermite插值等基本插值方法.

⑵学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题

⑶按照题目要求完成实验容、写出相应的Matlab程序给出实验结果.

(4)对实验结果进行分析讨论.

(5)写出相应的实验报告.

实验容

1.Lagrange插值公式.

Matlab程序:

按照Lagrange插值公式编写Matlab程序(函数名:

Lagrange.m)

functionyi=agrange(x,y,xi)

%Lagrange插值多项式,其中,

%x%向量,全部的插值节点:

%丫为向量,插值节点处的函数值;

%xi为标量,被估计函数的自变量:

%yi为xi处的函数估计值.

n=length(x);m=length(y);

%输入的插值点与它的函数值应有相同的个数

ifn~=m

error('ThelengthofXmustbeequal!

1);

return;

end

p=zeros(l,n);

fork=l:

n

t=ones(l,n):

forj=l:

n

ifj~=k

%输入的插值节点必须互异

ifabs(x(k)—x(j))

erroftheDATAiserroe!

');

return;

end

end

p(k)=prod(t);

end

yi=sum(y.*p);

练习1:

已知,,,利用Lagrange插值法求的值。

练习2:

己知利用Newton插值法求的值,并与上题的结果进行比较。

三、实验要求

要求在实验前必须预习,将实验容事先准备好,否则不允许上机。

上机过程中由指导老师检查结果后方可做其他容。

每次实验结束后完成实验报告并在下次实验之前由学委统一交给指导教师。

实验三线性方程组的直接解法

实验目的

⑴学会用Gauss消去法和Matab函数求线性方程组解。

(2)学会对矩阵进行各种分解,如LU分解、Cholskey分解等,并研究相应的Matlab函数。

(3)按照题口要求完成实验容,写出相应的Matlab程序,给出实验结果.对实验结果进行分析讨论.写出相应的实验报告.

二、实验容

1.按照Gauss列主元消去法的算法写出其Matlab程序(Gauss.m)o

Matlab程序

function[x,det,index]=Gauss(A,b))

%求线性方程组的列主元Gauss消去法,其中,

%A为方程组的系数矩阵;

%b为方程组的右瑞项;

%x为方程组的解;

%det为系数矩阵A的行列式的值;

%index为指标变量,index=0表示计算失败,index=l表示计算成功.

[n,m]=size(A);nb=length(b);

%当方程纽行与列的维数不相等时,停止计算,并输出出错信息.

ifn~=m

error(TherowsandcolumnsofmatrixAmustbeequal1);

return

end

%当方程组与右瑞项的维数不匹配时,停止计算,并输出出错信息

ifnb

eiror(ThecolumnsofAmustbeequalthelengthofb!

1);

return;

end

%开始计算,先赋初值

index=l;det=l;x=zeros(nJ);

fork=l:

n-l

%选主元

a_max=0

fori=k:

n

ifabs(A(i/k))>a_max

a_max=abs(A(i/k));r=i;

end

end

ifa_max

index=0;return;

end

%交换两行

ifr>k

forj=k:

n

z=A(k,j);A(kj)=A(rj);A(r,j)=z;

end

%消元过程

fori=k+ll:

H

m=A(i,k)/A(k,L);

fori=k十l:

n

m=A(i/k)/A(k,k);

forj=k+l:

n

A(i,j)=A(iJ)-m*A(k,j);

end

b(i)=b(i)-m*b(k);

end

det=det*A(k,k);

end

det=det*A(n,n);

%回代过程

ifabs(A(n,n))

index=O;return;

end

fork=n:

-l:

l

forj=k+l:

n

b(k)=b(k)-A(kJ)*x(j)

end

x(k)=b(k)/A(k,k)

end

练习题1:

用列主元法求解线性方程组

注意:

在Matlab函数中,求解线性方程组的命令非常简单。

只需使用矩阵除法。

如X=A\b,或利用矩阵的逆X=inv(A)*bo而求行列式的函数为det(A).请同学自行比较计算结果。

练习题2:

编写Matlab程序,求列矩阵的LU分解。

三、实验要求

要求在实验前必须预习,将实验容事先准备好,否则不允许上机。

上机过程中由指导老师检查结果后方可做其他容。

每次实验结束后完成实验报告并在下次实验之前由学委统一交给指导教师。

实验四线性方程组的迭代解法

实验目的

(1)学会用Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭代法求线性方程组解

(2)学会对各种迭代法作收敛性分析,研究求方程组解的最优迭代方法.

(3)按照题目要求完成实验容,写出相应的Matlab程序,给出实验结果.

⑷对实验结果进行分析讨论.

⑸写出相应的实验报告.

二、实验容

1■.熟悉Jacobi迭代法,并编写Matlab程序

matlab程序

按照算法(Jacobi迭代法)编写Matlab程序(Jacobi.m)function[x,k,index]=Jacobi(A,b,ep,it_max)

%求解线性方程组的Jacobi迭代法,其中,

%A为方程组的系数矩阵;

%b为方程组的右端项;

%ep为精度要求,缺省值le-5;

%it_max为最大选代次数,缺省值100;

%x为方程组的解;

%k为迭代次数;

%index为指标变量index"表示迭代收敛到指定要求,

%,index=0表示迭代失败.

ifnargin<4it_max=100;end

ifnargin<3ep=le-5;end

n=length(A);k=0;

x=zeros(n,l);y=x;index=l;

whileI

fori=l:

n

y(i)=b(i)

forj=l:

n

ifj=i

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

end

end

ifabs(A(iJ))

index=0;return;

end

y(i)=y(i)/A(iJ);

end

ifnorm(y-xjnf)

break;

end

e=y;k=k+l;

end

2.熟悉Gauss-Seidel迭代法,并编写Matlab程序

3.练习

练习题1.用Jacobi迭代法求方程组

的解。

练习题2.用Gauss-Seidel迭代法求解上题的线性方程组,取。

三、实验要求

要求在实验前必须预习,将实验容事先准备好,否则不允许上机。

上机过程中由指导老师检查结果后方可做其他容。

每次实验结束后完成实验报告并在卞次实验之前由学委统一交给指导教师。

实验五函数逼近与数据拟合

实验目的

(1)学会函数的最佳平方逼近,理解最佳平方逼近的意义.

(2)学会数据的最小二乘拟合.

(3)按照题目要求完成实验容,写出相应的Matlab程序,给出实验结果.

(4)对实验结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1