matlab实验指导书-电信_第1页
matlab实验指导书-电信_第2页
matlab实验指导书-电信_第3页
matlab实验指导书-电信_第4页
matlab实验指导书-电信_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 MATLAB运算基础及矩阵分析与处理一 实验目的1熟悉启动和退出MATLAB的方法。2熟悉MATLAB命令窗口的组成。3掌握建立矩阵的方法。4掌握MATLAB各种表达式的书写规则以及常用函数的使用。5. 掌握生成特殊矩阵的方法。6. 掌握矩阵分析的方法。7. 用矩阵求逆解线性方程组。二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。1.1 基本规则1.1.1 一般MATLAB命令格式为 输出参数1,输出参数2,=(命令名)(输入参数1,输入参数2,) 输出参数

2、用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。 1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。1.1.3 可用、键来重现已输入的数据或命令。用、键来移动光标进行修改。1.1.4 所有MATLAB命令都用小写字母。大写字母和小写字母分别表示不同的变量。1.1.5 常用预定义变量,如pi 、Inf、NaN、ans1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。如 MATLAB书写格式为A=1 2 3 ;4 5 6 ;7 8 9 在MATLABZ中运行如下程序可得到A矩阵 a=1 2 3;4 5 6;7 8 9

3、 a = 1 2 3 4 5 6 7 8 91.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。 运行下面两种格式可以看出它们的区别:a=1 2 3;4 5 6;7 8 9 a=1 2 3;4 5 6;7 8 9;a= 1 2 3 不显示结果 4 5 6 7 8 91.1.8 当输入语句过长需要换行时,应加上“”后再回车,则可续行输入。1.2 文件管理常用命令1.2.1 帮助(HELP)命令 MATLAB有很多命令,因此很不容易记忆。使用HELP命令可以得到有关命令的屏幕帮助信息。如 在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及

4、相关的工具箱软件命令(请自行验证)。 而下面的格式可以得到指定命令的帮助信息,和详细说明。 help 命令名 1.2.2 save 命令该命令存储定义的变量或演算结果,也可以用来存储指定的变量。 命令格式为 save 文件名 变量名表 -append -ascii 1.2.3 what 命令 该命令可以在当目录下显示MATLAB文件和MAT数据文件1.2.4 dir 命令 显示当前目录下的所有文件.1.2.5 clear命令 如果输入 calear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入calear命令,则清除整个工作空间。 1.3 矩阵运算 MATLAB具有强大的

5、矩阵运算功能,这里我们只作简单介绍.1.3.1 在MATLAB中表示一个矢量要用方括号, 而列矢量的输入只需在行矢量输入格式基础上加转置符“”即可。 如 x=1 2 3;4 5 6 x = 1 2 3 4 5 6 而 x=1 2 3;4 5 6 (加转置符) x = 1 4 2 5 3 61.3.2 下面三条命令可以产生一个行矢量1 a=linspace(x,y,n) 2 a=x:n:y第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。其行矢量的起始值是x, 终值为y, 点数为n。第二条命令可以在对数空间产生一个值在10x至 10y之间等间隔的行矢量(一组数据)。

6、第三条命令产生x至y步长为n的行矢量。但是, 三个命令之间存在差别,下面的例子可以说明这一点。 例1 x=logspace(0,5,6) x = 1 10 100 1000 10000 100000 例2 x=linspace(0,10,11) x = 0 1 2 3 4 5 6 7 8 9 10 例3 x=0:1:10 x = 0 1 2 3 4 5 6 7 8 9 10 通过上面三个例子可以看出例一, 例二中n代表选取的点数。而在例三 中n则表示步长. 注意它们的区别。1.3.3 矩阵的加, 减, 乘, 除等, 和其它语言书写一样。 但要注意的是在运算 符前面加有“.”则表示是数组运算,为

7、对应元素的相应操作。 例4 请注意下面的不同情况. a=1 2;3 4; b=2 2;2 2;c=a*b c=a.*b c = c = 6 6 2 4 14 14 6 8 c=a/b c=a./b c = c = 1.0e+015 * 0.5000 1.0000 -2.2518 2.2518 1.5000 2.0000 -2.2518 2.25181.4 常见数学函数函 数 名数 学 计 算 功 能函 数 名数 学 计 算 功 能abs(x)实数的绝对值或复数的幅值floor(x)对x朝-方向取整acos(x)反余弦arcsingcd(m,n)求正整数m和n的最大公约数acosh(x)反双曲余

8、弦arccoshimag(x)求复数x的虚部angle(x)在四象限内求复数 x 的相角lcm(m,n)求正整数m和n的最小公倍数asin(x)反正弦arcsinlog(x)自然对数(以为底数)asinh(x)反双曲正弦arcsinhlog10(x)常用对数(以10为底数)atan(x)反正切arctanreal(x)求复数x的实部atan2(x,y)在四象限内求反正切rem(m,n)求正整数m和n的m/n之余数atanh(x)反双曲正切arctanhround(x)对x四舍五入到最接近的整数ceil(x)对x朝+方向取整sign(x)符号函数:求出x的符号conj(x)求复数x的共轭复数si

9、n(x)正弦sincos(x)余弦cossinh(x)反双曲正弦sinhcosh(x)双曲余弦coshsqrt(x)求实数x的平方根:exp(x)指数函数 tan(x)正切tanfix(x)对x朝原点方向取整tanh(x)双曲正切tanh例5:输入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 71.5 关系及逻辑运算 1.5.1 关系运算允许常量(或矩阵中的元素与元素) 之间的比较

10、. 如果比较结果为真,则答案为1, 否则为0. 常用的关系运算符如下: 大于 , = 等于 = 大于等于, = 不等于对于复数”=” 和”=” 既比较实部也比较虚部, 而其它运算仅比较实部。例6 比较 a=5:1:15 与 b=1 2 8 8 7 10 12 11 13 14 15 中的对应元素 是否相同,则运行下面程序a=5:1:15;b=1 2 8 8 7 10 12 11 13 14 15;y=a= =b y = 0 0 0 1 0 1 0 0 1 1 1 1.5.2 MATLAB有三个逻辑运算符. & 逻辑与 | 逻辑或 逻辑非在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算,

11、得到的结 果是具有同样元素的矩阵。例7 分别对下面两个矩阵进行逻辑运算. X=0 1;1 0; Y=0 0;1 0; X&Y ans = 0 0 1 0 X|Y ans = 0 1 1 0 X ans = 1 0 0 1 MATLAB在进行混合运算时, 其顺序为: 算术运算 关系比较 逻辑运算例8 计算 x&y+xy 时, 程序首先执行x+y运算, 然后将相加结果与y比较, 最后将比较结果和x作与运算,运行结果如下。 x=0 1;1 0; y=0 0;1 0; x&y+xy ans = 0 1 1 0四 实验内容和步骤熟悉MATLAB语言编程环境。在这一环境中,系统提供了许多编写,调试和执行M

12、ATLAB程序的便利工具。熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。1、 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。(1)(2),其中(3)2,已知,求下列表达式的值:(1) A+6*B和AB+I(其中I为单位矩阵)(2) A*B和A.*B(3) A3和A.3(4) A/B和BA(5) A,B和A(1,3,:);B23,设有矩阵A和B, ,(1)求它们的乘积C。(2)将矩阵C的右下角32子矩阵赋给D。(3)查看MATLAB工作空间的使用情况。4. 求100,999之间能被21整除的数的个数。提示:先利

13、用冒号表达式,再利用find和length函数。5.下面是一个线性方程组:1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6x1 x2 x3=0.95 0.67 0.52。(1) 求方程的解。 (2) 将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。A=1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6; b=0.95 0.67 0.52; x=inv(A)*b x = 1.2000 0.6000 0.6000 b2=0.95 0.67 0.53; x2=inv(A)*b2 x2 = 3.0000 -6.6000 6.6000

14、五 写出实验总结报告实验二 选择结构程序设计一、实验目的1. 掌握建立和执行M文件的方法。2. 掌握利用if语句实现选择结构的方法。3. 掌握利用switch语句实现多分支选择结构的方法。二、实验环境1计算机 2装有MATLAB6.0以上计算机一台三 实验原理1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1end elseif 逻辑表达式2 语句体2(2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体nend end 2) switch 分支

15、语句:switch 表达式(标量或字符串) case 值1 语句体1 case 值2 语句体2 otherwise 语句体nend说明:当表达式不是“case”所列值时,执行otherwise语句体。四 、实验内容1. 求下列分段函数的值。 要求:用if语句实现,分别输出x= -5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0 时的y值。 提示:x的值从键盘输入,可以是向量。2. 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E 。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求:分别用if语句和switch语句实现。3. 硅

16、谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%。 (2) 工作时数低于60小时者,扣发700元。 (3) 其余按每小时84元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。五 写出实验总结报告实验三 循环结构程序设计一、实验目的1. 掌握利用for语句实现循环结构的方法。2. 掌握利用while语句实现循环结构的方法。3. 熟悉利用向量运算来代替循环操作的方法。二、实验环境1计算机 2装有MATLAB6.0以上计算机一台三 实验原理1). 无条件循环当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 :

17、 表达式3 语句体end说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。例1: 例2:矩阵输入程序生成34阶的Hiltber矩阵。 m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(输入第,num2str(i),行,第,num2str(j),end 列元素) A(i, j) = input ( ) end end 2) while循环语句while循环的一般使用形式

18、为:while 表达式 语句体end例3:用迭代法计算多项式方程= 0的一个实根。 解:x0=3;r=1;n=0;while r 1e-5 x1=x0; x0=3+5/x1.2; r=abs(x0-x1); n=n+1;end,x0,n运行结果为:x0 = 3.4260n = 9四 实验内容和步骤(一)验证例题中的操作。(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2.根据,求的近似值。当n分别取100、1 000、10 000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现

19、。3.根据. ,求:(1)y右三角11、三维图形绘制函数plot3函数与plot函数的用法类似。还可以用mesh函数绘制三维网格图;用surf函数绘制三维曲面图。MATLAB提供了丰富的三维绘图函数,可以通过help命令查看。 例6 绘制三维曲线:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title(line in 3-D space);xlabel(X) ;ylabel(Y);zlabel(z);grid on运行结果如下:四 实验内容和步骤1.设y=,在x=2区间取101点,绘制函数的曲线.2.已

20、知,完成下列操作:(1)在同一坐标系下用不同的颜色和线性绘制三条曲线。(2)以子图形式绘制三条曲线。(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。3已知在-5区间绘制函数曲线。4.绘制曲面图形,并进行插值着色处理。 五 写出实验总结报告实验六 SIMULINK基本操作一 实验目的学会SIMULINK仿真基本操作二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理1. 在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。 也可以通过MATLAB主窗口的快

21、捷按钮来打开Simulink Library Browser窗口。2. SIMILINK模块库按功能进行分为以下8类子库: Continuous(连续模块) Discrete(离散模块) Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块)3. 简单模型的建立(1)建立模型窗口(2)将功能模块由模块库窗口复制到模型窗口(3)对模块进行连接,从而构成需要的系统模型4. 功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。q 模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。q 在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。1) 移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。2) 复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。3) 删除:选中模块,按Delete键即可。4) 转向:为了能够顺序连接功能模块的输入和输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论