第六讲 MATLAB编程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
plot(X) X为向量 X为矩阵 plot(X,Y)
MATLAB编程与应用基础
第五章
MATLAB编程
x=-4:4 y=x [X,Y]=meshgrid(x,y)
40
30
20
10
0 -4 -2 0 2 4 -4 0 -2 4 2
MATLAB编程与应用基础
【 说明】 说明 】X 由 x 按行复制 而成, 而成,其行数为y元素的 个数; 个数 ; Y由 y按列复制而 成,其列数为x元素的个 数。
MATLAB编程与应用基础
第五章
MATLAB编程
5.2 M脚本文件和M函数文件
■
M文件分为命令文件和函数文件两种。 命令文件(脚本式M文件)
(1)无输入参数,不返回参数 (2)操作工作空间中的数据 (3)对于需要多次执行的一系列命令特别有用
■
函数文件(函数式M文件)
(1)可输入参数,也可返回参数 (2)函数的变量为局部变量(函数空间),也可设外部变量。 (3)扩充MATLAB的函数库
MATLAB编程与应用基础
%例4.2-1函数调用 示例 figure(1) sa=circle(10,'r') figure(2) sb=circle(10) figure(3) circle(10,'k')
figure(1): sa =
第五章
MATLAB编程
figure(3)
figure(2): sb =
5.1 M文件编程基础
5.1.2 M文件编写和运行 存盘要取文件名,通常保存到\matlab\work\目录中. 文件名要以字母开头中间不含空格和标点符号.通常用拼 音加数字,如:zhuxu1、zx2、jixian-1等; 不能用数字 和专用变量名,如123,pi,ans,eps,matlab等.文件 名不能与程序中变量名一样.(能保存,运行出错) 运行程序:点击工具条Tools中的run命令或在指令窗口 输入程序名。其运行结果或出错信息显示在指令窗口, 此时,用户应切换到指令窗口进行查看.
MATLAB编程与应用基础
第五章
MATLห้องสมุดไป่ตู้B编程
第五章 MATLAB编程
本章主要内容如下:
5.1 5.2 5.3 5.4 5.5
MATLAB编程基础 M脚本文件和函数 MATLAB程序控制 编程技巧 调试工具
MATLAB编程与应用基础
第五章
MATLAB编程
5.1 编程基础
5.1.1 数值、变量和表达式 1. 数值 MATLAB的数值采用习惯的十进制表示,以下记述都 是合法的:3,-99,0.001,9.578,1.3e-4,2.78e23 2. 变量命名规则 变量名、函数名对字母大小写敏感。MAY、may表示 不同变量。 变量名第一个字母必须是英文字母,且不能超过65个 字符。 变量名中不得包含空格、标点但可包含下连符,如 my_var 是合法的变量名。
第五章
MATLAB编程
本次主要内容如下:
1 实验说明 2 绘图复习 3 matlab编程
MATLAB编程与应用基础
第五章
MATLAB编程
例用图形表示 y=sin(t)sin(9t).
%产生参变量采样向量 t=(0:100)/100*pi; %产生数据向量 y=sin(t).*sin(9*t); %确定子图、 确定子图、 subplot(2,1,1),plot(t,y,'r.'),axis([0,pi,-1,1]),title('子图1') subplot(2,1,2),plot(t,y),axis([0,pi,-1,1]),title('子图2') 线型、 线型、注释等
>>a = 3 >>b = 2;
MATLAB编程与应用基础
第五章
MATLAB编程
5.1 M文件编程基础
5.1.2 M文件编写和运行
点击MATLAB桌面上 图标,弹出M文件编辑器。 将指令写入M文件编辑调试器的空白框中(通常在空白框第一行 写入包含文件名的注释%)。 点击M文件编辑器的 图标,并在保存对话框中填写目录和文件 名,再按【保存】键,脚本文件即存于指定的目录上。
MATLAB编程与应用基础
5.2.3 M函数文件的一般结构 第五章 MATLAB编程 figure(1): function sa = circle(r,s) sa =314.1593 函数调用示例 %CIRCLE plot a circle of % radii r in figure(1) the line specified by s. % r 指定半径的数值 ,ssa=circle(10,'r') 指定线色 的字符串,sa 圆面积 figure(2) ….. sb=circle(10) if nargin>2 figure(3) figure(2): error('输入宗量太多。 输入宗量太多。'); circle(10,'k') sb =314.1593 end; if nargin==1 s='b'; end;clf; t=0:pi/100:2*pi; x=r*exp(i*t); if nargout==0 plot(x,s); figure(3) else sa=pi*r*r; fill(real(x),imag(x),s) end,axis('square')
MATLAB编程与应用基础
第五章
MATLAB编程
5.1.1 数值、变量和表达式 3. MATLAB默认的预定义变量 ans 计算结果的缺省变量名 i或j 虚单元 pi 圆周率 Inf 或 inf 无穷大,如1/0 NaN 或 nan 非数(不是一个数),如0/0 realmax 最大正实数 realmin 最小正实数 【说明】用户在编写指令和程序时,尽可能避免对预 定义变量重新赋值。
MATLAB编程与应用基础
各种变量名字相同时出现什么情况??? 各种变量名字相同时出现什么情况???
第五章
MATLAB编程
输入 china 是 变量? 变量? 否 内联函数? 内联函数? 是 执行该 内部函数 inline
MATLAB编程与应用基础
Matlab命令执行过程
输出变量 china的值 否
MATLAB编程与应用基础
第五章
MATLAB编程
5.2.3 M函数文件的输入输出变量检测
■ M在调用函数时, 在调用函数时,MATLAB用两个永久变量nargin和nar
gout分别记录调用该函数时的输入实参 分别记录调用该函数时的 输入实参和 输入实参 和 输出实参的实 输出实参的实 际个数。 际个数。 在函数文件中包含 nargin 和 nargout 这两个变量, 这两个变量 , 就可以准确地知道该函数文件被调用时的输入输 出参数个数, 出参数个数,从而决定函数如何进行处理。 从而决定函数如何进行处理。 nargin 和 nargout 本身都是函数, 本身都是函数 , 所以用户不能赋 所以用户 不能赋 值,也不能显示。 不能显示。 nargin(’fun’):获取fun指定函数的标称输入变量 数 narginout ( ’fun’ ) : 获取 fun 指定函数的标称输出 变量数
MATLAB编程与应用基础
第五章
MATLAB编程
5.1 M文件编程基础
5.1.2 M文件编写和运行
选中M文件编辑器下拉菜单项【 【 Debug:Run】,即可执行该文件。 如果文件有错误,则会停在出错的指令行上,并在指令窗中指出错 误的类型,和出错的位置。
MATLAB编程与应用基础
第五章
MATLAB编程
MATLAB编程与应用基础
第五章
MATLAB编程
5.1.1 数值、变量和表达式 4. 变量表达式 MATLAB的语句形式为:变量=表达式; 通过等于符号将表达式的值赋予变量。当键入回车键 时,该语句被执行。语句执行之后,窗口自动显示出 语句执行的结果。 如果希望结果不被显示,则只要在语句之后加上一个 分号(;)即可。此时尽管结果没有显示,但它依然 被赋值并在MATLAB工作空间中分配了内存。
函数绘图
第五章
MATLAB编程
f=‘x.^2+y.^2-16’ figre(1) subplot(2,1,1) ezplot(f) 一元函数绘图 subplot(2,1,1) ezmesh (f) 二元函数绘图
syms s t x='s*cos(t)'; x,y,z字符型 y='s*sin(t)'; z='t' ezmesh(x,y,z,[0,pi,0,5*pi]) s,t的取值范围
子函数? 子函数? 私有函数? 私有函数? 当前目录中有 china.m?
报错! 报错!
否
搜索路径中有 china.m?
是 执行该 M文件
是 执行该 M文件
是 执行该 M文件
第五章
MATLAB编程
5.3 MATLAB程序控制
程序控制结构有三种:顺序结构、选择结构和循环结构。 任何复杂的程序都由这三种基本结构组成。
MATLAB编程与应用基础
5.2.3 M函数文件的一般结构 第五章 MATLAB编程 函数申明行 function sa = circle(r,s) 【说明】 说明】 %CIRCLE plot a circle of radii r in the line H1行 specified by s. (1)H1行包含 H1行包含 % r 指定半径的数值 ,s 指 定 线 色 的 字 大写体的函数文 在线帮助文本 符串,sa 圆面积 件名, 件名,运用关键 ….. 词简要描述的函 %函数调用示例 if nargin>2 数功能。 数功能。该行提 函数体 供lookfor关键 lookfor关键 error('输入宗量太多。 输入宗量太多。'); figure(1) sa=circle(10,'r') 词查询和help help在 词查询和help在 end; 线帮助使用。 线帮助使用。 figure(2) if nargin==1 s='b'; sb=circle(10) 【说明】 说明】 (2)M脚本文 end;clf; figure(3) nargin, nargout 件仅比M 件仅比M函数 t=0:pi/100:2*pi; x=r*exp(i*t); circle(10,'k') 为输入、 为输入 、 输出宗量 文件少一个函 检测指令. if nargout==0 数申明行。 数申明行。 plot(x,s); else sa=pi*r*r; fill(real(x),imag(x),s) end,axis('square')
314.1593
314.1593
MATLAB编程与应用基础
5.5 M脚本文件和M函数文件
5.5.4 局部变量和全局变量 局部(Local)变量
第五章
MATLAB编程
存在于函数空间内部的中间变量,产生于函数的 运行过程中,影响范围也仅限于函数本身。 全局(Global)变量 通过 global指令,可定义为不同函数空间和基本 空间共享的同一变量,即全局变量。 全局变量使用前一定需要定义 Global a b c 全局变量破坏了函数对变量的封装性,应该尽量 避免使用
MATLAB编程与应用基础
第五章
MATLAB编程
5.2 M脚本文件和M函数文件
5.2.2 M函数(Functions)文件 M函数文件不同于M脚本文件,是一种封装结构,外 界通过提供输入量,而得到函数文件的输出结果。从 使用的角度,其具有以下特点: 函数是接受入口参数返回出口参数的 M-文件,程 序在自己的函数空间中操作变量,与工作空间分开, 无法访问。 函数文件的第一行是“function”引导的“函数声明 行”,并罗列出函数与外界联系的全部 “标称” 输入输出宗量。 MATLAB 允许使用比标称数目较少的输入输出宗 量,实现对函数的调用。 M函数分为主函数、子函数和私有函数等
MATLAB编程与应用基础
第五章
MATLAB编程
5.2 M脚本文件和M函数文件
5.2.1 M脚本(Scripts)文件 脚本是最简单的 M- 文件,它没有入口和出口参数变 量。可以自动执行一系列MATLAB 命令,诸如重复 命令等。 脚本(Scripts)是对工作空间(workspace)中的现有 数据操作,或创建一个新数据,而且脚本所创建的任 一变量在脚本运行完都保留在工作空间中以便进一步 使用。 脚本可以直接在命令窗口用文件名直接调用。 一般用 clear 、 close all 等语句开始,可清除掉工作空 间中原有的变量和图形,以避免其他已执行的残留数 据对本程序的影响。