matlab使用技巧

合集下载

MATLAB使用技巧大全

MATLAB使用技巧大全

MATLAB使用技巧大全在科学计算和数据分析领域,MATLAB被广泛使用。

作为一种强大的软件工具,它提供了许多方便和高效的功能,帮助用户解决各种问题。

本文将介绍一些MATLAB的使用技巧,希望能够帮助读者更好地利用这个工具。

1. 向量和矩阵操作MATLAB中向量和矩阵的操作是非常常见的。

我们可以使用内置函数来创建向量和矩阵,如zeros、ones、eye等。

一些常用的操作包括:转置、矩阵相乘、元素相乘、矩阵求逆等。

此外,还可以使用索引和切片来访问和修改矩阵中的元素。

MATLAB还提供了一些特殊的矩阵函数,如diag、tril、triu等,用于生成特定类型的矩阵。

2. 图形绘制MATLAB提供了强大的绘图功能,可以生成各种类型的图形,如线图、散点图、柱状图、饼图等。

我们可以使用plot函数来绘制线图,scatter函数来绘制散点图,bar函数来绘制柱状图等。

此外,还可以对图形进行自定义,包括添加标题、坐标轴标签、图例等。

另外,MATLAB还支持三维和曲面绘图,用于可视化复杂的数据和函数关系。

3. 数据统计与分析MATLAB提供了许多用于数据统计和分析的函数。

例如,mean函数用于计算平均值,std函数用于计算标准差,median函数用于计算中位数等。

此外,MATLAB还提供了常见的统计分布函数,如正态分布、指数分布等。

通过这些函数,我们可以对数据进行描述统计和概率分析,从而更好地理解数据的特性和分布。

4. 信号处理MATLAB在信号处理领域也有广泛的应用。

它提供了许多用于信号处理的函数和工具箱,可以进行滤波、频谱分析、傅里叶变换等操作。

例如,我们可以使用fft函数进行快速傅里叶变换,使用filter函数进行滤波操作,使用spectrogram函数绘制频谱图等。

这些功能对于处理和分析信号具有重要意义,如音频处理、图像处理等。

5. 优化与求解MATLAB还提供了强大的优化和求解功能,可以用于解决复杂的数学问题。

matlab限制使用技巧

matlab限制使用技巧

matlab限制使用技巧在使用MATLAB时,限制使用技巧可以提高代码的可读性、可维护性和效率。

以下是一些常用的MATLAB限制使用技巧:1. 避免使用全局变量:全局变量会增加代码的复杂性和耦合度。

应该尽量避免使用全局变量,而是使用函数的输入输出参数来传递数据。

2. 合理选择变量名:变量名应该具有描述性,能够反映变量的用途。

避免使用单个字母或者无意义的变量名,这样可以提高代码的可读性。

3. 尽量使用向量化运算:MATLAB是一种适用于科学计算和矩阵运算的语言,因此应尽量使用向量化运算,而不是使用循环来处理数组。

向量化运算能够利用MATLAB的优化功能,提高代码的效率。

4. 避免使用eval和evalc函数:eval和evalc函数可以执行字符串中的MATLAB代码,但是使用这些函数会降低代码的可读性和可维护性。

应该尽量避免使用这些函数,而是使用其他方法来解决问题。

5. 避免使用硬编码的常数:使用硬编码的常数会使代码在修改时变得困难。

应该将常数定义为变量或者使用常数的符号表示,这样可以提高代码的可维护性。

6. 使用函数来封装代码块:如果某个代码块需要被多次使用,应该将其封装成一个函数。

使用函数能够提高代码的重用性和可读性,并且可以减少代码的复制和粘贴。

7. 使用断言进行输入检查:使用断言来检查输入参数的合法性,能够提高代码的健壮性和可靠性。

通过断言,可以在发现错误的时候立即停止代码的执行,并给出相关的错误信息。

8. 使用标准函数和工具箱:MATLAB提供了丰富的标准函数和工具箱,能够方便地实现各种功能。

在编写代码时,应优先使用这些标准函数和工具箱,而不是自己重新实现一些功能。

9. 使用注释来解释代码:在代码中加入注释,能够使代码更易读、更易理解。

应该使用注释来解释代码的逻辑、算法和实现细节,以便他人能够快速理解代码的意图。

10. 及时清理内存:当不再使用某个变量时,应及时清理内存。

可以使用clear函数来清除变量,使用pack函数来整理内存碎片。

MATLAB的基本使用教程

MATLAB的基本使用教程

MATLAB的基本使用教程MATLAB是一种强大的数学计算软件,广泛应用于科学、工程和技术领域。

它提供了丰富的功能和工具,能够快速、有效地处理和分析各种数学问题。

本文将介绍MATLAB的基本使用方法,帮助初学者快速入门。

一、MATLAB的安装与启动1、下载和安装MATLAB软件:在MathWorks官方网站上下载适合自己操作系统的MATLAB软件,并根据安装提示进行安装。

安装完成后,会生成一个MATLAB的启动图标。

2、启动MATLAB:双击MATLAB的启动图标,或者在命令行中输入"matlab"命令,即可启动MATLAB。

二、MATLAB的基本操作1、工作环境:MATLAB提供了一个强大的集成开发环境(IDE),可以在其中编写和运行代码。

在MATLAB的界面中,包括主窗口、命令窗口、变量窗口、编辑器等。

2、命令窗口:在命令窗口中可以输入和执行MATLAB命令。

可以直接在命令窗口中输入简单的计算,例如输入"2+3"并按下回车键,即可输出计算结果。

3、脚本文件:MATLAB可以编写和运行脚本文件,将一系列命令组织起来,并按顺序执行。

在编辑器中编写MATLAB代码,并将文件保存为.m扩展名的脚本文件。

然后在命令窗口中输入脚本文件的文件名(不带扩展名),按下回车键即可执行脚本文件中的代码。

4、变量和赋值:在MATLAB中,可以创建和操作各种类型的变量。

例如,可以使用"="符号将一个值赋给一个变量,例如"A=5"。

在后续的计算和分析中,可以使用这个变量,例如输入"B=A+3",结果B 将被赋值为8。

5、矩阵和向量:MATLAB中的基本数据结构是矩阵和向量。

可以使用方括号[]来创建矩阵和向量,并使用逗号或空格来分隔不同的元素。

例如,"[1,2,3]"表示一个包含3个元素的行向量。

6、矩阵运算:MATLAB提供了丰富的矩阵运算符和函数,可以对矩阵进行各种运算。

MATLAB使用方法1

MATLAB使用方法1

MATLAB使用方法1MATLAB使用方法1MATLAB(MATrix LABoratory)是一种高效的数值计算工具和编程语言,广泛应用于科学、工程、经济和金融等领域的数据处理和分析任务。

它具有强大的矩阵处理能力和丰富的绘图功能,能够快速实现复杂的数学运算和数据可视化。

下面是MATLAB的使用方法介绍:1. 安装与启动:从MathWorks官方网站上获取合适版本的MATLAB软件并进行安装。

成功安装后,可以通过双击桌面上的图标或从应用程序列表中启动MATLAB。

2. 基本操作:MATLAB提供了一个交互式环境,用户可以直接在命令窗口输入指令并得到结果。

在命令窗口中,可以进行基本的数学运算,如加减乘除、求幂、开方等。

例如,输入命令"1+2",回车后会得到结果"ans = 3"。

3.矩阵操作:MATLAB的强大之处在于它对矩阵的高效处理能力。

可以用一对方括号定义矩阵,并进行相应的运算。

例如,输入命令"A=[12;34]",定义了一个2×2的矩阵A。

可以对矩阵进行加减乘除、转置、求逆等操作。

4. 函数使用:MATLAB拥有丰富的内置函数库,用户可以通过调用这些函数来实现复杂的运算和数据处理任务。

函数的调用格式为"函数名(参数1, 参数2, ...)"。

例如,调用MATLAB的sin函数可以使用命令"y = sin(x)",其中x是输入参数,y是函数的输出结果。

5.脚本与函数:除了在命令窗口中逐行输入指令,MATLAB还支持编写脚本文件和函数文件来实现更复杂的任务。

脚本文件是一系列可执行的MATLAB指令的集合,可以按照顺序执行。

函数文件是封装了特定功能的MATLAB代码块,可以接受输入参数并返回结果。

7. 数据导入与导出:MATLAB支持各种数据格式的导入和导出,包括文本文件、Excel文件、图像文件等。

Matlab基本功能及使用方法

Matlab基本功能及使用方法

Matlab基本功能及使用方法Matlab是一种专业的计算机软件,广泛应用于科学计算、数据分析和工程模拟等领域。

它具有强大的数学计算功能和灵活的编程接口,使得科学家、工程师和研究人员能够快速、高效地处理和分析数据。

本文将介绍Matlab的基本功能及使用方法,帮助读者快速上手并掌握Matlab的基本操作和应用技巧。

1. Matlab的界面和基本操作Matlab的界面分为工作区、命令窗口、编辑器和图形界面等几个部分。

在工作区可以查看和管理当前变量,命令窗口可以输入和执行Matlab命令,编辑器则用于编写和运行Matlab脚本或函数。

同时Matlab还提供了丰富的工具箱,包括统计工具箱、优化工具箱、图像处理工具箱等,可以根据需要加载并使用。

2. Matlab的基本数据类型和运算Matlab支持常见的数据类型,如标量、向量、矩阵和多维数组等。

可以使用Matlab进行基本的数学运算,包括加减乘除、幂运算和三角函数等。

Matlab还提供了丰富的数学函数和操作符,使得数学计算变得更加简单和高效。

3. 数据的导入和导出Matlab可以方便地导入和导出各种数据格式,如文本文件、Excel文件、图像文件和音频文件等。

可以使用Matlab提供的函数读取和处理数据,也可以将计算结果和图表保存为文件,方便后续的使用和分享。

4. 数据的可视化Matlab具有强大的数据可视化功能,可以绘制各种类型的图表和图形,如折线图、散点图、柱状图和3D图等。

可以使用Matlab提供的函数设置图表的样式和属性,如线条颜色、坐标轴范围和图例等。

通过数据可视化,可以更直观地理解和展示数据,揭示数据背后的规律和趋势。

5. 图像处理和信号处理Matlab在图像处理和信号处理方面有着广泛的应用。

可以使用Matlab提供的函数读取和处理图像,如图像的滤波、边缘检测和图像增强等。

同时,Matlab还提供了丰富的信号处理函数和工具箱,如离散傅里叶变换、数字滤波器设计和信号重构等,可以对信号进行分析和处理,实现各种信号处理算法和方法。

MATLAB使用方法1

MATLAB使用方法1

MATLAB使用方法1MATLAB使用方法1MATLAB(Matrix Laboratory)是一种强大的数值计算和科学计算软件,被广泛应用于工程、科学和数学领域。

它提供了一个集成的环境,使用户能够进行数据分析、模型构建、算法设计和可视化等操作。

在本文中,我将介绍一些MATLAB的基本使用方法。

1.启动MATLAB首先,你需要打开MATLAB软件。

在Windows系统中,你可以在开始菜单中找到MATLAB的快捷方式,并点击打开。

在Mac系统中,你可以在应用程序文件夹中找到MATLAB并点击打开。

2.MATLAB界面3.执行代码在MATLAB中,你可以执行一行或多行代码。

要执行一行代码,只需在命令窗口中输入代码并按下回车键。

例如,你可以输入以下代码来计算两个数的和:```matlaba=5;b=7;sum = a + b;```按下回车键后,MATLAB将计算出`sum`的值,并在命令窗口中显示结果。

你可以在任何时候更改变量的值,并重新执行代码以获取新的结果。

4.创建向量和矩阵```matlabv=[12345];```要创建一个矩阵,你可以使用分号(;)在每一行之间分隔元素。

例如,下面的代码创建了一个3×3的矩阵:```matlabA=[123;456;789];```你还可以使用函数(例如linspace、zeros和ones)来创建特定类型的向量和矩阵。

5.运算符和函数除了基本的数学运算符,MATLAB还提供了一些常用的函数,例如sin、cos、exp和log等。

要使用这些函数,你只需在函数名称后加上要计算的参数。

例如,下面的代码计算给定角度的正弦值:```matlabangle = 30; % 角度为30度sin_value = sin(deg2rad(angle));```6.绘图```matlabx = linspace(0, 2*pi, 100); % 生成0到2π之间的100个点y = sin(x); % 计算对应的正弦值plot(x, y); % 绘制曲线图```7.脚本文件8.调试和错误处理当你的MATLAB代码出现错误时,MATLAB将显示相应的错误消息以进行调试。

matlab使用技巧

matlab使用技巧

matlab使用技巧MATLAB是一种强大的科学计算和数据可视化工具,也是工程师和科学家常用的开发环境。

以下是一些MATLAB使用技巧,可以提高效率和编码能力。

1. 使用脚本文件:将MATLAB代码保存在脚本文件中,可以重复执行,方便调试和修改。

使用“Ctrl + Enter”快捷键执行当前光标所在的行。

2. 矩阵运算:MATLAB以矩阵为基础进行计算,可以使用矩阵运算简化代码,例如矩阵相乘使用“*”运算符。

3. 向量化操作:通过向量化操作,可以避免使用循环,提高运算速度。

尽量使用内置的矩阵和向量函数,比如sum、dot、cross等。

4. 调试代码:使用断点直接调试MATLAB代码,可以逐行查看代码执行过程。

点击行号旁边的空白区域设置断点,然后点击运行按钮。

5. 使用工具箱和函数:MATLAB提供了丰富的工具箱和函数库,可以直接调用各种函数进行数据分析、信号处理等。

使用help命令查询函数的帮助信息。

6. 绘图和可视化:MATLAB提供了强大的绘图功能,可以通过绘图工具箱创建高质量的二维和三维图形。

使用plot、scatter、surf等函数绘制图形。

7. 使用脚本自动化任务:可以通过编写MATLAB脚本自动化一些重复性的任务,比如数据处理、图像处理等。

使用for循环和条件语句实现自动化。

8. 脚本向函数的转换:将一段通用的代码封装成函数,可以提高代码的可读性和复用性。

使用function关键字定义函数,输入参数在括号中指定。

9. 高效的数据处理:MATLAB提供了各种数据处理函数,可以进行数据筛选、排序、统计等。

熟悉这些函数,可以快速处理和分析大量的数据。

10. 使用MEX函数优化速度:对于需要高速处理的代码,可以使用MEX函数将MATLAB代码转换为C或C++代码,提高运算速度。

总之,MATLAB是一个功能强大的工具,通过合理运用其函数和工具箱,结合适当的编码技巧,可以更加高效地使用MATLAB进行科学计算和数据可视化。

在MATLAB中使用函数的技巧与注意事项

在MATLAB中使用函数的技巧与注意事项

在MATLAB中使用函数的技巧与注意事项引言:MATLAB是一种用于数学计算与数据分析的强大软件工具。

在MATLAB中,函数是一种重要的概念,可以通过编写函数来实现各种功能,简化编程过程。

本文将介绍在MATLAB中使用函数时的一些技巧和注意事项,帮助读者更好地利用函数进行编程。

一、函数的定义与命名:在MATLAB中,函数由关键字"function"开始,后面紧跟着函数名和括号内的输入参数。

函数的命名应具有描述性,便于理解和识别。

例如,计算圆的面积的函数可以命名为"calculate_circle_area"。

在函数名后面,可以添加下划线和具体功能来增加可读性。

二、函数的输入与输出:函数的输入参数可以在函数定义中指定。

在函数体内部,可以使用这些输入参数进行计算和操作。

函数的输出参数通常使用"varargout"关键字,可以指定多个输出参数。

在函数运行结束后,返回输出参数给调用函数。

三、函数的局部变量与全局变量:在函数体内部,可以定义局部变量。

这些局部变量只在函数内部可见,不会影响到函数外部的其他变量。

在函数体内部使用局部变量可以提高代码的封装性和可读性。

然而,有时候需要使用函数外部的变量,这就需要使用全局变量。

在MATLAB中,可以通过使用"global"关键字来声明全局变量。

四、函数的嵌套与内联函数:在MATLAB中,函数可以嵌套在其他函数中。

这样可以提高代码的模块化和可重用性。

嵌套函数只能在包含它的函数内部可见,不能被其他函数调用。

除了嵌套函数,MATLAB还支持内联函数。

内联函数是在代码中定义的匿名函数,可以在代码中直接调用,无需单独定义。

五、函数的错误处理与异常处理:在编写函数时,需要考虑到可能出现的错误和异常情况。

MATLAB提供了一些内置的错误处理函数和异常处理语句,如"try-catch"语句和"error"函数等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab的默认字体总是helvetica,每次担心会产生字体会和IEEE的字体库产生冲突或者reviewer那边的电脑没有办法打开,上网查了一阵,把这个让人烦又简单的东西干掉了,其实就四句话。

以前在画每一个子图的时候,设置一下字体就可以了,省得每一次都点属性设置,烦死了。

但是一定要在编辑了标题和label之前,否则就得不偿失了,会把已经输入的东西覆盖掉的。

以后又可以省掉一点琐事了。

set(gca,'FontSize',10, 'FontName','Arial')xlabel('test','FontSize',10,'FontName','Arial')ylabel('test','FontSize',10,'FontName','Arial')legend('test','FontSize',10,'FontName','Arial')title('test','FontSize',13,'FontName','Times New Roman')%{{figure_FontSize=12;set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle'); set(findobj('FontSize',12),'FontSize',figure_FontSize);%}这4句是将字体大小改为8号字,在小图里很清晰%set(gcf,'Position',[100 100 260 220]);%这句是设置绘图的大小,不需要到word里再调整大小。

我给的参数,图的大小是7cm%set(gca,'Position',[.13 .17 .80 .74]);%这句是设置xy轴在图片中占的比例,可能需要自己微调。

%set(findobj(get(gca,'Children'),'LineWidth',,'LineWidth',2);%这句是将线宽改为2set(gca, 'Fontname', 'Times newman', 'Fontsize', 12);%设置图片的字体类型和字号大小的。

MATLAB受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法.第一节图形窗口与坐标系一.图形窗口在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口;3.当前窗口句柄可以由MATLAB函数gcf获得;4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);figure(h)----将句柄为h的窗口设置为当前窗口;5.打开图形窗口的方法有三种:1)调用绘图函数时自动打开;2)用File---New---Figure新建;3)figure命令打开,close命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.6.窗口中的图形打印:用图形窗口的File菜单中的Print项.7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性.二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由 MATLAB函数gca获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定;292) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on则显示坐标轴(缺省值).3)通常MATLAB的坐标系是长方形,长宽比例大约是 4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot函数plot 函数是最基本的绘图函数,其基本的调用格式为:(y)------绘制向量y对应于其元素序数的二维曲线图, 如果y为复数向量, 则绘制虚部对于实部的二维曲线图.例:绘制单矢量曲线图.y=[0 5 15 20];plot(y)由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:2468101214161820(x,y)------ 绘制由x,y所确定的曲线.1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为横坐标,y为纵坐标的图形.如:画正弦曲线:t=0::2*pi;y=sin(t);plot(t,y)2)当 plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于30向量x的曲线.如果y阵中行的长度与x向量的长度相同,则以y的行数据作为一组绘图数据;如果y阵中列的长度与x向量的长度相同,则以y的列数据作为一组绘图数据;如果y阵中行, 列均与x向量的长度相同,则以y的每列数据作为一组绘图数据.例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=*sin(x);y(2,:)=*sin(x);plot(x,y)或者还可以这样用:x=0:pi/50:2*pi;y=[ sin(x); *sin(x); *sin(x)];plot(x,y)0123456713) 如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的图形.例:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:));y(2,:)=*sin(x(2,:));y(3,:)=*sin(x(3,:));plot(x,y)x=x';y=y';figure31plot(x,y)在这个例子中,x------ 3x101,y------3x101,所以第一个plot按列画出101条曲线,每条3个点;而x'------101x3,y'------ 101x3,所以第二个plot 按列画出3条曲线,每条101个点.-11-113. 多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)上面的plot格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项选项意义选项意义'r' 红色 'm' 粉红'g' 绿色 'c' 青色32'b' 兰色 'w' 白色'y' 黄色 'k' 黑色各种线型属性选项选项意义选项意义'-' 实线 '--' 虚线':' 点线 '-.' 点划线各种标记点属性选项选项意义选项意义'.' 用点号绘制各数据点 '^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond用菱形绘制各数据点 'h' 用六角星绘制各数据点这些选项可以连在一起用,如:''表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线.注意:1)表示属性的符号必须放在同一个字符串中;2)可同时指定2~3个属性;3) 与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上.例:t=0::2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')该程序还可以按下面的方式写:t=0::2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r')hold onplot(t,y2, ':g')plot(t,y3, '*b')hold off注:在MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on后,可以保持坐标系中已绘出的图形.3301234567-11图(a)还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),填充颜色 (MarkerFaceColor)及标记点的大小(MarkerSize) 等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为10绘出图形如下:344. 双Y轴绘图:plotyy()函数.其调用格式为:plotyy(x1,y1,x2,y2)------ 绘制由x1,y1和x2,y2确定的两组曲线,其中x1, y1的坐标轴在图形窗口的左侧,x2,y2的坐标轴在图形窗口的右侧.Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function是指那些绘图函数如:plot,semilogx,loglog 等.例如:在一个图形窗口中绘制双Y轴曲线.x=0::12;y=exp*x).*sin(x)+;plotyy(x,y,x,y,'plot','stem')图形如下:11stem: 绘制stem形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y轴坐标对应的是plot形式的曲线,右边的Y坐标对应的是stem形式的曲线.二.对数坐标图绘制函数:在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy和loglog函数.1)semilogx( )------绘制以X轴为对数坐标轴的对数坐标图.其调用格式为:semilogx(x,y,'属性选项')其中属性选项同plot函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.2)semilogy( )------绘制以Y轴为对数坐标轴的对数坐标图.其调用格式为:semilogy(x,y,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.353)loglog( )------ 绘制X,Y轴均为对数坐标轴的图形.其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.例:x=0::6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4)MATLAB还提供了一个实用的函数:logspace( )函数, 可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n)这里,x1 表示向量的起点;x2表示向量的终点;n表示需要产生向量点的个数(一般可以不给出,采用默认值50).在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.三.极坐标图的绘制函数:绘极坐标图可用polar( )函数.其调用格式如下:polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot函数基本一致.例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0::8*pi;p=cos((5*theta)/4)+1/3;polar(theta,p)13021060240902701203001503301800四. 绘制多个子图:subplot( )函数MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm个部分.分割图形窗口用subplot函数来实现,其调用格式为:subplot(n,m,k) 或subplot(nmk)------n,m分别表示将窗口分割的行数和列数, 36k表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用符号分开.例如:将窗口划分成2x2=4个部分,可以这样写:subplot(2,2,1),plot(……)subplot(2,2,2),……subplot(2,2,3),……subplot(2,2,4),……221 222223 224注:subplot函数没有画图功能,只是将窗口分割.第三节图形的修饰与标注MATLAB提供了一些特殊的函数修饰画出的图形,这些函数如下:1) 坐标轴的标题:title函数其调用格式为:title('字符串')------字符串可以写中文如:title('My own plot')2)坐标轴的说明:xlabel和ylabel函数格式:xlabel('字符串')ylabel(' 字符串')如:xlabel('This is my X axis')ylabel('My Y axis')3)图形说明文字:text和gtext函数函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项')x1,y1为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1的坐标单位,如没有选项,则x1,y1的坐标单位和图中一致;如选项为'sc', 则x1,y1表示规范化窗口的相对坐标,其范围为0到1.(1,1)规范化窗口(0,0)37如:text(1,2, '正弦曲线')函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线, 移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext参数中的字符串就标注在该位置上.4) 给图形加网格:grid函数在调用时直接写grid即可.上面的函数的应用实例:例: 在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.t=0:pi/100:2*pi;y=sin(t);plot(t,y),grid,axis([0 2*pi -1 1])xlabel('0 leq itt rm leq pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName',' 隶书' ,'FontSize',20)text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=', 'FontSize',16)text(5*pi/4,sin(5*pi/4),' sin(t)=',...'FontSize',16,'HorizontalAlignment','right')画出的图形为:0246-110 ≤ t ≤ πsin(t)正弦函数图形←sin(t)=0←sin(t)=sin(t)=→5) 在图形中添加图例框:legend函数其调用格式为:('字符串1', '字符串2', ……)------以字符串1,字符串2…… 作38为图形标注的图例.('字符串1', '字符串2', ……, pos)------pos指定图例框显示的位置. 图例框被预定了6个显示位置:0------ 取最佳位置;1------右上角(缺省值);2------左上角;3------左下角;4------右下角;-1------图的右侧.例:在图形中添加图例.x=0:pi/10:2*pi;y1=sin(x);y2=*sin(x);y3=*sin(x);plot(x,y1,x,y2,'-o',x,y3,'-*')legend('曲线1','曲线2','曲线3')绘出图形如下:02468-11曲线1曲线2曲线36)用鼠标点选屏幕上的点:ginput函数格式为: [x, y, button]=ginput(n)其中:n为所选择点的个数;x,y均为向量,x为所选n个点的横坐标;y为所选n个点的纵坐标.button为n维向量,是所选n个点所对应的鼠标键的标号:1------左键;2------中键;3------ 右键.可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.39第四节 MATLAB下图形对象的修改MATLAB图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root),图形窗口(Figures), 坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像 (Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次:RootFiguresAxes Uicontrol Uimenu Uicontextmenu (对象菜单)Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用MATLAB的图形对象句柄(Handle).在MATLAB中, 每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数:1)set函数:用于设置句柄所指的图形对象的属性.Set函数的格式为:set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)例:h=plot(x,y)set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.2)get函数:获取指定句柄的图形对象指定属性的当前值.格式为:get(句柄, '属性名')如: get(gca, 'Xcolor')------获得X轴的当前颜色属性值.执行后可返回X轴的当前颜色属性值[0,0,0](黑色).3)如果没有设置句柄,则可以使用下列函数获得:gcf:获得当前图形窗口的句柄;gca:获得当前坐标轴对象的句柄;gco:获得当前对象的句柄.如:A.要对图形窗口的底色进行修改,可用:set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B.要把当前X轴的颜色改为绿色,可用:set(gca, 'Xcolor', [0,1,0])40C.还可对坐标轴的显示刻度进行定义:t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2', 'pi'])-pi-pi/20pi/2pi-11本例中用'xtick'属性设置x轴刻度的位置(从-pi~pi,间隔pi/2,共设置5个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数, 因此重新设置['-pi','-pi/2','0','pi/2','pi']5个刻度值.二.一些常用的属性如下:1)Box属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框),'off'(无方框);2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:'normal'------正常'reverse'------反向4) 坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色,值为颜色向量'LineWidth'------ 轴的线宽,值为数字'Xgrid','Ygrid','Zgrid'------坐标轴上是否加网格,值为'on'和'off'.5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大小(向量个数相同)的向量.5)字体设置属性:'FontAngle'------ 设置字体角度,选项为: 41'normal'------ 正常;'italic'------ 斜体;'oblique'------ 倾斜;'FontName'------ 字体名称;'FontSize'------ 字号大小'FontWeight'------ 字体的轻重,选项为:'light','normal','bold'。

相关文档
最新文档