第一篇:MATLAB实验指导书
MATLAB及其应用
实验指导书
物理与信息工程系
目录
实验一 MATLAB编程环境..............................................3 实验二 矩阵基本运算
(一)..........................................5 实验三 矩阵基本运算
(二)..........................................7 实验四 矩阵分析...................................................9 实验五 分支结构程序设计..........................................11 实验六 循环结构程序设计..........................................13 实验七 文件操作..................................................15 实验八 二维曲线的绘制............................................17 实验九 三维曲线和曲面的绘制......................................19 实验十 MATLAB数据统计处理........................................21 实验十一 多项式四则运算..........................................23 实验十二 线性方程组求解及函数求极值.............................25 实验一 MATLAB编程环境
一、实验目的
1.熟悉MATLAB编程环境
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.首先应熟悉MATLAB7.0运行环境,正确操作 2.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)命令窗口的使用。(2)工作空间窗口的使用。(3)工作目录、搜索路径的设置。(4)命令历史记录窗口的使用。(5)帮助系统的使用。(6)了解各菜单的功能。2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验二 矩阵基本运算
(一)一、实验目的
1.通过实验,进一步熟悉MATLAB编程环境 2.通过实验掌握建立矩阵的几种方法 3.通过实验理解常用的矩阵运算
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.首先应熟悉MATLAB7.0运行环境,正确操作 2.自主编写程序,必要时参考相关资料 3.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)设A和B是两个同维同大小的矩阵,问:
1)A*B和A.*B的值是否相等? 2)A./B和B.A的值是否相等?
3)A/B和BA的值是否相等?操作过程参照教材中除法的矩阵生成。4)A/B和BA所代表的数学含义是什么?(2)写出完成下列操作的命令。
1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。2)删除矩阵A的第7号元素。3)将矩阵A的每个元素值加30。4)求矩阵A的大小和维数。(3)下列命令执行后,L1、L2、L3、L4的值分别是多少/ A=1:9;B=10-A;L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验三 矩阵基本运算
(二)一、实验目的
1.熟悉矩阵的建立方式 2.理解矩阵拆分的方法
3.通过实验进一步掌握矩阵的基本运算
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
154831,B253 078(1)已知A3203617求下列表达式的值:
1)A+6B和A2-B+I(I为单位矩阵,matlab中使用eye来生成)2)A*B,A.*B和B*A 3)A/B和BA
4)[A,B]和 [A([1,3],:);B^2](2)已知
0.778023104145655,取出其前三行构成矩阵B,其前两列构成矩A325032543.1469.54阵C,其右下角3×2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验四
矩阵分析
一、实验目的
1.学会求矩阵的对角线元素、对角阵和逆矩阵 2.学会求矩阵的行列式的值、秩 3.学会求矩阵的特征值和特征向量 4.通过练习熟悉矩阵分析方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)使用函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。使用函数rot90(A,k)来实现;
101112321471078965,A25811B456,C9836912123121114 710(2)建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。A的逆(inv(A));A的行列式(det(A))(3)求下列矩阵的主对角线元素、上三角阵、下三角阵、秩和迹。参考教材
1125141)A3051115030.434322
2)B8.9421 29(4)求矩阵A的特征值。参考教材
10.51 A110.250.50.2522.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验五
分支结构程序设计
一、实验目的
1.理解MATLAB的编程方法
2.掌握if语句和switch语句的使用 3.掌握分支结构程序设计方法
4.通过练习理解MATLAB编程方法和分支结构程序设计方法。
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现
2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息
2.实验步骤(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验六
循环结构程序设计
一、实验目的
1、理解循环控制结构的执行过程
2、掌握for语句和while语句的使用
3、掌握循环结构程序设计方法
4、通过练习进一步理解MATLAB的编程方法和循环结构程序设计方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)编写程序实现求两矩阵A.*B.(2)编写程序实现求矩阵的转置。2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验七
文件操作
一、实验目的
1、掌握文件的建立、打开与关闭和文件的读写操作
2、理解文件定位操作
3、通过练习理解文件的基本操作
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)以读写方式打开二进制格式数据文件,将浮点数X添加到文件末尾,将文件内容以浮点数格式读入变量Z,将文本文件的第二行读入变量H,向文件尾部移动文件指针6个字节。
sin(x1.7)lnx,当x取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,(2)已知y21cos(x1.7)求各点的函数值。要求:将函数值输出到一个数据文件中;从数据文件中读出数据,求各点函数值的平均值;将平均值添加到数据文件末尾。(3)编写程序,该程序能读取一个文本文件,并能将文本文件中的小写字母转换为相应的大写字母而生成一个新的文本文件。2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验八
二维曲线的绘制
一、实验目的
1、理解MATLAB绘图方法
2、掌握绘制二维数据曲线图的方法
3、掌握用plot函数和fplot函数绘制曲线的方法
4、通过练习掌握绘制二维数据曲线图的方法和plot函数和fplot函数的使用
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)绘制下列曲线:
x1①yx
②ye323x22xrsint
③x2y6④
yrcost22(2)通过用plot和fplot函数绘制ysin1的曲线,并分析其区别。x解释:fplot函数的调用格式为: fplot(fname,lims,tol,选项)
其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验九
三维曲线和曲面的绘制
一、实验目的
1、理解三维曲线的绘制
2、理解曲面图的绘制
3、通过练习熟悉三维曲线和曲面图的绘制方法
二、实验器材
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)绘制下列三维曲线
xet/20costt/201)yesint,0t2
2)zt(2)绘制下列曲面图
1)z=5,|x|≤5,|y|≤5
2)f(x,y)xt2yt,0t1 zt351xy22,x3,y3
2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。
(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(6)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十
MATLAB数据统计处理
一、实验目的
1、掌握MATLAB求最大最小值的方法
2、掌握MATLAB求均值与方差的方法
3、通过练习以下内容熟悉数据统计处理的几种方法
二、实验器材
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:均值mean和标准方差std;最大元素max和最小元素min;大于0.5的随机数个数占总数的百分比 2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。
(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。(6)检查程序输出结果。
五、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十一
多项式四则运算
一、实验目的
1、掌握多项式求值、求根的方法
2、理解多项式四则运算
3、通过练习熟悉多项式四则运算和多项式求值、求根的方法
二、实验器材
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
4322有3个多项式P1(x)x2x4x5,P2(x)x2,P3(x)x2x3,1)求P(x)= P1(x)+ P2(x)P3(x)2)求P(x)的根
3)当x取矩阵A的每一元素时,求P(x)的值,其中
11.21.4 A0.7523.552.504)当以矩阵A为自变量时,求P(x)的值 2.实验步骤(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。
(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(6)检查程序输出结果。
五、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十二
线性方程组求解及函数求极值
一、实验目的
1、理解线性方程组求解方法
2、理解函数求极值方法
3、通过练习以下内容熟悉求解线性方程组的方法和函数求极值的方法
二、实验器材
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)求下列方程组的解
2x3y5z101)3x7y4z2)
x7yz56x15x22x35x449xx4xx131234 3x4x2x2x123413x19x22x411(2)求下列函数在指定区间的最大值
1x2,x(0,2)
2)f(x)sinxcosx2,x(0,)1)f(x)41x2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。
(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(6)检查程序输出结果。
五、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会
第二篇:《MATLAB应用技术》实验指导书
M A T L A B 实 验 指 导 书
电子信息工程学院
2012.02
目录
实验一
MATLAB安装与界面............................................................................................1 实验二
MATLAB符号计算与应用.....................................................................................2 实验三
MATLAB数值数组与向量化运算..........................................................................4 实验四
MATLAB数值计算................................................................................................7 实验五
MATLAB可视化.................................................................................................10 实验六
M文件及MATLAB综合应用..............................................................................16
实验一
Matlab安装与界面
【实验目的】 【实验原理】
1.安装MATALB软件,并按理论教学内容逐一熟悉软件界面及软件特点。
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
1.完成MATLAB软件安装; 2.熟悉MATLAB运行环境。(1)命令窗口的使用。
(2)工作空间窗口的使用。
(3)工作目录、搜索路径的设置。(4)命令历史记录窗口的使用。(5)了解各菜单的功能。
3.图示复数z143i,z212i的和展示MATLAB的可视化能力;
4.画出衰减振荡曲线yesin3t,t的取值范围是[0,4];展示数组运算的优点及MATLAB的可视化能力。
5.创建一个M文件,输入步骤4的相关程序,运行程序并变换名称保存,将工作空间中的y变量的MAT文件变换路径输出保存,然后再向内存装载MAT文件。
6.以命令窗口中输入help Laplace、help浏览器中搜索两种方式体会MATLAB帮助系统的特点和功能。
t3
【实验报告要求】
1.整理实验结果。2.总结实验心得体会
/ 17
实验二
Matlab符号计算与应用
【实验目的】
1.掌握MATLAB符号计算的基本语法规则
2.掌握MATLAB符号计算求解微积分、线性代数问题 3.熟悉MATLAB符号计算在信号处理领域的应用
【实验原理】
1.以MATALB与MuPAD库函数间符号计算机理和基本的微积分运算原理为基础,研究常见的工程定解问题以及连续信号处理问题。
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
1.运行下列代码比较符号(类)数字与数值(类)数字之间的差异。a=pi+sqrt(5)
sa=sym('pi+sqrt(5)')
Ca=class(a)
Csa=class(sa)
vpa(sa-a)
2.熟悉simple命令并简化f
316128。x3x2xab3.对符号矩阵进行特征向量分解,并尝试置换操作。
cd
4.用简单算例演示subs的常见置换规则。
5.试用符号计算求lim1 x1x2kx2。
/ 17
f1xx1ex21f2x26.试用符号计算求f(x1,x2)的Jacobian矩阵x1cos(x1)sin(x2)f3x11(1)k,7.试用符号计算求[t,k],。2kk1(2k1)t0t13f1x2f2。x2f3x2
8.试用符号计算求积分
9.根据Fourier变换定义,用积分指令求方波脉冲y换,并作图显示。
10.试用符号计算求d线性方程组的解。
1 2 x2 x2y x xy(x2y2z2)dzdydx。
203/2t3/2的Fourier变
elsenpnq,ndqp10,qdp,qpn8d1224【实验报告要求】
1.整理实验结果。
2.总结实验心得体会
/ 17
实验三
Matlab数值数组与向量化运算
【实验目的】
1.掌握MATLAB二维数值数组的创建和寻访 2.掌握MATLAB数组运算和向量化编程
3.掌握常用标准数组生成函数和数组构作技法 4.数NaN、“空”数组概念和应用;关系和逻辑操作及应用
【实验原理】
1.在MATALB中,几乎所有运算对象均被视为一种广义的矩阵,而在进行大规模数值计算时,将循环运算转化为矩阵运算可节约代码量、提高程序运行效率。
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
1.已知f(t)tcost,分别用符号计算和数值计算求s(x)2.一维数组的常用创建方法举例。(1)a1=1:6
a2=0:pi/4:pi a3=1:-0.1:0
2 x 0f(t)dt,比较二者区别。
(2)b1=linspace(0,pi,4)b2=logspace(0,3,4)(3)c1=[2 pi/2 sqrt(3)3+5i]
(4)rand('state',0)
c2=rand(1,5)a=2.7358;b=33/79;
3.在MATLAB环境下,用下面三条指令创建二维数组C。
C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]
4.根据现有数据在数组编辑器中创建一个(38)的数组。
5.标准数组产生的演示
/ 17
ones(2,4)
randn('state',0)randn(2,3)
D=eye(3)
diag(D)
diag(diag(D))
randsrc(3,20,[-3,-1,1,3],1)
6.熟悉数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。A=zeros(2,6)
A(:)=1:12
A(2,4)
A(8)
A(:,[1,3])
A([1,2,5,6]')
A(:,4:end)
A(2,1:2:5)=[-1,-3,-5]
B=A([1,2,2,2],[1,3,5])
L=A<3
A(L)=NaN
7.数组操作函数reshape, diag, repmat的用法;空阵 [ ] 删除子数组的用法。
a=1:8
A=reshape(a,4,2)A=reshape(A,2,4)
b=diag(A)
B=diag(b)
D1=repmat(B,2,4)D1([1,3],:)=[ ]
8.欧姆定律:r
u,其中r, u, i分别是电阻(欧姆)、电压(伏特)、电流(安培)。验证i 5 / 17
实验:据电阻两端施加的电压,测量电阻中流过的电流,然后据测得的电压、电流计算平均电阻值。(测得的电压电流具体数据见下列程序)。比较向量化运算的优势一:代码量少;优势二:通过加外层循环,用tic toc命令计算时间,体现运算速度快的优势。(1)非向量化程序
clear vr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];
%--------------------L=length(vr);
for k=1:L r(k)=vr(k)/ir(k);end
%---------------------------sr=0;for k=1:L sr=sr+r(k);
end rm=sr/L
(2)向量化程序
clear vr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];
r=vr./ir rm=mean(r)
9.用“空”数组进行子数组的删除和大数组的大小收缩 A=reshape(-4:5,2,5)
A(:,[2,4])=[]
10.运行下列程序,体会关系运算的应用。
t=-3*pi:pi/10:3*pi;y=sin(t)./t;
tt=t+(t==0)*eps;yy=sin(tt)./tt;
subplot(1,2,1),plot(t,y),axis([-9,9,-0.5,1.2]), xlabel('t'),ylabel('y'),title('残缺图形')subplot(1,2,2),plot(tt,yy),axis([-9,9,-0.5,1.2])xlabel('tt'),ylabel('yy'),title('正确图形')【实验报告要求】
1.整理实验结果。2.总结实验心得体会
/ 17
实验四
Matlab数值计算
【实验目的】
1.掌握MATLAB数值微积分的计算方法 2.掌握MATLAB矩阵和代数方程运算规律 3.熟悉MTALAB处理概率和统计分布问题 4.掌握MTALAB的多项式运算和卷积运算
【实验原理】
1.数值计算作为MATALB的最主要功能,在工程中有着广泛的应用,本节将在已有的数学基础和数字信号处理基础上,开展一些工程中常用的数值计算,并着重基于MTALAB的内部函数进行编程。
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
1.已知xsin(t),求该函数在区间 [0, 2]中的近似导函数,分析下列程序产生误差的原因。
d=pi/100;t=0:d:2*pi;x=sin(t);dt=5*eps;
x_eps=sin(t+dt);dxdt_eps=(x_eps-x)/dt;plot(t,x,'LineWidth',5)hold on plot(t,dxdt_eps)hold off legend('x(t)','dx/dt')xlabel('t')
提出的解决方案(供参考):
x_d=sin(t+d);dxdt_d=(x_d-x)/d;hold on plot(t,dxdt_d)hold off legend('x(t)','dx/dt')
/ 17
plot(t,x,'LineWidth',5)xlabel('t')2.已知xsin(t),采用diff和gradient计算该函数在区间 [0, 2]中的近似导函数,比较二者区别。
3.分别用梯形积分公式和矩形积分计算积分s(x)/20y(t)dt,其中y0.2sin(t),并以符号计算结果为参考解,通过误差分析比较上述方法的精度。
4.采用匿名函数方法求s
5.应用fminseach
函数求著名的Rosenbrock's “Banana” 测试函数
1 2 1 0xydxdy。
f(x,y)100(yx2)2(1x)2的极小值点。
6.已知矩阵A24,B43,采用三种不同的编程求这两个矩阵的乘积C23A24B43。并用tic、toc计时方法,在重复1000次运算的情况下比较运行时间。
7.随机产生一个55的矩阵,并计算出其行列式、迹、秩、条件数、逆以及特征分解。
8.画出N=100, p=0.5情况下的二项分布概率特性曲线。
9.运行以下程序,并观察正态分布标准差的几何表示。
mu=3;sigma=0.5;
x=mu+sigma*[-3:-1,1:3];yf=normcdf(x,mu,sigma);P=[yf(4)-yf(3),yf(5)-yf(2),yf(6)-yf(1)];xd=1:0.1:5;yd=normpdf(xd,mu,sigma);clf for k=1:3
% xx=x(4-k):sigma/10:x(3+k);yy=normpdf(xx,mu,sigma);
%-subplot(3,1,k),plot(xd,yd,'b');hold on fill([x(4-k),xx,x(3+k)],[0,yy,0],'g');hold off if k<2
/ 17
text(3.8,0.6,'[{mu}-{sigma},{mu}+{sigma}]')kk=int2str(k);text(3.8,0.6,['[{mu}-',kk,'{sigma},{mu}+',kk,'{sigma}]'])else end text(2.8,0.3,num2str(P(k)));shg end xlabel('x');
10.调试下列程序,实现给定数据组x0 , y0,求拟合三阶多项式,并图示拟合情况。改变多项式阶数再次图示并观察结果变化。
x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];n=3;P=polyfit(x0,y0,n)
xx=0:0.01:1;yy=polyval(P,xx);plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20)legend('拟合曲线','原始数据','Location','SouthEast')xlabel('x')
【实验报告要求】
1.整理实验结果。2.总结实验心得体会
/ 17
实验五
MATLAB可视化
【实验目的】
1.掌握MATLAB连续函数(信号)的可视化 2.掌握MATLAB二维离散作图的基本格式
3.熟悉MTALAB三维作图的基本格式和高级作图修饰 4.熟悉MTALAB动画的制作过程
【实验原理】
1.MATLAB的主要功能和优点之一为可视化,基于plot命令而展开的一系列作图命令格式为学习本节的基础
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
1.用图形表示连续调制波形ysin(t)sin(9t)。
t1=(0:11)/11*pi;t2=(0:400)/400*pi;t3=(0:50)/50*pi;y1=sin(t1).*sin(9*t1);y2=sin(t2).*sin(9*t2);y3=sin(t3).*sin(9*t3);subplot(2,2,1),plot(t1,y1,'r.')
%<7> axis([0,pi,-1,1]),title('(1)点过少的离散图形')subplot(2,2,2),plot(t1,y1,t1,y1,'r.')%<9> axis([0,pi,-1,1]),title('(2)点过少的连续图形')subplot(2,2,3),plot(t2,y2,'r.')
%<11> axis([0,pi,-1,1]),title('(3)点密集的离散图形')subplot(2,2,4),plot(t3,y3)
%<13> axis([0,pi,-1,1]),title('(4)点足够的连续图形')
2.调试运行二维曲线绘图指令。
clf
t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;
subplot(1,2,1),plot(t,Y,'LineWidth',1.5)
/ 17
title('By plot(t,Y)'),xlabel('t')subplot(1,2,2),plot(Y,'LineWidth',1.5)title('By plot(Y)'),xlabel('row subscript of Y')
3.用图形表示连续调制波形ysin(t)sin(9t)及其包络线。(图5.2-2)
t=(0:pi/100:pi)';y1=sin(t)*[1,-1];t3=pi*(0:9)/9;
%<1> %<2> %<3>
% <4>
% <5> y2=sin(t).*sin(9*t);y3=sin(t3).*sin(9*t3);hold on
plot(t,y1,'r:',t,y2,'-bo')% <6> plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])axis([0,pi,-1,1])
% <8> %<9> hold off %<10> %以下指令供读者比较用。使用时,指令前的 % 号要去除。
%属性影响该指令中的所有线对象中的离散点。
%plot(t,y1,'r:',t,y2,'-bo',t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])
4.观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。
t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);title('Normal and Grid on')subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal')subplot(2,3,3),plot(x,y),axis square,grid on,title('Square')subplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill')subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')
subplot(2,3,1),plot(x,y),axis normal,grid on, 5.通过调试下列程序,绘制二阶系统阶跃响应,综合演示图形标识。
clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);plot(t,y,'r-','LineWidth',3)hold on tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(ts,0.95,'bo','MarkerSize',10)hold off axis([-inf,6*pi,0.6,inf])
set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])%<9>
/ 17
%<3>
%<5> %<6>
set(gca,'XtickLabel',{'2*pi';'4*pi';'6*pi'})grid on text(13.5,1.2,'fontsize{12}{alpha}=0.3')text(13.5,1.1,'fontsize{12}{omega}=0.7')
cell_string{1}='fontsize{12}uparrow';%<15>
%<10> %<11> set(gca,'YtickLabel',{'0.95';'1';'1.05';'max(y)'})
%<13>
%<14>
cell_string{2}='fontsize{16} fontname{隶书}镇定时间';cell_string{3}='fontsize{6} ';
%<18>
cell_string{4}=['fontsize{14}rmt_{s} = ' num2str(ts)];text(ts,0.85,cell_string,'Color','b','HorizontalAlignment','Center')
title('fontsize{14}it y = 1-e^{-alpha t}cos{omegat}')xlabel('fontsize{14} bft rightarrow')ylabel('fontsize{14} bfy rightarrow')
6.利用hold绘制离散信号通过零阶保持器后产生的波形,验证叠绘命令
t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,'g','Color','k');hold on stairs(t,y,':r','LineWidth',3)hold off legend('fontsize{14}it stem','fontsize{14}it stairs')box on
7.运行下列命令,画出函数yxsinx和积分验证双纵坐标。
clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;
%<3>
%<5> %<6> %<4>
%<2> a=plotyy(x,y,x,s,'stem','plot');
s(xsinx)dx0x在区间[0,4]上的曲线,text(0.5,1.5,'fontsize{14}ity=xsinx')sint='{fontsize{16}int_{fontsize{8}0}^{ x}}';text(2.5,3.5,ss)%<7>
ss=['fontsize{14}its=',sint,'fontsize{14}itxsinxdx'];
set(get(a(1),'Ylabel'),'String','被积函数 ity=xsinx')%<8>
/ 17
set(get(a(2),'Ylabel'),'String',ss)%<9> xlabel('x')
8.运行下列命令,演示subplot指令对图形窗的分割。
clf;t=(pi*(0:1000)/1000)';y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])subplot('position',[0.2,0.1,0.6,0.40])plot(t,y12,'b-',t,[y1,-y1],'r:')axis([0,pi,-1,1])
9.运行下列程序,实现三维曲线绘图。演示:三维曲线的参数方程;线型、点形和图例。(图5.3-1)
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd')view([-82,58]),box on xlabel('x'),ylabel('y'),zlabel('z')legend('链','宝石')
10.运行下列程序,体会不同灯光、照明、材质指令所表现的图形。
clf;[X,Y,Z]=sphere(40);colormap(jet)
%<3>
%<8> %<4>
%<5>
%<6> %<7>
%<10>
subplot(1,2,1),surf(X,Y,Z),axis equal off,shading interp light('position',[0-10 1.5],'style','infinite')lighting phong material shiny subplot(1,2,2),surf(X,Y,Z,-Z),axis equal off,shading flat light;lighting flat %<9> light('position',[-1,-1,-2],'color','y')%<11> light('position',[-1,0.5,1],'style','local','color','w')set(gcf,'Color','w')
11.透视图。
/ 17
[X0,Y0,Z0]=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp hold off hidden off
hold on,mesh(X,Y,Z),colormap(hot)
axis equal,axis off
title('No.2 surf(X,Y,Z,abs(dz2))')
12.实时动画:制作红色小球沿一条带封闭路径的下旋螺线运动的实时动画(图5.4-5)。(1)anim_zzy1.m
function f=anim_zzy1(K,ki)% anim_zzy1.m 演示红色小球沿一条封闭螺线运动的实时动画
% 仅演示实时动画的调用格式为
anim_zzy1(K)
% 既演示实时动画又拍摄照片的调用格式为
f=anim_zzy1(K,ki)
% K
红球运动的循环数(不小于1)
% ki
指定拍摄照片的瞬间,取 1 到 1034 间的任意整数。
% f
存储拍摄的照片数据,可用image(f.cdata)观察照片。
%
t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];plot3(x,y,z,'Color',[1,0.6,0.4],'LineWidth',2.5)axis off %
h=line('xdata',x(1),'ydata',y(1),'zdata',z(1),'Color',[1 0 0],'Marker', '.', 'MarkerSize',40,'EraseMode','xor');> %
n=length(x);i=2;j=1;while 1
set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i));
drawnow;
% <22>
pause(0.0005)
% <23>
i=i+1;
if nargin==2 & nargout==1
if(i==ki&j==1);f=getframe(gcf);end
% <26>
end
if i>n
/ 17
i=1;j=j+1;
if j>K;break;end
end end
(2)
f=anim_zzy1(2,450);(3)
image(f.cdata),axis off
【实验报告要求】
1.整理实验结果。2.总结实验心得体会
/ 17
实验六
M文件及MATLAB综合应用
【实验目的】
1.掌握MATLABM文件的编写 2.掌握MATLAB控制流的使用
3.熟悉MTALAB仿真工具箱的使用
4.了解MTALAB notebook的功能
【实验原理】
1.应用MATLAB的M文件编写中、大型程序是学习该门课程的重要目的,其他如SIMULINK仿真工具箱的应用也是分析工程问题的重要手段。
【实验仪器】
1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。
【实验内容及步骤】
x31.已知函数yxex1x11x1,编写能对任意一组输入x值求相应y值的程序。1x2.已知学生的名字和百分制分数。要求根据学生的百分制分数,分别采用“满分”、“优秀”、“良好”、“及格”和“不及格”等表示学生的学习成绩。创建Hilbert矩阵。3.Hilbert矩阵a(i,j)1。
ij1N114.编写计算Sn,其中NargminN,是预先给定的控制精度。n1kkk1k1通过本程序掌握MATLAB编程的基本规范。
5.创建n阶魔方矩阵,限定条件是n为能被4整除的偶数。所谓魔方矩阵(Magic matrix),是指那矩阵由1到n的正整数按照一定规则排列而成,并且每列、每行、每条对角线元素2n(n21)的和都等于。就生成规则而言,魔方矩阵可分成三类:一,n为奇数;二,n为2不能被4整除的偶数;三,n为能被4整除的偶数。
/ 17
6.编写一个M函数文件。它具有以下功能:(A)根据指定的半径,画出蓝色圆周线;(B)可以通过输入字符串,改变圆周线的颜色、线型;(C)假若需要输出圆面积,则绘出圆。
7.编写一个内含子函数的M函数绘图文件。
8.在下图所示的系统中,已知质量m1kg,阻尼b2N.sec/m,弹簧系数k100N/m,且质量块的初始位移x(0)0.05m,其初始速度x(0)0m/sec,要求创建该系统的SIMULINK模型,并进行仿真运行。
9.创建一个notebook文件,简单调试一个作图程序,体会notebook功能。
【实验报告要求】
1.整理实验结果。2.总结实验心得体会
/ 17
第三篇:MATLAB实验指导书
MATLAB 实验指导书
皖西学院信息工程学院 实验一 MATLAB编程环境及简单命令的执行
一、实验目的
1.熟悉MATLAB编程环境
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.首先应熟悉MATLAB7.0运行环境,正确操作 2.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)命令窗口的使用。(2)工作空间窗口的使用。(3)工作目录、搜索路径的设置。(4)命令历史记录窗口的使用。(5)帮助系统的使用。(6)了解各菜单的功能。2.实验步骤
(1)启动MATLAB,熟悉MATLAB的桌面。(2)进入MATLAB7.0集成环境。
(3)在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
1)(365-522-70)3 2)>>area=pi*2.5^2 3)已知x=3,y=4,在MATLAB中求z:
x2y3 z2xy4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。
162313511108 m1=97612414151执行以下命令 >>m1(2 , 3)>>m1(11)>>m1(: , 3)>>m1(2 : 3 , 1 : 3)>>m1(1 ,4)+ m1(2 ,3)+ m1(3 ,2)+ m1(4 ,1)5)执行命令>>help abs 查看函数abs的用法及用途,计算abs(3 + 4i)6)执行命令
>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。
五、思考题
1、以下变量名是否合法?为什么?(1)x2(2)3col(3)_row(4)for
2、求以下变量的值,并在MATLAB中验证。(1)a = 1 : 2 : 5;(2)b = [ a' a' a' ];(3)c = a + b(2 , :)。
六、实验报告要求1.整理实验结果,按顺序填写实验结果 2.小结实验心得体会
实验二 矩阵基本运算
(一)一、实验目的
1.通过实验,进一步熟悉MATLAB编程环境 2.通过实验掌握建立矩阵的几种方法 3.通过实验理解常用的矩阵运算
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.首先应熟悉MATLAB7.0运行环境,正确操作 2.自主编写程序,必要时参考相关资料 3.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)设A和B是两个同维同大小的矩阵,问:
1)A*B和A.*B的值是否相等? 2)A./B和B.A的值是否相等? 3)A/B和BA的值是否相等?
4)A/B和BA所代表的数学含义是什么?(2)写出完成下列操作的命令。
1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。2)删除矩阵A的第7号元素。3)将矩阵A的每个元素值加30。4)求矩阵A的大小和维数。
5)将含有12个元素的向量x转换成3*4矩阵。6)求一个字符串的ASCII码。7)求一个ASCII码所对应的字符。
(3)下列命令执行后,L1、L2、L3、L4的值分别是多少?
A=1:9;B=10-A;L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、思考题
用MATLAB求下面的的方程组。
212x14791532x72 1)22115x3113213x40xyz1x2yzw82)
2xy3w33x3y5z6w5
六、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验三 矩阵基本运算
(二)一、实验目的
1.熟悉矩阵和向量的建立方式 2.理解矩阵拆分的方法
3.通过实验进一步掌握矩阵的基本运算
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
154831,B253 078(1)已知A3203617求下列表达式的值:
1)A+6B和A2-B+I(I为单位矩阵)2)A*B,A.*B和B*A 3)A/B和BA
4)[A,B]和 [A([1,3],:);B^2](2)已知 0.778023104145655,取出其前三行构成矩阵B,其前两列构成矩A32503269.54543.14阵C,其右下角3×2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、思考题
n10991022222,求y=?(循环语句做)10y n10
六、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验四
矩阵分析
一、实验目的
1.学会求矩阵的对角线元素、对角阵和逆矩阵 2.学会求矩阵的行列式的值、秩 3.学会求矩阵的特征值和特征向量 4.通过练习熟悉矩阵分析方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)使用函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。
101112321471078965,CA25811,B4569836912123121114 710(2)建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。
(3)求下列矩阵的主对角线元素、上三角阵、下三角阵、秩和迹(矩阵对角线元素之和,也等于矩阵的特征值之和)。
1125141)A3051115030.434322
2)B 28.94219(4)求矩阵A的特征值其中V是特征向量,D为特征值)和相应的特征向量。
10.51 A110.250.50.2522.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验五
分支结构程序设计
一、实验目的
1.理解MATLAB的编程方法
2.掌握if语句和switch语句的使用 3.掌握分支结构程序设计方法
4.通过练习理解MATLAB编程方法和分支结构程序设计方法。
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)从键盘输入1到5000之内的一个数,例如输入693,输出为396,如果数据超出范围,请输出提示“输入数据有误,请输入1~5000之内的数”将它反向输出,如果数据是个位数,则直接输出。(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现
2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息
(3)某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price 来表示):
price<200 没有折扣;200≤price<500 3%折扣;500≤price<1000 5%折扣; 1000≤price<2500 8%折扣;2500≤price<5000 10%折扣;5000≤price 14%折扣,输入所售商品的价格,求其实际销售价 2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、思考题
1、一个三位整数各位数字的立方和等于该数本身,则称该数为水仙花数。试编写程序找到并输出全部水仙花数
六、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验六
循环结构程序设计
一、实验目的
1、理解循环控制结构的执行过程
2、掌握for语句和while语句的使用
3、掌握循环结构程序设计方法
4、通过练习进一步理解MATLAB的编程方法和循环结构程序设计方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)随机产生二个相同维数的方阵A、B,其元素全为整数,且在0~10之间,试编写程序实现求两矩阵A*B,A.*B。
(2)随机产生一个4X4的矩阵A,编写程序实现求矩阵的转置。(3)若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6 是完数。求[1 500]之间的全部完数(4)写一程序求1!+2!+„+10!
(5)键盘上输随便输入一个矩阵,试编程找出矩阵A 中最大元素和最小元素所在的行列号 2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验七
曲线、曲面图的绘制
一、实验目的
1、理解MATLAB绘图方法
2、掌握绘制二、三维数据曲线图的方法
3、掌握用plot函数和fplot函数绘制曲线的方法
4、通过练习掌握绘制二维数据曲线图的方法和plot函数和fplot函数的使用
5、通过练习熟悉三维曲线和曲面图的绘制方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)绘制下列曲线:
xxrsintx312①yx
②y e
③x22y26④32yrcost2(2)通过用plot和fplot函数绘制ysin(3)绘制下列三维曲线
1的曲线,并分析其区别。
xxet/20cost1)yet/20sint,0t2
ztxt2)yt2,0t1
zt32.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、思考题
绘制曲面图f(x,y)51xy22,x3,y3
六、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会
实验八
Simulink建模仿真
一、实验目的
学会SIMULINK仿真基本操作
二、实验器材
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1. 实验内容
(1)在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。
也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。
(2)SIMILINK模块库按功能进行分为以下8类子库:
Continuous(连续模块) Discrete(离散模块)
Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块)
(3)简单模型的建立
1)建立模型窗口
2)将功能模块由模块库窗口复制到模型窗口 3)对模块进行连接,从而构成需要的系统模型
(4)功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。
模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。
在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。
1)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。
2)复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。
3)删除:选中模块,按Delete键即可。
4)转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。
5)改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。6)模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。7)颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。
8)参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。
9)属性设定:选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。10)模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。
(5)仿真:构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析 2.实验步骤
(1)打开Simulink Library Browser窗口,练习功能模块的基本操作。
(2)用MATLAB对一阶惯性环节的动态特性进行仿真研究。
G(S)1S1
仿真系统模型图
(3)用MATLAB对下列控制系统的动态特性进行仿真研究。
G(S)G(S)1
S24S82 322S3SS8
(4)已知系统的状态方程为
其中
y 1(0)=
0.25,y2(0)=0.25,请构建该系统的仿真模型,并用XYGraph模型观察y1,y2轨迹。
(5)利用 SIMULINK 及其标准模块设计一个低通滤波器,从受噪声干扰的多频率混合信号x(t)中获取10Hz 的信号。其中x(t)= sin(2p ×10 × t)+ cos(2p ×100 × t)+ n(t),而n(t)~ N(0,0.2)
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会
第四篇:MATLAB实验4
学 生 实 验 报 告
课程名称:
学生学号:
所属院部:
(理工类)
专业班级:
学生姓名:
指导教师: ——20 学年 第 学期
实验项目名称: MATLAB综合运用 实验学时: 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:
一、实验目的和要求
1、会用MATLAB求电阻电路。(节点电压法、戴维南定理等)
2、会用MATLAB求正弦稳态电路。
3、掌握自动控制系统中模型的转换方法。
4、会用MATLAB求自动控制系统的传递函数。
二、实验仪器和设备
计算机一台
三、实验过程
1、已知条件如下图所示。求:RL为何值时,能获得最大功率.U1 U2
RL
R1=6Ω R2=1Ω R3=3Ω
经过R1的电流为I1,经过R2的电流为I2,把RL用电流源代替(Ia方向从上到下),经过电路化简得:Ia=4/3+I2 列出节点方程:(1/6+1+1/3)U1-U2=I1(其中I1=12/6=2A,I2=2A)(节点电流的流入和流出)
-U1+U2=I2-Ia(等效的U1,U2)
运用MATLAB计算出U1,U2的值,U2即是戴维南等效电路中的Uoc,令电压源短路,电流源断路,求得ab左边等效电阻Req,当Req=RL时,PMAX=Uoc^2/4Req
2、已知Us=100V,I1=100mA,电路吸收功率P=6W,XL1=1250,XC2=750,电路呈感性,求R3及XL3。
设电源的总阻抗为ZRjX,由图可知ZZ1UZ2*Z3,总阻抗的模为Zs
IZ2Z3由于Z1,Z2为纯阻抗元件,它们不吸收有功功率,故
RP I22ZR2X2XZR2 得知电感电路呈感性,取“+”,即有ZRjX Z2,Z3的并联阻抗为Z23ZZ1ZjXL1 而Z3Z2*Z23
Z2Z23有R3real(Z3),XL3=imag(Z3)
3、求图示系统的传递函数,其中K1=10,K2=20。
4、已知系统状态空间模型为:
求其零极点模型。
5、系统的零极点增益模型如下:
求系统的传递函数模型和状态空间模型。
四、实验结果与分析
在本次实验中,初步了解了MATLAB在自动控制系统中的运用,通过从实验中得到的锻炼,提高了动手能力和自我学习能力。
第五篇:matlab实验心得体会
matlab实验心得体会
]这个就是我自己做出来的,发现用soundsc听出来还行,但是用wavwrite就变的很难听。后来发现PB写的很好,而且还能够把前面一段没有噪音的部分给保存下来,我就看了他的代码,有几点体会:
1.将代码写在.m文件里,这样只需要该文件里的就可以而不必每次都去敲命令;
2.PB对于vector使用的比较熟,我一开始也想到能不能只将后面一段由噪声的给滤掉而保留以前的,但是没想到什么方法,看了PB的代码发现,他对于vector了解的比较深刻,我上面的想法最后只使用一句代码就搞定了
3.对于噪声频率,一定要选准确,PB对每一段噪声只使用的一个频率,就将噪声滤干净了,我用了每段噪声附近的几个波形还没有得到理想波形,最后我发现我选的中心频率和PB的只相差10~25赫兹,所以一定要精确,后来WH又试了一下,只发现改变5HZ的频率都不行
4.加入团队以来,尤其是加入种子班之后就一直告诫自己要时刻抱着一个学习的心态,对于任务不要只是敷衍,完成就好,而是自己一定要从中学到东西,而且在这个过程中一定要逐步掌握自己的学习方法,但是就是这个Matlab,我就是在敷衍了事,所以没有什么事情是可以敷衍的,学习发生在每时每刻,不能因为这是必上的课程而自己没有兴趣就蒙混过关,应该利用这个机会锻炼自己,积极起来,改变自己懒惰的弱点。
PS:附上修改后的代码
%get the samples rate and vector of the wave [xx, fs] = wavread('SunshineSquare');xx = xx';specgram(xx, [], fs);
%^get the A from the frequencies of the noises fnoise = [0 1575 3150 4725];ww = 2*pi*fnoise/fs;A =-2*cos(ww);
%seperate the wave based on the tone “du” leng = length(xx);du = floor((7.749/10.791)*leng);
%determine the h[n] of correspond noise hh = [1 A(1)1];for i = 2:4 hh1 = [1 A(i)1];hh = conv(hh, hh1);end
%filter the noise yy = filter(hh, 1, xx);%delete the tone “du” yy(du100 : du + 80)= 0;figure(2);specgram(yy, [], fs);wavwrite(yy,fs,32,'filter1');
%replace the wave which has been filtered with the good part du = floor((7.749/10.791)*leng);yy(1:du)=xx(1:du);%delete the tone “du” yy(du100 : du + 80)= 0;
%paint the picture and play it figure(3);specgram(yy, [], fs);soundsc(yy,fs);wavwrite(yy,fs,32,'filter2');