matlab试验参考指导书.doc
《matlab试验参考指导书.doc》由会员分享,可在线阅读,更多相关《matlab试验参考指导书.doc(51页珍藏版)》请在咨信网上搜索。
《MATLAB 基础 》 试验指导书 序言 MATLAB 是一个集数值计算、可视化建模、仿真和图形处理等多个功效于一体优异编程、仿真工具,被誉为“巨人肩膀上工具”、“演算纸式编程语言”,是从事科学研究、工程计算广大科技工作者、理工类高校师生确定为必需掌握计算工具,是从理论通向实际桥梁,也是最可信赖科技资源之一。为了配合学生上机实践,愈加好掌握 MATLAB 基础使用技能,了解 MATLAB 编程风格,和将所学课程和MATLAB实践相结合,尤其编写了本试验讲义。其关键内容包含:MATLAB入门及基础操作,矩阵使用及数据可视化方法,脚步文件及函数编写,和Simulink仿真模块使用等。 MATLAB内容丰富,内嵌了很多功效函数。为了方便课堂教学使用,也顾及查阅功效,在书后索引中根据功效函数对常见MATLAB函数进行了分类,以备读者查阅需要。因为编者水平有限,书中难免存在不妥之处,恳请广大读者指正。同时,我们也会在合适时间进行修订和补充。 目录 试验一 熟悉MATLAB环境 4 试验二 数值数组创建、应用及可视化 7 试验三 字符串数组使用、简单脚本文件和函数编写 10 试验四 数据可视化方法 15 试验五 简单数据分析 19 试验六 简单图形用户界面设计 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 .掌握标准数组生成函数和数组结构技法。 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 循环结构 For x=array (commands) end while expression (commands) end if-else-end 结构 单分支(常见) 双分支(常见) 多分支(常被switch-case替换) if expression (commands) end If expression (commands1) else (commands1) end if expression1 (commands1) elseif expression2 (commands2) …… else (commandsk) end 上面几条控制语句中,for 循环结构中x 称为循环变量,组命令(commands) 被称为循环体,循环体被反复实施次数是确定,该次数由for指令后面数组array列数决定。换言之,循环变量依次取数组各列,对于每个变量值,循环体被实施一次。 while 循环是首先检测 expression 值,如其值为逻辑真(非0),则实施组命令,当组命令实施完成,继续检测表示式值,仍为真,循环实施组命令,一旦表示式值为假,就结束循环。通常情况下,表示式值是标量值,但MATLAB许可其为一个数组,此时只有该数组全部元素均为真时,MATLAB才会实施循环体。若表示式为空数组,则不实施循环体。 if指令判决和break指令配合使用,能够强制中止for循环或while循环。 switch-case 结构 try-catch 结构 switch ex case test1 (commands 1) case test2 …… case testk (commands k) otherwise (commands) try ex (commands 1) catch (commands 2) end 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 函数文件编写结构及方法。 % 后面内容称为注释行,不被实施,起注释说明作用。 function sa = circle(r,s) % 首行是函数申明行,以 function 开头 %CIRCLE 以制订颜色画半径为 r 圆面 % r 指定半径数值 % s 指定线色字符串 % sa 圆面积 % % circle(r) 利用蓝实线画半径为 r 圆周线 % circle(r,s) 利用串 s 指定线色画半径为 r 圆周线 % sa=circle(r) 计算圆面积,并画半径为 r 蓝色圆面 % sa=circle(r,s) 计算圆面积,并画半径为 r s 色圆面 % if nargin>2 % nargin 表示输入宗量变量个数,是系统保留变量 error('输入宗量太多。'); % error 把引号内容在命令窗口前加问号输 end if nargin==1 s='b'; end clf % 清图形窗口 t=0:pi/100:2*pi; x=r*exp(i*t); if nargout==0 % nargin 表示输出宗量变量个数,是系统保留变量 plot(x,s); else sa=pi*r*r; fill(real(x),imag(x),s) % fill 指令是填充颜色指令,具体看帮助 end axis('square') % 使得输出图形坐标为正方形 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 则取消此功效。对于想画多个独立图- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 试验 参考 指导书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文