数学软件matlab 学习实验手册.docx
《数学软件matlab 学习实验手册.docx》由会员分享,可在线阅读,更多相关《数学软件matlab 学习实验手册.docx(15页珍藏版)》请在冰点文库上搜索。
数学软件matlab学习实验手册
数学软件实验手册
计算学院统计与计算科学系
2013-2014第二学期
说明
1.课件下载地址:
bb平台课程文档
作业上传地址:
bb平台讨论版
2.每周上传:
每周作业需当堂完成,上传前将当周实验和源代码压缩打包,以“第01周数学软件-实验报告-学号-姓名”为文件名,如“第01周数学软件-实验报告--王皓”,上传到相应的实验目录“\01第一周”下。
3.每次实验完成上传:
参考下一页目录,本课程共分八次实验(一次实验分2-4周完成),共需上交八份实验报告。
每次实验完成后,如第2-4周完成了实验二,第4周需综合撰写本次实验报告,以“数学软件-实验报告2-学号-姓名”为文件名,上传到相应的实验目录“\实验报告2”下;第四周的当堂作业上传到相应的实验目录“\04第四周”下。
。
实验报告自己需留存一份,期末形成一总的实验报告。
4.期末上传:
总的实验报告以“数学软件-总实验报告-学号-姓名”为文件名,上传到相应的实验目录“\总实验报告”下。
实验1:
Matlab基本操作(2学时)..................................................................................1
实验2:
Matlab基础知识
(1)(2学时).............................................................................2
实验2:
Matlab基础知识
(2)(2学时).............................................................................3
实验3:
Matlab数学运算
(1)(2学时).............................................................................4
实验3:
Matlab数学运算
(2)(2学时).............................................................................5
实验4:
Matlab基本编程
(1)(2学时).............................................................................6
实验4:
Matlab基本编程
(2)(2学时).............................................................................7
实验5:
Matlab数学显示及存储
(1)(2学时)...............................................................8
实验5:
Matlab数学显示及存储
(2)(2学时)...............................................................9
实验5:
Matlab数学显示及存储(3)(2学时)...............................................................10
实验6:
Matlab数值计算
(1)(2学时).............................................................................11
实验6:
Matlab数值计算
(2)(2学时).............................................................................12
实验7:
Matlab符号计算
(1)(2学时).............................................................................13
实验7:
Matlab符号计算
(2)(2学时).............................................................................14
实验7:
Matlab符号计算(3)(2学时).............................................................................15
实验8:
实际应用(2学时)..............................................................................................16
实验1:
Matlab基本操作(2学时)
实验目的和要求
(1)熟练掌握Matlab的启动与退出;
(2)掌握MATLAB的命令窗口;
(3)掌握MATLAB的常用命令;
(4)掌握MATLAB的帮助系统。
实验内容和原理
(1)Matlab的启动与退出;
(2)命令窗口的使用;
(3)帮助系统的使用;
(4)搜索路径及工作目录的设置。
操作方法和实验步骤
1.启动Matlab(两种方法),并使用命令(两种)退出Matlab
2.将命令窗口当作计算器,实现基本数学运算
做教材第10页第2,7,8题
3.通过Matlab的帮助系统,列出函数abs的主要用法
4.通过Matlab的帮助系统,查询2-DPlots演示程序,并学习其中所列函数的主要用法
5.将MicrosoftWord所在目录加入搜索路径,并设C盘根目录为当前工作目录
实验结果和分析
实验2:
Matlab基础知识
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的数据类型;
(2)掌握MATLAB的基本矩阵操作。
实验内容和原理
(1)MATLAB的数据类型的使用;
(2)MATLAB的基本矩阵操作。
操作方法和实验步骤
1.创建结构体DataTypes,属性包含Matlab支持的所有数据类型,并通过赋值构造结构体二维数组。
步骤如下:
要构造结构体二维数组,只需对二维数组中一个固定行、列的单元结构体的属性进行赋值即可,如DataTypes(2,3).m_int8=int8(8),即定义了二维结构体数组的一个8位整型的属性值,其余类似。
2.用满矩阵和稀疏矩阵(利用函数sparse(),注意其调用格式)存储方式分别构造下述矩阵。
3.在矩阵A末尾添加一行(元素全为1)得到矩阵B,删除B的最后一列得到矩阵C,替换矩阵A的所有非零元素为2得到矩阵D。
4.分别查看矩阵(A,B,C,D)的长度。
实验结果和分析
实验2:
Matlab基础知识
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的运算符;
(2)掌握MATLAB的字符串处理。
实验内容和原理
(1)MATLAB的运算符的使用方法;
(2)MATLAB的字符串处理操作。
操作方法和实验步骤
1.给定矩阵E=rand(5,5),计算B+E,B.*E,B\E(矩阵B见上一实验)。
2.在命令窗口中允许下列代码,比较计算结果rs_a和rs_b,rs_c:
B=rand(4)
rs_a=2^B
[VD]=eig(B);
rs_b=V*diag(2.^diag(D))*inv(V)
rs_b=V*(2.^D.*logical(D))*inv(V)
3.将十进制的80转化为二进制的字符串,并从中查找0的个数。
实验结果和分析
实验3:
Matlab数学运算
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的矩阵运算。
实验内容和原理
(1)矩阵分析:
矩阵的向量距离、秩、行列式、迹、化零矩阵、正交空间、简化梯形形式以及矩阵空间之间的角度的Matlab函数;
(2)线性方程组的Matlab求解;
(3)矩阵分解:
矩阵Cholesky分解、LU分解、QR分解、奇异值分解、Schur分解的Matlab函数。
操作方法和实验步骤
1.利用norm()函数计算矩阵A=randn(5,5)的1阶、2阶、
阶和Frobenios范数(思考如何计算A的一般p阶函数,如p=4),利用函数det()、inv()、rank()、orth()分别计算A的行列式、逆、秩和正交空间;
2.利用函数lu()、schur()、qr()、svd()分别对矩阵A进行LU分解、Schur分解、QR分解和奇异值分解。
实验结果和分析
实验3:
Matlab数学运算
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的矩阵运算;
(2)掌握MATLAB的矩阵元素运算。
实验内容和原理
(1)矩阵分析:
矩阵的相似变换以及非线性运算的Matlab函数;
(2)矩阵元素运算的Matlab函数。
操作方法和实验步骤
1.利用函数eig()计算矩阵A=randn(5,5)的特征根以及对应的特征向量,特征根精确到0.01;
2.利用函数exp()、log()、^2计算矩阵A的指数、对数和平方;
3.利用函数sqrtm()计算矩阵-A的开平方sqrtmA,并利用函数abs()、angle()、conj()计算sqrtmA各元素的模、相角和共轭;
4.列写球坐标系、笛卡尔坐标系和极坐标系间的转换关系,并以一例说明。
(注:
转换关系见帮助文档)
实验结果和分析
实验4:
Matlab基本编程
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的M文件的基础知识;
(2)掌握MATLAB的变量和语句。
实验内容和原理
(1)MATLAB的M文件、函数、脚本的基础;
(2)MATLAB的变量类型和程序控制结构。
操作方法和实验步骤
1.分别选用if和switch结构实现下述函数表示,
。
步骤如下:
从matlab主界面选择菜单“File->New->FunctionM-File”,在得到的空白函数文件中,修改Untitled为相应文件名(注:
格式同matlab一般文件名,即不能以数字开头),修改输入参数input_args为x,a,b,c,修改输出参数output_args为fresult,在系统保留字“function”和“end”两行之间写入函数体;(附注:
对于switch结构,参考表达式temp=(x>a)+(x>b)+(x>c))
2.根据
近似计算指数,当与指数函数的误差小于0.01时停止,分别用for和while结构。
步骤如下:
先和第1小题类似生成空白m函数文件,函数体中写入for循环计算指数函数的近似结果,在循环中加入与指数函数真值(exp(x))的误差判断。
While循环类似。
实验结果和分析
实验4:
Matlab基本编程
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的程序调试方法。
实验内容和原理
(1)MATLAB的图形程序调试方法。
操作方法和实验步骤
1.教材第76页第7题。
实验结果和分析
实验5:
Matlab数学显示及存储
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的二维绘图函数;
(2)掌握MATLAB的三维绘图函数。
实验内容和原理
(1)MATLAB的二维绘图函数:
plot()、fplot()、ezplot();
(2)MATLAB的三维绘图函数:
plot3()、mesh()、surf()及改进的三维绘图函数。
操作方法和实验步骤
1.绘制函数
的曲线,其中曲线为绿虚线,并进行标注。
步骤如下:
先将函数y写成函数m文件,再利用函数fpolt()画出其在区间[-2,2]的图形。
2.绘制函数
的曲面,并绘制对应的等高线和网格。
参考P82-83的例5.12,将x、y的范围改为[-2*pi,2*pi],绘图命令为meshc。
实验结果和分析
实验5:
Matlab数学显示及存储
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的各类图形处理方法;
(2)掌握MATLAB的图形窗口。
实验内容和原理
(1)MATLAB的图形处理:
图形标注、坐标轴控制、图形数据取点、子图和图形保持、图形的打印和输出等;
(2)MATLAB图形窗口的创建与控制、菜单操作、工具栏等。
操作方法和实验步骤
1.在一个图形窗口内,绘制任选6个函数的曲线,并增加标题和对坐标轴进行标注;参考P92例5.26
2.将第一题得到的曲线按照不同设置拷贝到word文档中,并比较结果。
实验结果和分析
实验5:
Matlab数学显示及存储(3)(2学时)
实验目的和要求
(1)掌握MATLAB的MAT文件应用;
(2)掌握MATLAB的文件I/O。
实验内容和原理
(1)MATLAB数据文件MAT文件的应用方法;
(2)MATLAB的打开、关闭、存取文件的函数。
操作方法和实验步骤
1.将用于绘制曲面
的数据分别保存在MAT、二进制和文本文件中;步骤如下:
执行与实验5
(1)相同的命令产生曲面z的数据,用save命令将z存到mat文件中;用fopen打开一个'mytext.txt'文件,状态为写入,然后用fprintf将z存入'mytext.txt'文件中;用fopen打开一个'mybin.bin'文件,状态为写入,然后用fwrite将z存入'mybin.bin'文件中;
2.重启MATLAB,从上述保存的文件中依次读取变量z的前10个数据。
步骤如下:
对于mat文件,直接调用命令load;对txt或bin文件,先用fopen命令打开相应的存储文件(如'mytext.txt'或'mybin.bin'),然后分别用fscanf和fread从txt文件和bin文件中读取前10个数据。
实验结果和分析
实验6:
Matlab数值计算
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的多项式函数;
(2)掌握MATLAB的插值函数。
实验内容和原理
(1)MATLAB的各类多项式函数的应用方法;
(2)MATLAB的一维、二维插值函数。
操作方法和实验步骤
1.利用函数poly2str()将系数多项式A的系数向量形式[13631]转换为完整形式,并利用函数roots()求其根。
再利用函数rand()产生在区间[0,5]内的150个随机数,记为向量X,利用函数polyval()计算A在这150个随机数处的对应取值,记为向量Y;
2.对上述150组数据(X,Y),利用函数polyfit()进行三次多项式拟合,利用函数max()和min()计算拟合多项式在0~5上的最大值和最小值(注意可能是区间端点)。
3.利用函数polyval()计算A在x=[1234]处的对应取值y,取xi=sort(X),即将第1小题中的X排序,然后参考例6.12,利用函数interp1()分别采用最邻近、双线性和三次样条插值方法进行插值,并参照例6.12将插值结果画图。
实验结果和分析
实验6:
Matlab数值计算
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的各类数据分析方法;
(2)掌握MATLAB的功能函数。
实验内容和原理
(1)MATLAB的分析数据的各种函数的应用方法;
(2)MATLAB的以函数为输入参量的各类功能函数的使用方法。
操作方法和实验步骤
1.利用函数rand(15,10)产生在区间[0,5]内的150个随机数的15*10的随机矩阵,利用函数max、min、mean、median、sum、std、var计算各列的最大值、最小值、平均值、中间值、元素和、标准差和方差,并利用函数cov计算各列间的协方差;
2.计算
。
提示:
参考例6.36采用匿名函数f=@(x,y)...的形式定义被积函数,x变量关于y的限定即x<=2y、x>=y应写入被积函数,然后调用函数dblquad()计算重积分。
实验结果和分析
实验7:
Matlab符号计算
(1)(2学时)
实验目的和要求
(1)掌握MATLAB的符号对象定义方法;
(2)掌握MATLAB的任意精度计算。
实验内容和原理
(1)MATLAB的符号对象的创建和使用;
(2)任意精度计算;
操作方法和实验步骤
1.参考P149例7.1利用函数slove计算一元三次方程
根的通式。
再计算一般的一元四次方程方程。
2.参考P150例7.4,利用命令syms定义符号变量x、a、b,利用积分函数int计算定积分
,注意表示
的函数为exp(x)。
3.参考P150例7.3,利用函数sym定义符号变量x,调用函数diff计算函数
的导数。
4.将第168页第3题的求导结果保存到变量f中,如
f=diff(‘…’),
然后将其用inline转化为一个导函数,如
f=inline(f)
再结合符号计算函数sym求上述导函数在x=(学号后两位)处的精确值,如
sym(f(x))
然后采用参考P154例7.10输出该精确值具有六位有效数字的值。
实验结果和分析
实验7:
Matlab符号计算
(2)(2学时)
实验目的和要求
(1)掌握MATLAB的符号表达式的化简和替换;
(2)掌握MATLAB的符号矩阵计算;
(3)掌握MATLAB的符号微积分。
实验内容和原理
(1)MATLAB的符号表达式的化简和替换;
(2)MATLAB的各类符号矩阵计算函数的使用方法;
(3)MATLAB的各类符号微积分函数的使用方法。
操作方法和实验步骤
1.利用积分函数int计算定积分
;当b=3时,将结果积分存在变量rs中,先利用函数simplify化简rs,定义符号变量q2,然后再用利用函数subexpr作进一步化简;
2.参考P160例7.24,先利用求导函数diff计算导数
,然后再利用求极限函数limit分别计算
和
在
的极限;
3.参考P158例7.19定义符号矩阵
,分别利用函数det、intv、^计算矩阵
的行列式,逆和2^A,并计算
其中B=Magic
(2);
4.定义符号表达式
,利用函数factor因式分解
和10270;
5.定义符号表达式
,参考P161例7.25,利用函数diff计算
,然后再一次利用函数diff计算
,即对zy再次求导:
。
实验结果和分析
实验7:
Matlab符号计算(3)(2学时)
实验目的和要求
(1)掌握MATLAB的符号积分变换;
(2)掌握MATLAB的符号方程求解。
实验内容和原理
(1)MATLAB的各类符号积分变换函数的使用方法;
(2)MATLAB的各类符号方程求解函数的使用方法。
操作方法和实验步骤
1.分别利用函数taylor、fourier、laplace计算sin(t)在t=0处的泰勒级数、Fourier变换和Laplace变换;
2.参考P166例7.34利用函数dslove计算微分方程组
的解。
实验结果和分析
实验8:
实际应用(2学时)
实验目的和要求
(1)掌握MATLAB的图像处理工具箱的一些基本图像应用函数。
实验内容和原理
(1)MATLAB的一些基本图像处理函数的应用。
操作方法和实验步骤
1.计算例图Lenna
的二维Fourier变换。
实验结果和分析