MATLAB实验指导书前言MATLAB程序设计语言是一种高性能的、用于科学和技术计算的计算机语言。
它是一种集数学计算、分析、可视化、算法开发与发布等于一体的软件平台。
自1984年MathWorks公司推出以来,MATLAB以惊人的速度应用于自动化、汽车、电子、仪器仪表和通讯等领域与行业。
MATLAB有助于我们快速高效地解决问题。
MATLAB相关实验课程的学习能加强学生对MATLAB程序设计语言理解及动手能力的训练,以便深入掌握和领会MATLAB应用技术。
目录基础型实验............................................................................................ - 1 - 实验一MATLAB集成环境使用与基本操作命令练习 ............. - 1 - 实验二MATLAB中的数值计算与程序设计 ............................. - 7 - 实验三MATLAB图形系统 ......................................................... - 9 -基础型实验实验一 MATLAB 集成环境使用与基本操作命令练习一 实验目的熟悉MATLAB 语言编程环境;熟悉MATLAB 语言命令二 实验仪器和设备装有MATLAB7.0以上计算机一台三 实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。
它提供了各种矩阵的运算与操作,并有较强的绘图功能。
1.1 基本规则1.1.1 一般MATLAB 命令格式为[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。
1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。
1.1.3 可用↑、↓键来重现已输入的数据或命令。
用←、→键来移动光标进行修改。
1.1.4 所有MATLAB 命令都用小写字母。
大写字母和小写字母分别表示不同的变量。
1.1.5 常用预定义变量,如pi 、Inf 、NaN 、ans1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。
如⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A MATLAB 书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLAB 中运行如下程序可得到A 矩阵a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 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 67 8 91.1.8 当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。
1.2 文件管理常用命令1.2.1 帮助(HELP)命令MATLAB有很多命令,因此很不容易记忆。
使用HELP命令可以得到有关命令的屏幕帮助信息。
如在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令(请自行验证)。
而下面的格式可以得到指定命令的帮助信息,和详细说明。
help 命令名1.2.2save 命令该命令存储定义的变量或演算结果,也可以用来存储指定的变量。
命令格式为save 文件名[变量名表] [-append] [-ascii]1.2.3 what 命令该命令可以在当目录下显示MATLAB文件和MAT数据文件1.2.4 dir 命令显示当前目录下的所有文件.1.2.5clear命令如果输入calear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入calear命令,则清除整个工作空间。
1.3矩阵运算MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.1.3.1在MATLAB中表示一个矢量要用方括号,而列矢量的输入只需在行矢量输入格式基础上加转置符“’”即可。
如x=[1 2 3;4 5 6]x =1 2 34 5 6而x=[1 2 3;4 5 6]'(加转置符)x =1 42 53 61.3.2下面三条命令可以产生一个行矢量1a=linspace(x,y,n)2a=logspace(x,y,n)3a=[x:n:y]第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。
其行矢量的起始值是x, 终值为y, 点数为n。
第二条命令可以在对数空间产生一个值在10x至10y之间等间隔的行矢量(一组数据)。
第三条命令产生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 例3x=[0:1:10]x =0 1 2 3 4 5 6 7 8 9 10通过上面三个例子可以看出例一, 例二中n代表选取的点数。
而在例三中n则表示步长. 注意它们的区别。
1.3.3矩阵的加, 减, 乘, 除等, 和其它语言书写一样。
但要注意的是在运算符前面加有“.”则表示是数组运算,为对应元素的相应操作。
例4 请注意下面的不同情况.a=[1 2;3 4];b=[2 2;2 2];c=a*b c=a.*bc = c =6 6 2 414 14 6 8c=a/b c=a./bc = c =1.0e+015 * 0.5000 1.0000-2.2518 2.2518 1.5000 2.0000-2.2518 2.25181.4 常见数学函数例5:输入x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则:ceil(x)= -4 -2 0 2 5 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 71.5 关系及逻辑运算1.5.1 关系运算允许常量(或矩阵中的元素与元素) 之间的比较. 如果比较结果为真,则答案为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==by =0 0 0 1 0 1 0 0 1 1 11.5.2MATLAB有三个逻辑运算符.& 逻辑与| 逻辑或~ 逻辑非在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算, 得到的结果是具有同样元素的矩阵。
例7 分别对下面两个矩阵进行逻辑运算.X=[0 1;1 0]; Y=[0 0;1 0];X&Yans =0 01 0X|Yans =0 11 0~Xans =1 00 1MATLAB在进行混合运算时, 其顺序为:算术运算→ 关系比较→ 逻辑运算例8 计算x&y+x>y 时, 程序首先执行x+y运算, 然后将相加结果与y比较, 最后将比较结果和x作与运算,运行结果如下。
x=[0 1;1 0];y=[0 0;1 0];x&y+x>yans =0 11 0四实验内容和步骤熟悉MATLAB语言编程环境。
在这一环境中,系统提供了许多编写,调试和执行MATLAB程序的便利工具。
熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。
(一)熟悉Matlab的运行环境以及HELP命令,运行demo命令,观看matlab 所具有的功能。
(二)验证例题中所有操作。
(三)完成以下各题,并在机器上运行结果验证。
1.输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/AB./A2.输入C=1:2:20,实验二MATLAB中的数值计算与程序设计一实验目的:完成MATLAB下数据分析与程序设计有关问题的练习。
学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。
学习全局和局部变量的使用,流程控制结构,函数编写及其调试。
二实验仪器和设备装有MATLAB7.0以上计算机一台三实验原理1. 常用运算命令例1 求a=S^3+2S^2+3S+4根.a=[1 2 3 4];roots(a)ans =-1.6506-0.1747 + 1.5469i-0.1747 - 1.5469i或roots([1 2 3 4])ans =-1.6506-0.1747 + 1.5469i-0.1747 - 1.5469i例2 已知某多项式的根如下-1.6506-0.1747 + 1.5469i-0.1747 - 1.5469i 求该多项式.poly([-1.6506,-0.1747+1.5469i,-0.1747 - 1.5469i]) ans =1.00002.00003.00014.0001 即所求多项式为 S^3+2S^2+3S+4 . 2. 建立M 文件将多个可执行...的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB 命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。
这个后缀为.m 的文件,也称为Matlab 的脚本文件(Script File)。
注意:文件存放路径必须在Matlab 能搜索的范围内。
3. 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function ,以备用户随时调用。
1.格式:function [输出变量列表]=fun_name(输入变量列表) 用户自定义的函数体2.函数文件名为:fun_name ,注意:保存时文件名...与函数名...最好相同; 3.存储路径:最好在系统的搜索路径上。
4. 调用方法:输出参量=fun_name (输入变量) 例5:计算s = n!,在文本编辑器中输入:function s=pp(n);s=1;for i=1:n s=s*i; end s;在MATLAB 命令窗口中输入:s=pp(5)结果为: s = 1203.求下列表达式的值。