首页 matlab实验指导书

matlab实验指导书

举报
开通vip

matlab实验指导书《MATLAB 基础 》 实验指导书 前言 MATLAB 是一种集数值计算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。为了配合学生上机实践,更好掌握 MATLAB 的基本使用技能,了解 MATLAB 的编程风格,以及将所学课程与MATLAB实践相结合,特别编写了本实验讲义。其主要内容包括:MATLAB入门及基...

matlab实验指导书
《MATLAB 基础 》 实验指导书 前言 MATLAB 是一种集数值计算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。为了配合学生上机实践,更好掌握 MATLAB 的基本使用技能,了解 MATLAB 的编程风格,以及将所学课程与MATLAB实践相结合,特别编写了本实验讲义。其主要 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 包括:MATLAB入门及基本操作,矩阵的使用及数据可视化方法,脚步文件及函数的编写,以及Simulink仿真模块的使用等。 MATLAB内容丰富,内嵌了许多功能函数。为了方便课堂教学使用,也顾及查阅功能,在书后的索引中按照功能函数对常见MATLAB函数进行了分类,以备读者查阅需要。由于编者水平有限,书中难免存在不妥之处,恳请广大读者指正。同时,我们也会在适当时间进行修订和补充。 目录 实验一  熟悉MATLAB环境    4 实验二  数值数组创建、应用及可视化    7 实验三  字符串数组的使用、简单脚本文件和函数的编写    10 实验四  数据可视化方法    15 实验五  简单数据 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析     19 实验六  简单图形用户界面 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计     21 附录  MATLAB主要函数指令表(按功能分类)    23 实验一  熟悉MATLAB环境 [实验目的] 1 .熟悉 MATLAB 主界面,并学会简单的菜单操作。 2 .学会简单的矩阵输入与信号输入。 3 .掌握部分绘图函数。 [实验原理] MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。 用户第一次使用 MATLAB 时,建议首先在屏幕上键入 demo 命令,它将启动 MATLAB 的演试程序,用户可在此演示程序中领略 MATLAB 所提供的强大的运算与绘图功能。也可以键入 help 进行进一步了解。  MATLAB 启动界面如图所示: 操作界面主要的介绍如下: 指令窗( Command Window ),在该窗可键入各种送给 MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。 历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生 M 文件。 工作空间浏览器( Workspace Browser ),该窗口罗列出 MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。 其它还有当前目录浏览器( Current Directory Browser )、 M 文件编辑 / 调试器( Editor/Debugger )以及帮助导航 / 浏览器( Help Navigator/Browser )等,但通常不随操作界面的出现而启动。 利用 File 菜单可方便对文件或窗口进行管理。其中 File | New 的各子菜单, M-file ( M 文件)、 Figure (图形窗口)、或 Model ( Simulink 编辑界面)分别可创建对应文件或模块。 Edit 菜单允许用户和 Windows 的剪切板交互信息。 MATLAB 语言最基本的赋值语句结构为:变量名列表 = 表达式。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“ = ”省略,则 ans 变量将自动建立,例如键入: 1900/81 ,得到输出结果: ans =23.4568 。 MATLAB 中变量命名的原则要求必须以英文字母开头,文件夹名字中可以还包括、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行 MATLAB 中一些莫名的错误可能就是不规范的命名引起的。这种规则包括将来为自己编写的脚本文件、函数文件命名以及为使用的变量命名也应遵循这个规则。 [实验内容] 一.用户工作目录和当前目录的建立和设置 1 .为管理方便,每个用户在使用 MATLAB 前,尽量为自己建立一个专门的工作目录,即“用户目录”,用来存放自己创建应用文件。例如首先打开资源管理器,在 E 驱动器下可以根据自己喜好建立一个新文件夹,但应注意:该文件夹必须以英文开头,文件夹名字中可以包括字母、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行 MATLAB 中一些莫名的错误可能就是不规范的命名引起的,这与 MATLAB 中为变量和文件名命名原则是一致的。尽管 MATLAB\work 允许用户存放用户文件,但最好把它仅作为临时工作目录来使用。 2 .为了用户运行方便,在开始工作前可把用户定义的目录设置为当前目录,方法是可直接在 MATLAB 命令窗口桌面上方通过目录设置栏来实现。 3 .把自己的工作目录加到 MATLAB 搜索路径上,这样可以在任何情况下方便地调用自己的编写文件。 MATLAB 工作时,基本搜索过程为:首先在工作空间,即 MATLAB 内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如 sin 函数等);如不是,则在当前目录上,检查是否有与输入指令相同的 M 文件存在;如还没有,则在 MATLAB 定义的搜索路径其他目录中,检查是否有该 M 文件存在。设置方法是通过 File 菜单下设置路径对话框进行。 二.熟悉简单的矩阵输入 1 .从屏幕上输入矩阵 A=[1 2 3 ;4 5 6;7 8 9] 回车 A=[1,2,3;4,5,6;7,8,9] 回车 观察输出结果。 2 .试用回车代替分号,观察输出结果。 3 .输入 size(A) ,观察结果。 4 .输入矩阵 B=[9,8,7;6,5,4;3,2,1];回车 输入矩阵 C=[4,5,6;7,8,9;1,2,3];回车,然后分别键入 A B C 回车观察结果。 5 .选择 File | new 菜单中的M-file ,输入 B=[9,8,7;6,5,4;3,2,1] ;保存为 B.M 文件,退出编辑环境。此时在工作环境中使用 B 命令就可调出 B 矩阵。 6 .再试着输入一些矩阵,矩阵中的元素可为任意数值表达式,但注意 : 矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。 7 .输入 who 和 whos 观察结果,了解其作用。 二.常用基本命令的使用 数据文件的存取训练:利用 save 和 load 指令可以方便地把当前工作空间的数据变量保存为数据文件。接题一,输入: save a 回车,表示把当前工作空间的所有变量保存为 a.mat 文件。输入 save a A C 回车,表示把当前内存中的变量 A 、 C 保存为 a.mat 文件。类似的还有 load 命令,实现保存数据变量的装载,执行 clear 命令,然后运行 load a 回车,观察工作空间的变化。 save 、 load 、 clear 命令还有一些其他的应用格式,具体可参看帮助文件。 三.基本序列运算 1 .数组的加减乘除和乘方运算 2 .输入 A=[1 2 3] ,B=[4 5 6],求C=A+B,D=A-B,E=A.*B, F=A./B,G=A.^B, 并用 stem 画出A,B,C,D,E,G。再输入一些数组,进行类似运算。 3 .在命令窗口用 plot 指令粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为 0.001,可参看下面的a的实例来实现,数学函数 MATLAB 实现参见附录) a.       实现方法,在命令窗口执行一下指令,可简单描绘出函数曲线: t=0:.001:3; y=3-exp(-t); plot(t,y) b.   c.   d.   ( 在 MATLAB 中用pi来实现) f.         三. M 脚本文件编写初步用 M 文件编辑器编写脚本文件重新描绘上面函数波形。 实验二  数值数组创建、应用及可视化 [实验目的] 1 .掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别。 2 .掌握 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 数组生成函数和数组构造技法。 3 .进一步熟悉 M 脚本文件编写的方法和技巧。 [实验原理] 数值数组和数组运算 MATALB 核心内容,是 MATLAB 最重要的一种内建数据类型。通常,数组是由一组实数或复数排成的长方阵列 (Array ), 它可以是一维的“行”或“列”,可以是二维的“矩形”,也可是三维的若同维矩形的堆叠,甚至是更高的任意维。而数组运算是指无论在数组上施加什么运算 ( 加减乘除或函数 ), 总认定那种运算对被运算数组中的每个元素 (Element) 平等地时实施同样的操作。这使得计算程序简单、易读,使程序指令更接近教科书上的数学计算公式,并提高了程序的向量化程度,提高计算效率,节省计算机开销。 一维数组的创建可采用逐个元素输入法,这是最简单,但又最通用的构造方法,如: x=[2 pi/2 sqrt(3) 3+5i]; 另外有规律的产生数组可以采用冒号生成法,通用格式是 x = a : inc : b,a 是数组的第一个元素, inc是采样点之间的步长。若( b-a )是inc的整数倍,则生成数组的最后一个元素是b, 否则小于b 。或者采用定数线性采样法,该法是在设定“总点数”下,均匀采样生成一维“行”数组。格式为 x = linspace ( a ,b ,n ) , a 、 b 分别是生成数组的第一个各最后一个元素 ,n 是采样总点数,该指令生成( 1×n )数组。 二维数组是由实数或复数排列成矩形而构成的。从数据结构上看,矩形和二维数组没有什么区别。当二维数组带有线性变换含义时,该二维数组就是矩阵。二维数组的创建也可采用直接输入法,或者利用构造 M 文件创建和保存数组。 除此以外,还可以采用 MATLAB 提供的标准函数生成我们需要的数组,诸如 zeros 、 ones 、 rand 、 eye 、 diag 、 magic 等,详请见附录。 一维数组元素的寻访和标识采用 X(index) 方法,只是要注意 MATLAB 中第一个元素下标 index 是 1 ,而不是 C 语言中的 0 。二维数组元素的标识和寻访可分为“全下标”标识和“单下标”标识,“全下标”标识,即指出是“第几行,第几列”的元素,如 A(3,5) 表示二维数组 A 的第三行第五列元素。该标识法的优点是几何概念清楚,引述简单,在 MATLAB 的寻址和赋值中最为常用。“单下标”标识,顾名思义就是只用一个下标来指明元素在数组中的位置,首先对二维数组的所有元素进行“一维编号”。“一维编号”是指:先设想把二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”,然后自上往下对元素未知进行编号,其优点是简洁、方便,特别是如果碰到对二维数组进行诸如 for 循环操作时可以减少循环次数,提高编程效率。“全下标”标识和“单下标”标识可以通过 sub2ind 和 ind2sub 指令进行转换,详见帮助。另外,不论二维数组还是一维数组还可以采用“逻辑 1 ”标识,这种方法常用于寻找数组中所有大于或小于某值的元素的问题中。比如 X(abs(X)>3) 可以找出数组 X 中所有绝对值大于 3 的元素。另外还可以借助 ones, zeros, rand, randn 和 cat, repmat, reshape 等函数直接或间接构作高维数组,详见附录或 MATLAB 帮助。 Matlab中的许多函数可以直接对任意维的数组直接运算,相当于对数组中的每个元素分别进行运算。比如 Y=sin(X) 可以直接得到与数组 X 中每一个元素相对应的的正弦值,这大大简化了编程。可以执行数组运算的常用函数已经列表于附录中,以供参考。但值得注意的是,虽然从外观形状和数据结构上看,二维数组和(数学中的)矩阵)没有区别,但矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。数组运算是 MATLAB 软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。为了区别数组和矩阵运算,在易混淆的地方,数组运算在运算符前加一小黑点“ . ”以示区别,比如 Y=A.*B ,代表的示数组 A 和数组 B 对应元素相乘,而 Y=A*B ,则表示内维相同的矩阵 A 和 B 的乘积。由此也可看出,在执行数组与数组的运算时,参与运算的数组必须同维,运算所得结果也总与原数组同维。 本节只涉及数组可视化方法的简单实现。通常,对于离散数据可采用 stem 命令或者使用 plot 绘点的方法,而对于连续函数可直接采用 plot 指令来实现。 [实验内容] 一.数组的创建和寻访 1 .一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释,不用输入。 rand('state',0)        % 把均匀分布伪随机发生器置为 0 状态 x=rand(1,5)        % 产生(1*5)的均布随机数组 x(3)              % 寻访数组 x 的第三个元素。 x([1 2 5])          % 寻访数组 x 的第一、二、五个元素组成的子数组。 x(1:3)              % 寻访前三个元素组成的子数组 x(3:end)            % 寻访除前 2 个元素外的全部其他元素。end 是最后一个元素的下标。 x(3:-1:1)            % 由前三个元素倒排构成的子数组 x(find(x>0.5))        % 由大于 0.5 的元素构成的子数组 x([1 2 3 4 4 3 2 1])    % 对元素可以重复寻访,使所得数组长度允许大于原数组。 x(3) = 0            % 把上例中的第三个元素重新赋值为0。 x([1 4])=[1 1]        % 把当前 x 数组的第一、四个元素都赋值为1。 x[3]=[]            % 空数组的赋值操作 2 .二维数组 (1) 在命令窗口执行下面指令,观察输出结果 a=2.7358; b=33/79;  % 这两条指令分别给变量 a , b 赋值。 C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]    % 这指令用于创建二维组C M_r=[1,2,3;4,5,6],M_i=[11,12,13;14,15,16]      % 创建复数数组的另一种方法 CN=M_r+i*M_i                            % 由实部、虚部数组构成复数数组 (2) 利用 M 文件创建和保存下面的数组(分号后面是一个空格后加3个小数点,表示换行续写) AM=[101,102,103,104,105,106,107,108,109;... 201,202,203,204,205,206,207,208,209;... 301,302,303,304,305,306,307,308,309]; (3) 仿照问题 1 中方法找出数组 中所有绝对值大于 3 的元素。 (4)在命令窗口执行下面指令,体味二维数组的子数组寻访和赋值 A=zeros(2,4)          % 创建(2*4)的全零数组 A(:)=1:8            % 全元素赋值方式 s=[2 3 5];            % 产生单下标数组行数组 A(s)                % 由“单下标行数组”寻访产生 A 元素组成的行数组 Sa=[10 20 30]’      %Sa 是长度为 3 的“列数组” A(s)=Sa              % 单下标方式赋值 A(:,[2 3])=ones(2)      % 双下标赋值方式:把 A 的第2 、3列元素全赋为1 (5) 运行指令 rand(‘state ’,11),A=rand(3,10000);B=(A>0.5);C=2*B-1; 首先预测( C*C’)/100 的运行结果,然后再在机器上验证。(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。) (6) 在命令窗口执行下面指令,体味数组运算与矩阵运算的区别 clear ;A=zeros(2,3); A(:)=1:6;            % 全元素赋值法 A=A*(1+i)          % 运用标量与数组乘产生复数矩阵 A_A=A.'            % 数组转置,即非共轭转置,其中单引号实现转置功能 A_M=A'            % 矩阵转置,即共轭转置 二.编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在 及 处削顶。 图 1 可能用到的额外指令: find 、 hold on 、 hold off 、 legend ,具体使用方法使用 help+指令名来解答。 实验三  字符串数组的使用、简单脚本文件和函数的编写 [实验目的] 1 .掌握字符串数组的创建和构造方法及常用字符串函数的使用。 2 .熟练掌握 MATLAB 控制流的使用方法。 3 .熟悉 M 脚本文件、函数文件的编写方法和技巧。 [实验原理] 与数值数组相比,串数组在 MATLAB 中的重要性较小,但不可缺少。如果没有串数组及相应的操作,那么数据可视化、图形用户界面的制作将会遇到困难。字符串与数值数组是两种不同的数据类,它们的创建方式也不同。字符串的创建方式是:将待建的字符放在“单引号对”中。注意,“单引号对”必须是在英文状态下输入,其作用是 MATLAB 识别送来内容“身份”所必需的,如 A= ’ This is an example! ’;就创建了一个字符串 A 。注意创建带单引号的字符串时,每个单引号符用“连续2个单引号符”标识。字符串的标识同数值数组同,而且也可以使用 size 指令观察串数组的大小。串数组的 ASCII 码可以通过指令 abs 和 double 来获取,而用 char 指令可以把 ASCII 码变为串数组,另外, MATLAB 可以很好的支持中文字符串数组。对于复杂串数组的创建,一是可以直接创建,但是要保证同一串数组的各行字符数相等,即保证各行等长,不推荐,太繁琐。二是可以利用串操作函数创建多行数组,比如 char, str2mat, strvcat 等,具体操作自己通过帮助体会。另外还可以通过转化函数产生数码字符长,比如 A_str=int2str(A) 就是把整数数组 A 转换成串数组,如果是非整数将被四舍五入后再转换,类似的函数还有 num2str (把非整数数组转换为串数组,常用于图形中数据点的标识)、 mat2str (把数值数组转换成输入形态的串数组,常与 eval 指令配用)。 假如想灵活运用 MATLAB 去解决实际问题,想充分调动 MATLAB—— 科学技术资源,想理解 MATLAB 版本升级所依仗的基础,那么掌握 M 脚本文件合函数的编写规则将十分有用。 用户通过本次实验,感受抽象概念的内涵、各指令间的协调,从感知上领悟 MATLAB 编程的优越和要领。 编写 M 脚本文件的步骤: 点击 MATLAB 指令窗工具条上的 New File 图标 ,就可打开如上图所示的 MATLAB 文件编辑调试器 MATLAB Editor/Debugger 。其窗口名为 untitled ,用户即可在空白窗口中编写程序。 点击编辑调试器工具条图标 ,在弹出的 Windows 标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如 newfile.m ),点动 【 保存 】 键,就完成了文件保存。 运行可有两种方法,一种是直接点击编辑调试工具条图标 ,即可直接运行;或者使 newfile.m 所在目录成为当前目录,或让该目录处在 MATLAB 的搜索路径上 , 然后在命令窗口键入指令 newfile +回车,便可得到运行结果。 调试程序方法有多种,常见的是设置断点的方法,将光标移到程序欲执行到的位置,点击编辑调试工具条图标 ,保存后运行,程序将停止在该语句位置并弹出编辑器界面等待用户下一步运行的指令,只有再次点击按钮 ,才继续向下执行。相应的按下按钮 ,表示清除所有断点。如果不设置断点,也可以在程序中加入 pause 指令,使得程序在此处暂停,只有用户按任意键程序才依次向下执行。则在 pause 指令的前面位置我们可以通过交互的方式得到我们想要的信息,以检测程序的正确性。 编写 MATLAB 脚本文件或函数文件时要区分开与 C 语言格式的不同。 MATALB 使用变量前不需要声明数据类型,对于所有的数值型数据 MATLAB 均以 Double 型存储。另外编程时尽量使用 MATLAB 向量(数组)编程方式,可大大提高编程效率,尽量避免过多使用 for 循环等语句。 MARLAB 提供了五种控制流的结构: for 循环结构, while 循环结构, if-else-end 分支结构,以及 switch-case 结果、 try-catch 结构。这些控制指令用法与其他语言十分类似,这里只给出简要说明。 For 循环:                             while 循环结构 if-else-end 结构 单分支(常用)             双分支(常用)            多分支(常被switch-case取代) 上面几条控制语句中,for 循环结构中x 称为循环变量,组命令(commands) 被称为循环体,循环体被重复执行的次数是确定的,该次数由for指令后面的数组array的列数 决定 郑伟家庭教育讲座全集个人独资股东决定成立安全领导小组关于成立临时党支部关于注销分公司决定 。换言之,循环变量依次取数组的各列,对于每个变量值,循环体被执行一次。 while 循环是首先检测 expression 的值,如其值为逻辑真(非0),则执行组命令,当组命令执行完毕,继续检测表达式的值,仍为真,循环执行组命令,一旦表达式值为假,就结束循环。一般情况下,表达式的值是标量值,但MATLAB允许其为一个数组,此时只有该数组所有元素均为真时,MATLAB才会执行循环体。若表达式为空数组,则不执行循环体。 if指令判决和break指令的配合使用,可以强制中止for循环或while循环。 switch-case 结构                         try-catch 结构 switch指令后面的表达式应为一个标量或者为一个字符串。对于标量形式的表达式,比较这样进行:表达式==检测值i。对于字符串,MATLAB将调用函数strcmp来实现比较:strcmp(表达式,检测值i)。 try-catch结构,只有当MATLAB在执行组命令1时出现错误后,组命令2才会被执行。当执行组命令2时又出错,MATLAB将中止该结构。 随指令数的增加或随控制流复杂度的增加,以及重复计算要求的提出,采用M脚本文件进行编程较为适宜。这种脚本文件的构成比较简单,它是一串按照用户意图排列而成的MATLAB指令集合。脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间中,只要用户不使用clear指令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存在基本工作空间中。 脚本文件不同的,函数文件犹如一个“黑箱”。从外界只能看到传给它的输入量和送出的计算结果,而内部运作是藏而不见的,特点是: 从形式上看,与脚本文件不同,函数文件的第一行总是以“function”引导的“函数声明行”。该行还罗列出函数与外界的联系的全部“标称”输入输出宗量。但对“输入输出宗量”的标称数目并没有限制,即可以完全没有输入输出宗量,也可以是任意数目。形如function sa=circle(r,s) 。这里r、s称为输入宗量,sa称为输出宗量,函数名为circle,同时注意保存的函数文件名应与这里的函数名一致,即存为circle.m文件。 MATLAB 允许使用比“标称”数目较少的输入输出宗量实现对函数的调用,但前提是函数中应该有相应的处理程序。 从运行上看,与脚本文件不同,每当函数文件运行时,MATLAB就会专门为它开辟一个临时的工作空间,称之为函数工作空间。所有中间变量都存放在函数工作空间中。当执行完文件最后一条指令或遇到return时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。 假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放在该函数空间中,而不是存放在基本空间。 [实验内容] 一.串数组的创建和寻访 1 .先请实际操作下例,以体会数值量与字符串的区别 clear               % 清除所有内存变量 a=12345.6789       % 给变量 a 赋数值标量 class(a)          % 对变量 a 的类别进行判断 a_s=size(a)         % 数值数组 a 的“大小” b='S'             % 给变量 b 赋字符标量(即单个字符) class(b)          % 对变量 b 的类别进行判断 b_s=size(b)                 % 符号数组 b 的“大小 whos                    % 观察变量 a,b 在内存中所占字节 2 .已知串数组 a=”This is an example.”, 试将其到序输出。 3 .接上题,试执行ascii_a=double(a),观察其ASCII码,并将ASCII码变回字符串。 4 .设A=”这是一个算例”,重复上面的2-3。 5 .尝试用直接输入法在命令窗口创建字符串 s ,第一行时“ This string array ” , 第二行是“ has multiple rows. ”。 6 .利用串操作函数char、str2mat、strvcat分别写出使以下这段文字成为字符串的程序,注意保持这段文字的格式。 在英式用法中,引号通常是单引号,如‘Fire!’。 In GB usage quotation marks are usually single: ’Fire!’ . 二.脚本文件实现 ,并在图上标出图名和极大值点坐标。如下图所示。 可能用到的函数: num2str, char, text, hold on, 具体应用自己查找 help 文档。 三.编程实现分别用 for 或 while 循环语句计算: 的程序,并给出运行结果。此外,实现一种避免使用循环的的计算程序。 四.函数文件 1 .详读并运行下面的circle.m函数文件。体会 M 函数文件的编写结构及方法。 % 后面的内容称为注释行,不被执行,起注释说明作用。 2 .编写一个简单的函数文件,它具有如下性质:该函数被调用时,如果不指定输入变量,则自动输出“用户,你忘记给定输入变量了!”;当输入大于1的整数时,则输出“你是一个合法用户!”;当输入的是一个非正整数时,函数文件会给出一个错误提示“你是非法用户!” 【 提示:可能用到 disp,error 等指令,使用方法自己查询帮助 】 实验四  数据可视化方法 [实验目的] 1 .掌握曲线绘制的基本技法和指令,会使用线形、色彩、数据点标记表现不同数据的特征,掌握生成和运用标识注释图形。 2 .进一步掌握函数编写及数据可视化方法。 [实验原理] MATLAB 提供了相当强大的可视化指令,通过这些指令,我们可以非常简单地实现数据的可视化。首先我们来看离散数据和离散函数的可视化方法。对于离散实函数 ,当 以递增(或递减)次序取值时,根据函数关系可以求得同样数目的 ,当把这两组向量用直角坐标中的点次序图示时,就实现了离散函数的可视化。当然这种图形上的离散序列所反映的只是某确定的有限区间内的函数关系,不能表现无限区间上的函数关系。通常我们可以采用plot或者stem来实现。只是需要注意的是使用plot时,需要使用星号或者点等标识来表示数据点,比如plot(xn ,yn ,’r*’,’MarkerSize’,20),就表示用字号 20 的红色星点来标识数据点 , 此时为了便于观察,通常随后加上一条语句“grid on”,即给图形加上坐标方格。而采用 stem 标识数据点的格式是 stem(xn ,yn ) 。 连续函数的可视化与离散函数可视化类似,也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据点”用点图示。但这些离散的点不能表现函数的连续性。为了进一步表示离散点之间的函数函数情况,MATLAB有两种常用处理方法:一是对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;或者把两点用直线连接,近似表现两点间的(一般为非线性的)函数形状。但要注意,倘若自变量的采样点不足够多,则无论哪种方法都不能真实地反映原函数。对于二维数据,常用指令仍旧是plot。对于离散数据,plot指令默认处理方法是:自动地把这些离散数据用直线(即采用线性插值)连接,使之成为连续曲线。对于三维图形的表示,通常有plot3等指令。 通常,绘制二维或三维图形的一般步骤如下表所示:   步骤 典型指令 1 曲线数据准备 先取一个参变量采用向量 然后计算各坐标数据向量 t=0:.001:3*pi; % 参变量采用向量 t=linspace(0,3*pi,1000) % 参变量采用向量另种方式 y=f(t); % 计算相应的函数值 2 选定图形窗及子图位置 缺省时,打开Figure No.1,或当前窗,当前子图 可用指令指定图形窗号和子图号 figure(1) % 指定1号图形窗 Subplot(2,2,3) % 指定3号子图 3 调用二维或三维绘图指令 指定好线形、色彩、数据点形 plot(t,y,’r:’) % 用红虚点画二维线 , 画三维可 %plot3 指令,此处略 4 设置轴的范围、坐标分格线 axis([x1,x2 ,y1,y2 ]) % 平面坐标范围 grid on % 坐标分格线 5 图形注释:图名、坐标名、图例、文字说明等 title(‘调制图形’) % 图名 xlabel(‘t’); ylabel(‘y’) % 轴名 legend(sin(t),’sin(t)sin(9t)’) % 图例 text(2,0.5, ’y=sin(t)sin(9t)’) % 文字说明 6 着色、明暗、灯光、材质处理等(仅对三维图形使用) colormap, shading, light, material 7 视点、三度(横、纵、高)比(仅对三维图形使用) view, aspect 8 图形的精确修饰(图柄操作) 利用对象属性值设置 利用图形窗工具条进行 get, set 9 打印 图形窗上的直接打印选项或按键 利用图形后处理软件打印 % 采用图形窗选项或按键打印最简捷 print –dsp2 % 专业质量打印指令       说明: 步骤1、3是最基本的绘图步骤,一般来说,由这两步所画出的图形已经具备足够的表现力。至于其他步骤,并不完全必需。 用户可根据自己需要改变上面绘图步骤,并不必严格按照执行。 步骤2一般在图形较多情况下使用,此时需要指定图形窗、指定子图。 步骤8涉及图柄操作,需要对图形对象进行属性设置,较为复杂。 MATLAB 提供了交互式图形编辑功能,可方便地对图形精细修饰。 plot 等绘图指令的典型调用格式为: plot(t,y,’s’) 。其中s是用来指定线型、色彩、数据点形的选项字符串。S的合法取值如下所示,格式形如’r+’。如果缺省,此时线型、色彩、数据点形将由MATLAB默认设置确定。plot进一步的使用可参看帮助文档。 s可用来指定的线形分别有:“-”实线,“:”虚线,“-.”点划线,“--”双划线。 s可用来指定的色彩分别有:b-蓝,g-绿,r -红,c-青,y-黄, w-白,k-黑。 s可用来指定的数据点形有:“.”实心黑点,“+”十字符,“^”朝上三角符,“v”朝下三角符,“d”菱形符,“p”五角星符等。 常用的坐标控制指令axis使用是最多的,比如 axis([x1 ,x2 ,y1 ,y2]) 可人工设定坐标范围,axis off可取消轴背景,axis equal横纵轴采用等长刻度等。其他使用见帮助。 需要特别指出的是,当遇到在已经存在的图上再绘制一条或多条曲线,可使用hold on指令,可保持当前轴及图形保持不被刷新,并准备接收此后绘制的新曲线, hold off 则取消此功能。对于想画多个独立的图形,则会用到figure(n)指令,这里n为整数,可顺序从1向后排。如果想在特定图形中布置几幅独立的子图,则会用到 subplot(m,n,k) ,即在(m×n)幅子图中的第k幅成为当前图; subplot(‘position’,[left botton width height]) ,表示在指定位置上开辟子图,并成为当前图。使用clf指令可清除图形窗的内容。另外MATLAB还提供了ginput、gtext、legend等交换指令。 [x,y]=ginput(n),可用鼠标从二维图形上获取n个点的数据坐标(x,y),该指令只适用于二维图形 , 在数值优化、工程设计中十分有用。通常在使用前先对图进行局部放大处理。 [实验内容] 一.仿照运行,体会数据可视化方法。 1 .已知 , ,运行下面程序,体会离散数据可视化方法。 说明: plot和stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。 用户在运行上面例程时会发现在命令窗口出现警告:Warning: Divide by zero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序只是给该项赋值为inf 以做标记。 2 .下面时用图形表示连续调制波形 ,仿照运行,分析表现形式不同的原因。 二.编程实现。 1 .用图形表示连续调制波形 ,过零点及其包络线,如下图所示。 2 .编写函数 [x,n]=stepseq(n0,n1,n2), 实现: 并编写脚本文件实现: 要求在脚本文件中调用 stepseq 函数,最后绘出序列 在给定区间的波形图。 3 .编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1是长度为n1的序列,x2是长度为n2的序列,n1、n2 分别是x1、x2的位置信息(n1、 n2 均为整数),如: n1={ -3,-2,-1,0,1,2,3,4} ,对应的 x1={ 2, 3, 1,4,1,3,1,2} ; n2={-4,-3,-2,-1,0,1,2} ,对应的 x2={ 1, 3, 2, 5,1,3,4} 。 当调用函数 [y,n]=sigadd(x1,n1,x2,n2) 时,我们应该得到: n={-4,-3,-2,-1,0,1,2,3,4}, 对应的 y={ 1, 5, 5, 6,5,4,7,1,2} 。 仔细观察 sigadd 函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。 实验五  简单数据分析 [实验目的] 1 .初步掌握利用 MATLAB 实现数据的拟合、插值、简单数据分析等。 [实验原理] 数值计算能力是MATLAB称雄世界的根本柱石。MATLAB内建了很多函数可以求解线性方程、特征值问题以及有关多项式和卷积、数据分析、泛函、信号处理、系统分析等方面的指令。结合目前的学习进度,本课程内只简单讨论数据的拟合、插值、简单数据分析及在实验中讨论函数的零极点求法等内容,对其他内容有兴趣的可参看参考书籍。 MATLAB提供了拟合和插值的相关函数。曲线拟合是研究如何寻找“平滑”曲线最好地表现带噪声的“测量数据”点。而插值是在认定所给“基准数据”完全正确的情况下,研究如何“平滑”地估算出“基准数据”之间其他点的函数值。因此插值所得曲线一定穿过“基准数据”。而拟合曲线就不一定了。另外,拟合多项式只能在给定数据所限定的区间内使用,不要任意向往拓展。而每当基准数据之间其他点上函数值没法获得,或获得的代价很好时,插值就发挥作用。插值指令很多,有 interp1,interp2,interp3等。采用的插值算法也很多,如线形插值、三次多项式插值算法、样条插值等。对于多项式拟合有polyfit、poly2str、polyval等函数,具体请参看帮助和范例。 MATLAB内建了很多数据分析函数,比如常用的随机数发生器函数rand,randn; 计分析指令有:min-最小值,max-最大值,mediam-求中值 ,mean-平均值, std-标准差,sort-排序指令等。差分和累计函数diff、prod、sum等。另外MATLAB还提供了很多泛函指令、信号处理专业工具包、系统分析中的控制工具包以及诸如微分、求导等符号运算功能等等,有需要的可参看帮助及相关书籍。 [实验内容] 一.设计仿真通信原理中的M-FSK。 实验六  Simulink仿真初步 [实验目的] 1 .初步熟悉 MATLAB 仿真环境。 2 .掌握物理模型的建立、仿真方法。 [实验原理] Simulink交互式仿真集成环境是MATLAB最重要的组件之一,它提供了一个动态系统建模、仿真和综合分析的集成环境。它适用面广,可以处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统。在 Simulink 提供的图形用户界面 GUI 上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down )的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。从分析研究角度讲,这种Simulink模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。在 Simulink 环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、死区等非线性因素和各种随机因素对系统行为的影响。在Simulink环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。由于Simulink环境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。在 MATLAB 的命令窗运行指令Simulink便可打开Simulink模块库浏览器( Simulink Library Browser),点击Source子库,即可看到各种信源模块,包括信号发生器(Signal Generator)、正弦波信源模块( Sine Wave )、阶跃波信源模块(Step)等等。我们可以点击Simulink模块库浏览器上的新建( New )按钮,建立一个名为 untitled 的空白模型窗口。用鼠标点中所需的信源模块(如正弦波信源模块 Sine Wave ),直接拉至 untitled 窗,类似地,也可将信宿库 Sinks 中的示波器 Scope 拉至到模型窗,用鼠标连接好两个模块连线,就建立了一个简单的模型。诸如此类,我们可以利用其丰富的资源,建立各种仿真模型。其详细使用请参考相关书籍。 [实验内容] 一.下面是采用 Simulink 中的积分仿真模块求解从实际自然界(力学、电学、生态等)或社会中,抽象出初始状态为 0 的二阶微分方程 ) ( 2 . 0 4 . 0 2 . 0 t u x x x 的实例, ) (t u 是单位阶跃函数。请模拟搭建,并仿真运行。 【Simulink 对于今后 《 信号与系统 》 、 《 数字信号处理 》 以及电子、信号处理、通讯等相关专业的深入学习具有重要意义,具体使用方法还请参看 MATLAB 有关 Simulink 的相关专业书籍。 】 步骤如下: (1) 改写微分方程把原方程改写为 x x t u x 4 . 0 2 . 0 ) ( 2 . 0 (2) 利用 Simulink 库中的标准模块构作模型如下图所示 利用积分模块构造微分方程求解模型的核心思想是: ' ' x 经积分作用得到 ' x , ' x 再经积分模块作用就得 x 。上图中的 Int1 、 Int2 为积分模块,积分仿真模块形如。 Gs 、 G1 和 G2 为增益模块,形如, k 为增益参数,通过双击增益模块,设置其中 Gain 值实现。 G1 和 G2 方向旋转可借助菜单 【 Format : Rotate Block 】 选项实现。 u(t) 称为输入模块,此处为单位阶跃函数,其仿真模块为。称为求和模块,其设置方法是双击原始求和模块,图标形状 Icon shape 选择 rectangular ,使模块成矩形;符号列表 List of signs 设置为+ ―― 。 Scope 称为示波器,形如。以上模块大多位于 Simulink 模块组的 Continuous 、 Math 以及 Nonlinear 模块库中, Scope 位于 Sink 模块库。用户可自己在 Simulink 模块库中自行查找,借此了解 MATLAB 中 Simulink 的丰富资源。 (3) 设置仿真选项。选中菜单 【 Simulation : Parameters 】 ,打开仿真参数设置窗;在 Solver 页中,把仿真的停止时间 Stop time 设置为 20 。 (4) 仿真操作。双击示波器图标,打开示波窗。选择模型窗中的菜单 【 Simulation : Start 】 ,就可在示波窗中看到位移 x 的曲线。进一步,如果仿真的同时想把送入示波器的数据同时保存下来,还可以在上面的仿真模型中加入 To Workspace 模块,再配合 Clock 模块和 Mux 模块便可实现。用户可自行练习。二.仿照上例,对二阶方程 ) ( 5 . 0 4 . 1 3 . 0 t u x x x 建模仿真, ) (t u 是单位阶跃函数。 附录  MATLAB主要函数指令表(按功能分类) 1 常用指令(General Purpose Commands) 1.1 通用信息查询(General information) demo 演示程序 help 在线帮助指令 helpbrowser 超文本文档帮助信息 helpdesk 超文本文档帮助信息 helpwin 打开在线帮助窗 info MATLAB 和 MathWorks 公司的信息 subscribe MATLAB 用户注册 ver MATLAB 和 TOOLBOX 的版本信息 version MATLAB 版本 whatsnew 显示版本新特征     1.2 工作空间管理(Managing the workspace) clear 从内存中清除变量和函数 exit 关闭 MATLAB load 从磁盘中调入数据变量 pack 合并工作内存中的碎块 quit 退出 MATLAB save 把内存变量存入磁盘 who 列出工作内存中的变量名 whos 列出工作内存中的变量细节 workspace 工作内存浏览器     1.3 工作空间管理(Managing the workspace) edit 矩阵编辑器 edit 打开 M 文件 inmem 查看内存中的 P 码文件 mex 创建 MEX 文件 open 打开文件 pcode 生成 P 码文件 type 显示文件内容 what 列出当前目录上的 M 、 MAT 、 MEX 文件 which 确定指定函数和文件的位置     1.4 工作空间管理(Managing the search path) addpath 添加搜索路径 rmpath 从搜索路径中删除目录 path 控制 MATLAB 的搜索路径 pathtool 修改搜索路径     1.5 指令窗控制(Controlling the command ) beep 产生 beep 声 echo 显示命令文件指令的切换开关 diary 储存 MATLAB 指令窗操作内容 format 设置数据输出格式 more 命令窗口分页输出的控制开关     1.6 操作系统指令(Operating system commands ) cd 改变当前工作目录 computer 计算机类型 copyfile 文件拷贝 delete 删除文件 dir 列出的文件 dos 执行 dos 指令并返还结果 getenv 给出环境值 ispc MATLAB 为 PC(Windows) 版本则为真 isunix MATLAB 为 Unix 版本则为真 mkdir 创建目录 pwd 改变当前工作目录 unix 执行 unix 指令并返还结果 vms 执行 vms dcl 指令并返还结果 web 打开 web 浏览器 ! 执行外部应用程序     2 运算符和特殊算符(Operators and special characters) 2.1 算术运算符(Arithmetic operators) + 加 - 减 * 矩阵乘 .* 数组乘 ^ 矩阵乘方 .^ 数组乘方 \ 反斜杠或左除 / 斜杠或右除 ./ 或 .\ 数组除   张量积     [ 注 ] 本表第三栏括号中的字符供在线救助时 help 指令引述用 2.2 关系运算符(Relational operators) = = 等号 ~= 不等号 < 小于 > 大于 <= 小于或等于 >= 大于或等于     2.3 逻辑操作(Logical operators) & 逻辑与 | 逻辑或 ~ 逻辑非 xor 异或 any 有非零元则为真 all 所有元素均非零则为真     逻辑操作(Special characters) : 冒号 ( ) 圆括号 [ ] 方括号 { } 花括号 @ 创建函数句柄 . 小数点 . 构架域的关节点 .. 父目录 … 续行号 , 逗号 ; 分号 % 注释号 ! 调用操作系统命令 = 赋值符号 ˊ 引号 ˊ 复数转置号 .ˊ 转置号 [,] 水平串接 [;] 垂直串接 ( ),{ },. 下标赋值 ( ),{ },. 下标标识 subsindex 下标标识     3 编程语言结构(Programming language constructs) 3.1 算术运算符(Arithmetic operators) break 终止最内循环 case 同 switch 一起使用 catch 同 try 一起使用 continue 将控制转交给外层的 for 或 while 循环 else 同 if 一起使用 elseif 同 if 一起使用 end 结束 for,while,if 语句 for 按规定次数重复执行语句 if 条件执行语句 otherwise 可同 switch 一起使用 return 返回 switch 多个条件分支 try try-cathch 结构 while 不确定次数重复执行语句     3.2 计算运行(Evaluation and execution) assignin 跨空间赋值 builtin 执行内建的函数 eval 字符串宏指令 evalc 执行 MATLAB 字符串 evalin 跨空间计算串表达式的值 feval 函数宏指令 run 执行脚本文件     3.3 脚本文件、函数及变量(Scripts,function,and variables) exist 检查变量或函数是否被定义 function 函数文件头 global 定义全局变量 isglobal 若是全局变量则为真 iskeyword 若是关键字则为真 mfilename 正在执行的 M 文件的名字 persistent 定义永久变量 script MATLAB 命令文件     3.4 宗量处理(Augument handling) inputname 实际调用变量名 nargchk 输入变量个数检查 nargin 函数输入宗量的个数 nargout 函数输出宗量的个数 nargoutchk 输出变量个数检查 varagin 输入宗量 varagout 输出宗量     3.5 信息显示(Message display) disp 显示矩阵和文字内容 display 显示矩阵和文字内容的重载函数 error 显示错误信息 fprintf 把格式化数据写到文件或屏幕 lasterr 最后一个错误信息 lastwarn 最后一个警告信息 sprintf 按格式把数字转换为串 warning 显示警告信息     3.6 交互式输入(Interactive input) input 提示键盘输入 keyboard 激活键盘做为命令文件 pause 暂停 uicontrol 创建用户界面控制 uimenu 创建用户界面菜单     4 基本矩阵函数和操作(Elementary matrices and matrix manipulation ) 4.1 基本矩阵(Elementary matrices) eye 单位阵 linspace 线性等分向量 logspace 对数等分向量 meshgrid 用于三维曲面的分格线坐标 ones 全1矩阵 rand 均匀分布随机阵 randn 正态分布随机阵 repmat 铺放模块数组 zeros 全零矩阵 : 矩阵的援引和重排     4.2 矩阵基本信息(Basic array information) disp 显示矩阵和文字内容 isempty 若是空矩阵则为真 isequal 若对应元素相等则为 1 islogical 尤其是逻辑数则为真 isnumeric 若是数值则为真 length 确定向量的长度 logical 将数值转化为逻辑值 ndims 数组 A 的维数 size 确定矩阵的维数     4.3 矩阵操作(Matrix manipulation) blkdiag 块对角阵串接 diag 创建对角阵,抽取对角向量 end 数组的长度,即最大下标 find 找出非零元素 1 的下标 fliplr 矩阵的左右翻转 flipud 矩阵的上下翻转 flipdim 交换对称位置上的元素 ind2sub 据单下标换算出全下标 reshape 矩阵变维 rot90 矩阵逆时针 90° 旋转 sub2idn 据全下标换算出单下标 tril 抽取下三角阵 triu 抽取上三角阵     4.4 特殊变量和常数(Special variables and constants) ans 最新表达式的运算结果 eps 浮点相对误差 i,j 虚数单位 inf 或 Inf 无穷大 isfinite 若是有限数则为真 isinf 若是无穷大则为真 isnan 若为非数则为真 NaN 或 nan 非数 pi 3.14…. realmax 最大浮点数 realmin 最小正浮点数 why 一般问题的简明答案     4.5 特殊矩阵(Specialized matrices) compan 伴随矩阵 gallery 一些小测试矩阵 hadamard Hadamard 矩阵 hankel Hankel 矩阵 hilb Hilbert 矩阵 invhilb 逆 Hilbert 矩阵 magic 魔方阵 pascal Pascal 矩阵 rosser 典型对称特征值实验问题 toeplitz Toeplitz 矩阵 vander Vandermonde 矩阵 wilkinson Wilkinson ’ s 对称特征值实验矩阵     5 基本数学函数(Elementary math functions ) 5.1 三角函数(Trigonometric) acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 atan 反正切 atanh 反双曲正切 atan2 四象限反正切 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 csc 余割 csch 双曲余割 sec 正割 sech 双曲正割 sin 正弦 sinh 双曲正弦 tan 正切 tanh 双曲正切     5.2 指数函数(Exponential) exp 指数 log 自然对数 log10 常用对数 log2 以 2 为底的对数 nestpow2 最近邻的 2 的幂 pow2 2 的幂 sqrt 平方根     5.3 复数函数(Complex) abs 绝对值 angle 相角 complex 将实部和虚部构成复数 conj 复数共轭 cplxpair 复数阵成共轭对形式排列 imag 复数虚部 isreal 若是实数矩阵则为真 real 复数实部 unwrap 相位角 360° 线调整     5.4 取整和求余函数(Rounding and remainder) ceil 朝正无穷大方向取整 fix 朝零方向取整 floor 朝负无穷大方向取整 mod 模数求余 rem 求余数 round 四舍五入取整 sign 符号函数     6 特殊函数(Specialized math functions ) cart2pol 直角坐标变为柱 ( 或极 ) 坐标 cart2sph 直角坐标变为球坐标 cross 向量叉积 dot 向量内积 isprime 若是质数则为真 pol2cart 柱 ( 或极 ) 坐标变为直角坐标 sph2cart 球坐标变为直角坐标     7 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 7.1 矩阵分析(Matrix analysis) det 行列式的值 norm 矩阵或向量范数 normest 估计 2 范数 null 零空间 orth 值空间 rank 秩 rref 转换为行阶梯形 trace 迹 subspace 子空间的角度     7.2 线性方程(Linear equations) chol Cholesky 分解 cholinc 不完全 Cholesky 分解 cond 矩阵条件数 condest 估计 1- 范数条件数 inv 矩阵的逆 lu LU 分解 luinc 不完全 LU 分解 lscov 已知协方差的最小二乘积 nnls 非负二乘解 pinv 伪逆 qr QR 分解 rcond LINPACK 逆条件数 \ 、 / 解线性方程     7.3 特征值与奇异值(Eidenvalues and singular values) condeig 矩阵各特征值的条件数         eig 矩阵特征值和特征向量         eigs 多个特征值         gsvd 归一化奇异值分解         hess Hessenberg 矩阵         poly 特征多项式         polyeig 多项式特征值问题         qz 广义特征值         schur Schur 分解         svd 奇异值分解         svds 多个奇异值                     7.4 矩阵函数(Matrix functions) expm 矩阵指数 expm1 矩阵指数的 Pade 逼近 expm2 用泰勒级数求矩阵指数 expm3 通过特征值和特征向量求矩阵指数 funm 计算一般矩阵函数 logm 矩阵对数 sqrtm 矩阵平方根     7.5 因式分解(Factorization utility) cdf2rdf 复数对角型转换到实块对角型 balance 改善特征值精度的平衡刻度 rsf2csf 实块对角型转换到复数对角型     8 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 8.1 矩阵分析(Matrix analysis) cumprod 元素累计积 cumsum 元素累计和 cumtrapz 累计积分 hist 统计频数直方图 histc 直方图统计 max 最大值 mean 平均值 median 中值 min 最小值 prod 元素积 sort 由小到大排序 sortrows 由小到大按行排序 std 标准差 sum 元素和 trapz 梯形数值积分 var 求方差     8.2 矩阵分析(Matrix analysis) del2 五点离散 Laplacian diff 差分和近似微 gradient 梯度     8.3 矩阵分析(Matrix analysis) corrcoef 相关系数 cov 协方差矩阵 subspace 子空间之间的角度     8.4 Hjj conv 卷积和多项式相乘 conv2 二维卷积 convn N 维卷积 detrend 去除线性分量 deconv 解卷和多项式相除 filter 一维数字滤波器 fliter2 二维数字滤波器     8.5 Gtgg fft 快速离散傅里叶变换 fft2 二维离散傅里叶变换 fftn N 维离散傅里叶变换 fftshift 重排 fft 和 fft2 的输出 ifft 离散傅里叶反变换 ifft2 二维离散傅城叶反变换 ifftn N 维离散傅里叶反变换 ifftshift 反 fftshift     9 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 9.1 矩阵分析(Matrix analysis) sound 播放向量 soundsc 自动标刻并播放 waveplay 利用系统音频输出设配播放 waverecor 利用系统音频输入设配录音     9.2 矩阵分析(Matrix analysis) auread 读取音频文件 auwrite 创建音频文件 wavread 读取音频文件 wavwrite 创建音频文件     9.3 矩阵分析(Matrix analysis) lin2mu 将线性信号转换为 律编码的信号 mu2lin 将 律编码信号转换为线性信号     10 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 10.1 矩阵分析(Matrix analysis) griddata 分格点数据 griddata3 三维分格点数据 griddatan 多维分格点数据 interpft 利用 FFT 方法一维插补 interp1 一维插补 interp1q 快速一维插补 interp2 二维插补 interp3 三维插补 intern N 维插补 pchip hermite 插补     10.2 矩阵分析(Matrix analysis) ppval 计算分段多项式 spline 三次样条插补     10.3 矩阵分析(Matrix analysis) conv 多项式相乘 deconv 多项式相除 poly 由根创建多项式 polyder 多项式微分 polyfit 多项式拟合 polyint 积分多项式分析 polyval 求多项式的值 polyvalm 求矩阵多项式的值 residue 求部分分式表达 roots 求多项式的根     11 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 11.1 矩阵分析(Matrix analysis) fminbnd 非线性函数在某区间中极小值 fminsearch 单纯形法求多元函数极值点指令 fzero 单变量函数的零点     11.2 矩阵分析(Matrix analysis) optimget 从OPTIONS构架中取得优化参数 optimset 创建或修改OPTIONS构架     11.3 矩阵分析(Matrix analysis) dblquad 二重 ( 闭型 ) 数值积分指令 quad 低阶法数值积分 quadl 高阶法数值积分     11.4 Yyy ezcontour 画等位线 ezcontourf 画填色等位线 ezmesh 绘制网格图 ezmeshc 绘制含等高线的网格图 ezplot 绘制曲线 ezplot3 绘制 3 维曲线 ezpolar 采用极坐标绘图 ezsurf 画曲面图 ezsurfc 画带等位线的曲面图 fplot 画函数曲线图     11.5 Pp argnames 给出函数的输入宗量 char 创建字符传输组或者将其他类型变量转化为字符串数组 formula 函数公式 inline 创建内联函数     11.6 Pp ode113 变阶法解方程 ode15s 变阶法解刚性方程 ode23 低阶法解微分方程 ode23s 低阶法解刚性微分方程 ode23t 解适度刚性微分方程 odet23tb 低阶法解刚性微分方程 ode45 高阶法解微分方程     12 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 12.1 矩阵分析(Matrix analysis) loglog 双对数刻度曲线 plot 直角坐标下线性刻度曲线 plotyy 双纵坐标图 polar 极坐标曲线图 semilogx X 轴半对数刻度曲线 semilogy Y 轴半对数刻度曲线     12.2 矩阵分析(Matrix analysis) axes 创建轴 axis 轴的刻度和表现 box 坐标形式在封闭式和开启词式之间切换 grid 画坐标网格线 hold 图形的保持 subplot 创建子图 zoom 二维图形的变焦放大     12.3 矩阵分析(Matrix analysis) gtext 用鼠标在图上标注文字 legend 图例说明 plotedit 图形编辑工具 text 在图上标注文字 texlabel 将字符串转换为 Tex 格式 title 图形标题 xlabel X 轴名标注 ylabel Y 轴名标注     12.4 Op orient 设置走纸方向 print 打印图形或把图存入文件 printopt 打印机设置     13 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 13.1 矩阵分析(Matrix analysis) fill3 三维曲面多边形填色 mesh 三维网线图 plot3 三维直角坐标曲线图 surf 三维表面图     13.2 矩阵分析(Matrix analysis) alpha 透明色控制 brighten 控制色彩的明暗 caxis ( 伪 ) 颜色轴刻度 colordef 用色风格 colormap 设置色图 graymon 设置缺省图形窗口为单色显示屏 hidden 消隐 shading 图形渲染模式 whitebg 设置图形窗口为白底     13.3 矩阵分析(Matrix analysis) diffuse 漫反射表面系数 light 灯光控制 lighting 设置照明模式 material 使用预定义反射模式 specular 漫反射 surfnorm 表面图的法线 surfl 带光照的三维表面图     13.4 Ooo autumn 红、黄浓淡色 bone 蓝色调灰度图 colorcube 三浓淡多彩交错色 cool 青和品红浓淡色图 copper 线性变化纯铜色调图 flag 红-白-蓝黑交错色图 gray 线性灰度 hot 黑-红-黄-白交错色图 hsv 饱和色彩图 jet 变异 HSV 色图 lines 采用 plot 绘线色 pink 淡粉红色图 prism 光谱色图 spring 青、黄浓淡色 summer 绿、黄浓淡色 vga 16 色 white 全白色 winter 蓝、绿浓淡色     13.5 Ppp axes 创建轴 axis 轴的刻度和表现 box 坐标形式在封闭式和开启式之间切换 daspect 轴的 DataAspectRatio 属性 grid 画坐标网格线 hold 图形的保持 pbaspect 画坐标框的 PlotBoxAspectRatio 属性 subplot 创建子图 xlim X 轴范围 ylim Y 轴范围 zlim Z 轴范围 zoom 二维图形的变焦放大     13.6 Ooo rotate3d 旋动三维图形 view 设定 3 - D 图形观测点 viewmtx 观测点转换矩阵     13.7 Ooo colorbar 显示色条 gtext 用鼠标在图上标注文字 plotedit 图形编辑工具 text 在图上标注文字 title 图形标题 xlabel X 轴名标注 ylabel Y 轴名标注 zlabel Z 轴名标注     13.8 Ooo orient 设置走纸方向 print 打印图形或把图存入文件 printopt 打印机设置 verml 将图形保存为 VRML2.0 文件     14 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 14.1 矩阵分析(Matrix analysis) area 面域图 bar 直方图 barh 水平直方图 comet 彗星状轨迹图 compass 从原点出发的复数 errorbar 误差棒棒图 ezplot 画二维曲线 ezpolar 画极坐标曲线 feather 从 X 轴出发的复数 fill 多边填色图 fplot 函数曲线图 hist 统计频数直方图 pareto Pareto 图 pie 饼形统计图 plotmatrix 散点图阵列 scatter 散点图 stairs 阶梯形曲线图 stem 火柴杆图     14.2 矩阵分析(Matrix analysis) clabel 给等高线加标注 contour 等高线图 contourf 等高线图 contour3 三维等高线 ezcontour 画等位线 ezcontourf 画填色等位线 pcolor 用颜色反映数据的伪色图 voronoi Voronoi 图     14.3 矩阵分析(Matrix analysis) bar3 三维直方图 bar3h 三维水平直方图 comet3 三维彗星动态轨迹线图 ezgraph3 通用指令 ezmesh 画网线图 ezmeshc 画等位线的网线图 ezplot3 画三维曲线 ezsurf 画曲面图 ezsurfc 画带等位线的曲面图 meshc 带等高线的三维网线图 meshz 带零基准面的三维网线图 pie3 三维饼图 ribbon 以三维形式绘制二维曲线 scatter3 三维散点图 stem3 三维离散杆图 surfc 带等高线的三维表面图 trimesh 三角剖分网线图 trisurf 三角剖分曲面图 waterfall 瀑布水线图     14.4 Uii coneplot 锥体图 contourslice 切片等位线图 quiver 矢量场图 quiver3 三维方向箭头图 slice 切片图     14.5 Jkjj brighten 控制色彩的明暗 colorbar 色彩条状图 colormap 设置色图 contrast 提高图像对比度的灰色图 gray 线性灰度 image 显示图像 imagesc 显示亮度图像 imfinfo 获取图像文件的特征数据 imread 从文件读取图像的数据阵(和伴随色图)) imwrite 把强度图像或真彩图像写入文件     14.6 ;;; capture 当前图的屏捕捉 frame2im 将影片动画转换为编址图像 getframe 获得影片动画图像的帧 im2frame 将编址图像转换为影片动画 movie 播放影片动画 moviein 影片动画内存初始化 rotate 旋转指令     14.7 Iii spinmap 颜色周期性变化操纵     14.8 Jjkk cylinder 圆柱面 patch 创建块 sphere 球面 Surf2patch 将曲面数据转换为块数据     15 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra ) 15.1 矩阵分析(Matrix analysis) clf 清除当前图 close 关闭图形 figure 打开或创建图形窗口 gcf 获得当前图的柄 openfig 打开图形 refresh 刷新图形 clf 显示图形窗     15.2 矩阵分析(Matrix analysis) axes 在任意位置创建轴 axis 轴的控制 box 坐标形式在封闭式和开启式之间切换 caxis 控制色轴的刻度 cla 清除当前轴 gca 获得当前轴的柄 hold 图形的保持 ishold 若图形处保持状态则为真 subplot 创建子图     15.3 矩阵分析(Matrix analysis) axex 在任意位置创建轴 figure 创建图形窗口 image 创建图像 light 创建光 line 创建线 patch 创建块 rectangle 创建方 surface 创建面 text 创建图形中文本 uicontextmenu 创建现场菜单对象 uicontrol 用户使用界面控制 uimenu 用户使用菜单控制     15.4 可怜 copyobj 拷贝图形对象及其子对象 delete 删除对象及文件 drawnow 屏幕刷新 findobj 用规定的特性找寻对象 gcbf “正执行回调操作”的图形的柄 gcbo “正执行回调操作”的控件图柄指令 gco 获得当前对象的柄 get 获得对象特性 getappdat 获得应用程序定义数据 isappdata 检验是否应用程序定义数据 reset 重设对象特性 rmappdata 删除应用程序定义数据 set 建立对象特性 setappdata 建立应用程序定义数据     15.5 Loko closereq 关闭图形窗请求函数 ishandle 若是图柄代号侧为真 newplot 下一个新图     16 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra ) align 对齐用户控件和轴 cbedit 编辑回调函数 ginput 从鼠标得到图形点坐标 guide 设计 GUI menu 创建菜单 menuedit 菜单编辑 propedit 属性编辑 uicontrol 创建用户界面控制 uimenu 创建用户界面菜单     17 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 17.1 矩阵分析(Matrix analysis) blanks 空格符号 cellstr 通过字符串数组构建字符串的元胞数组 char 创建字符传输组或者将其他类型变量转化为字符串数组 deblank 删除最后的空格 double 把字符串变成 ASCII 码值 eval 执行串形式的 MATLAB 表达式     17.2 矩阵分析(Matrix analysis) iscellstr 若是字符串组成的元胞数组则为真 ischar 若是字符串则为真 isletter 串中是字母则为真 isspace 串中是空格则为真 isstr 若是字符串则为真     17.3 矩阵分析(Matrix analysis) base2dec X -进制串转换为十进制整数 bin2dec 二进制串转换为十进制整数 dec2base 十进制整数转换为 X 进制串 dec2bin 十进制整数转换为二进制串 dec2hex 十进制整数转换为 16 进制串 findstr 在一个串中寻找一个子串 hex2dec 16 -进制串转换为十进制整数 hex2num 16 -进制串转换为浮点数 int2str 将整数转换为字符串 lower 把字符串变成小写 mat2str 将数组转换为字符串 num2str 把数值转换为字符串 strcat 把多个串连接成长串 strcmp 比较字符串 strcmpi 比较字符串(忽略大小写) strings MATLAB 中的字符串 strjust 字符串的对齐方式 strmatch 逐行搜索串 strnomp 比较字符串的前 N 个字符 strncmpi 比较字符串的前 N 个字符(忽略大小写) strrep 用另一个串代替一个串中的子串 strtok 删除串中的指定子串 strvcat 创建字符串数组 str2mat 将字符串转换为含有空格的数组 str2num 将字符串转换为数值 upper 把字符串变成大写     18 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) clc 清除指令窗口 disp 显示矩阵和文字内容 fprintf 把格式化数据写到文件或屏幕 home 光标返回行首 input 提示键盘输入 load 从磁盘中调入数据变量 pause 暂停 sprintf 写格式数据到串 sscanf 在格式控制下读串     19 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) clock 时钟 cputme MATLAB 战用 CPU 时间 date 日期 etime 用 CLOCK 计算的时间 now 当前时钟和日期 pause 暂停 tic 秒表启动 toc 秒表终止和显示     20 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 20.1 矩阵分析(Matrix analysis) cell 创建元胞变量 char 创建字符传输组或者将其他类型变量转化为字符串数组 double 转化为 16 位相对精度的浮点数值对象 function handle 函数句柄 inline 创建内联函数 JavaArray 构建 Java 数组 JavaMethod 调用某个 Java 方法 JavaObject 调用 Java 对象的构造函数 single 转变为单精度数值 sparse 创建稀疏矩阵 struct 创建构架变量 uint8(unit16 、 unit32) 转换为 8(16 、 32) 位无符号整型数 int8(nit16 、 nit32) 转换为 8(16 、 32) 位符号整型数     20.2 Jjk cat 把若干数组串接成高维数组 ndims 数组 A 的维数 ndgrid 为 N - D 函数和插补创建数组 ipermute 广义反转置 permute 广义非共轭转置 shiftdim 维数转换 squeeze 使数组降维     20.3 Jkll cell 创建元胞变量 celldisp 显示元胞数组内容 cellfun 元胞数组函数 cellplot 图示元胞数组的内容 cell2struct 把元胞数组转换为构架数组 deal 把输入分配给输出 is cell 若是元胞则为真 num2 cell 把数值数组转换为元胞数组 struct2 cell 把构架数组转换为元胞数组     20.4 Kk fieldnames 获取构架的域名 getfield 获取域的内容 isfield 若为给定构架的域名则为真 isstruct 若是构架则为真 rmfield 删除构架的域 setfield 指定构架域的内容 struct 创建构架变量     20.5 Pp @ 创建函数句柄 functions 列举函数句柄对应的函数 func2str 将函数句柄数组转换为字符串 str2func 将字符串转换为函数句柄     20.6 Pp dlass 查明变量的类型 isa 若是指定的数据类型则为真 inferiorto 级别较低 isjava 若是 java 对象则为真 isobject 若是对象则为真 methods 显示类的方法名 substruct 创建构架总量 superiorto 级别较高     21 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) demo 演示程序 flow 无限大水体中水下射流速度数据 intro 幻灯演示指令 peaks 产生 peaks 图形数据     22 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra  ) 22.1 矩阵分析(Matrix analysis) diff 求导数 limit 求极限 int 计算积分 jacobian Jacobian 矩阵 symsum 符号序列的求和 trylor Trylor 级数     22.2 Ppp det 行列式的值 diag 创建对角阵,抽取对角向量 eig 矩阵特征值和特征向量 expm 矩阵指数 inv 矩阵的逆 jordan Jordan 分解 null 零空间 poly 特征多项式 rank 秩 rref 转换为行阶梯形 svd 奇异值分解 tril 抽取下三角阵 triu 抽取上三角阵     22.3 [][[ collect 合并同类项 expand 对指定项展开 factor 进行因式或因子分解 horner 转换成嵌套形式 numden 提取公因式 simple 运用各种指令化简符号表达式 simplify 恒等式简化 subexpr 运用符号变量置换子表达式 subs 通用置换指令     22.4 [[] compose 求复函数 dsolve 求解符号常微分方程 finverse 求反函数 fminunc 拟牛顿法求多元函数极值点 fsolve 解非线性方程组 lsqnonlin 解非线性最小二乘问题 solve 求解方程组     22.5 Ggg digits 设置今后数值计算以 n 位相对精度进行 vpa 给出数值型符号结果     22.6 Ppp fourier Fourier变换 ifourier Fourier反变换 ilaplace Ilaplace反变换 iztrans Z反变换 laplace Ilaplace变换 ztrans Z变换     22.7 Ooo char 把符号对象转化为字符串数组 double 把符号常数转化为 16 位相对精度的浮点数值对象 poly2sym 将多项式转换为符号多项式 sym2poly 将符号多项式转换为系数向量     22.8 Ooo ccode 符号表达式的 C 码表达式 findsym 确认表达式中符号“变量” fortran 符号表达式的 fortran 表达式 latex 符号表达式的 LaTex 表示 pretty 习惯方式显示 sym 定义基本符号对象 syms 定义基本符号对象     22.9 Ooo isvarname 检查是否为有效的变量名 vectorize 将字符串表达式或内联函数对象向量化     22.10 Kkk ezcontour 画等位线 ezcontourf 画填色等位线 ezmesh 画网线图 ezmeshc 带等位线的网线图 ezplot 绘制符号表达式的图形 ezplot2 画三维曲线 ezpolar 画极坐标曲线 ezsurf 画曲面图 ezsurfc 画带等位的曲面图 funtool 函数计数器 rsums Riemann 求和 taylortool Taylor 级数计数器     22.11 Jjjj maple 进入MAPLE工作空间计算 mfun 对MAPLE中若干经典特殊函数实施数值计算 mfunlist 能被mfun计算的MAPLE经典特殊函数列表 mhelp 查阅MAPLE 中的库函数及其调用方法 procread 把按MAPLE 格式写的源程序读入 MAPLE工作空间     23 Pppp bode 波特图 butter Butter Worth 低通道滤波器 gplot 拓扑图 hosted MAPLAB 服务中心识别号 impulse 冲激响应 isparse 若是稀疏矩阵则为真 lsim 任意输入下的响应 ltiview 响应分析的图形用户界面 matlabrc MAPLAB 的主启动文件 mbuild 独立可执行文件编译器预配置及创建 mcc 编译宏指令 mex 把 C 码文件编译成 MEX 文件 mineral 消去传递函数分子、分母公因子 nyquist Nyquist 图 rlocus 跟轨迹 setstr 把 ASCII 码翻译成串 sim 运行 Simulink 模型 ss 利用状态方程四对组生成 LTI 对象 Simulink 打开 Simulink 集成窗口 ssdata 从 LTI 对象获取状态方程四对组 startup 启动 MATLAB 时的自动执行 M 文件 step 单位阶跃响应 tf 利用传递函数二对组生成 LTI 对象 tfdata 从 LTI 对象获取传递函数二对组 zpk 利用零极点增益三对组生成 LTI 对象 zpkdata 从 LTI 对象获取零极点增益三对组 loodfor 关键词检索 notebood 创建或打开 M -book 文件    
本文档为【matlab实验指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_212655
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:76
分类:企业经营
上传时间:2018-11-24
浏览量:77