Matlab程序设计-第03章

合集下载

MATLAB3章程序设计

MATLAB3章程序设计
菜单操作 ( File New M-File ) 命令操作 ( edit M 文件名 ) 命令按钮 ( 快捷键 )
打开已有的 M 文件
菜单操作 ( File Open ) 命令操作 ( edit M 文件名 ) 命令按钮 ( 快捷键 ) 双击 M 文件
(2). windows记事本和word建立M文件
2013年8月13日7时49分
24
例题 function c=test(a,b) %主函数 c=test1(a,b)*test2(a,b); function c=test1(a,b) %子函数1 c=a+b; function c=test2(a,b) %子函数2 c=a-b;
子函数则只能在主函数文件中编辑
3.2 函数文件
•3.2.1 •3.2.2 •3.2.3 •3.2.4 •3.2.5 M文件分类 函数文件的基本结构 函数调用 全局变量和局部变量 子函数与局部函数
3.2.1 M文件的分类
1. 根据不同调用方式两类 ① Script:脚本文件/命令文件
② Function:函数文件
2. 命令文件 —
2013年8月13日7时49分
调用test4: >> a=[4 3 5;6 7 8;3 5 7;1 3 4]; >> test4(A) ans = 4.6667 >> global s ss >> ss ss = 56 >> s s= 12 21 15 8
23
3.2.5 子函数与局部函数
一个M文件可以包含多个函数,其中,一个是主函数,其他 是子函数。 主函数必须出现在最上方,其后可有若干子函数,子函数的 次序可随意调整。主函数和各子函数的工作空间都是彼此独 立的。 私有函数是主函数的一种,是private子目录中的函数。它们 只对父目录中的函数可见。 子函数只能为主函数或同一主函数下的其他的子函数所调用

matlab3程序设计.ppt

matlab3程序设计.ppt

四、matlab的程序结构
matlab语言的程序结构与其它高级语言是一致的, 分为顺序结构,循环结构,分支结构。
❖ 顺序结构 —— 依次顺序执行程序的各条语句 ❖ 循环结构 —— 被重复执行的一组语句 ❖ 分支结构
1) for — end 循环执行一定次数
语法为:
for i = 表达式 (表达式为一个向量) 可执行语句
for i=1:10;a{i}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;end;c=[d,c];
Name={' Jack','Marry','Peter',' Rose',' Tom'};
%元胞数组
Mark={72,83,56,94,100};Rank=cell(1,5);
2. m文件
m文件的语法类似于c语言,但又有其自身特点。它 只是一个简单的ASCII码文本文件,执行程序时逐行 解释运行程序,matlab是解释性的编程语言。
m文件有两类独立的m文件 — 称命令文件
可调用m文件 — 称函数文件
(1). 命令文件 — 简单的m文件
命令文件实际上是一串指令的集合,与在命令窗口 逐行执行文件中的所有指令,其结果是一样的。没 有输入输出参数。
一、matlab的工作模式
❖ 指令模式
通常matlab以指令模式工作,即在matlab 窗口下当 用户输入单行指令时,matlab 立即处理这条指令, 并显示结果,这就是matlab命令行方式。
例如:
>>x1=0:10 x1 = 012345678
>>x2=0:3:11 x2 = 0369

三章MATLAB程序设计ppt课件-精品文档

三章MATLAB程序设计ppt课件-精品文档

单击MATLAB主窗口工具栏上的New M-File命令图标,启动
MATLAB文本编辑器后,输入M文件的内容并存盘。
4
2.M文件编辑器
5
3.1.2 脚本式M文件Script
注意事项
File
用户可以将需要重复输入的所有命令按顺序放到一个扩展名为 .m的 文本文件下,每次运行时只要输入该M文件的文件名即可。产生的所 有变量都是全局变量,可在工作空间查看,或者在命令窗口输入变量 名查看。 用户自己创建的M文件的文件名、变量要避免与MATLAB的内置函数 和工具箱中的函数及常量重名,以免发生内置函数和常量被替换的情 况。
9
(2) 函数调用
在命令窗口,函数调用的一般格式是:
[输出参量表]=函数名(输入参量表)
函数调用时输入参量出现的顺序、个数和类型,应与函 数定义一致,参量名字可以不同,否则会出错。 输出参量可以少于规定的个数,但绝不能多于。
在 MATLAB 中,函数可以嵌套调用,即一个函数可以调
用别的函数,甚至调用它自身。调用的函数必须在 MATLAB 搜索路径范围内,一般把它们放在同一个文件 夹内。
第3章 MATLAB程序设计
3.1 3.2 3.3 3.4
函数式和脚本式M文件 M文件的流控制语句 程序的调试 匿名函数
1
3.1 脚本式和函数式M文件
3.1.1 M文件概述 用 MATLAB 语言编写的程序,称为 M 文件。 M 文件是一个文本文件,它可以用任何编辑程序
来建立和编辑,而一般常用且最为方便的是使用
10
• 3.2 M文件的流控制语句
顺序结构
选择结构 (if, switch)
循环结构 (for, while)

《MATLAB程序设计教程》第3章MATLAB程序设计

《MATLAB程序设计教程》第3章MATLAB程序设计

《MATLAB程序设计教程》第3章MATLAB程序设计《MATLAB程序设计教程(第二版)》的第3章主要介绍了MATLAB程序设计的基本概念和基本语法。

本章内容包括MATLAB程序的基本结构、变量的定义和使用、矩阵和向量的操作、条件语句和循环语句的使用、MATLAB函数及其调用、输入和输出等。

首先,本章介绍了MATLAB程序的基本结构。

一个MATLAB程序包含多个部分,包括脚本文件、函数文件、注释等。

脚本文件是由一系列MATLAB语句组成的,按照顺序执行。

函数文件是由函数定义和函数体组成的,可以在其他脚本文件或函数文件中调用。

接着,本章介绍了MATLAB中变量的定义和使用。

MATLAB中的变量是用来存储数据的,可以是数字、字符、字符串等。

变量可以使用等号进行赋值,并且可以进行各种运算操作。

MATLAB中的变量有严格的命名规则和作用域,需要注意命名的规范。

然后,本章介绍了MATLAB中矩阵和向量的操作。

MATLAB可以通过矩阵和向量进行复杂的数值计算。

可以通过矩阵的加减乘除、转置、求逆等操作来实现各种数值运算。

MATLAB还提供了许多便捷的函数来操作矩阵和向量,例如最大最小值、平均值、排序等。

接下来,本章介绍了条件语句和循环语句的使用。

条件语句用来根据条件执行不同的操作,包括if语句和switch语句。

循环语句用来重复执行一段代码,包括for循环、while循环和do-while循环。

这些语句可以有效地控制程序的逻辑流程,并实现各种复杂的计算。

然后,本章介绍了MATLAB函数及其调用。

函数是由一系列语句组成的,可以重复使用。

可以在MATLAB程序中定义自己的函数,并在程序中调用。

函数可以接受输入参数,经过运算后返回输出结果,可以大大提高程序的重复利用性和代码的模块化程度。

最后,本章介绍了MATLAB的输入和输出。

MATLAB可以通过命令窗口进行输入输出,也可以通过文件进行输入输出。

可以使用各种函数来读取和写入数据,包括文本文件、二进制文件等。

《MATLAB程序设计》PPT课件

《MATLAB程序设计》PPT课件

程序2(函数式文件) 首先建立函数文件f2c.m。 function c=f2c(f) c=5*(f-32)/9 然后在MATLAB的命令窗口调用该函数文件。 clear; y=input('Input Fahrenheit temperature:'); x=f2c(y) 输出情况为: Input Fahrenheit temperature:70 c= 21.1111 x= 21.1111
2.数据的输出 MATLAB提供的命令窗口输出函 数主要有disp函数,其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可 以为矩阵。
例3-2 输入x,y的值,并将它们的值互换后 输出。 程序如下: x=input('Input x please.'); y=input('Input y please.'); z=x; x=y; y=z; disp(x); disp(y);
例3-6 某商场对顾客所购买的商品实行打折 销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣 输入所售商品的价格,求其实际销售价格。
(2) 双分支if语句: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语 句组2,语句组1或语句组2执行后,再执行 if语句的后继语句。
例3-4 计算分段函数的值。 程序如下: x=input('请输入x的值:'); if x<=0 y= (x+sqrt(pi))/exp(2); else y=log(x+sqrt(1+x*x))/2; end Y

03 Matlab程序设计

03 Matlab程序设计

一般调试技术
语句末分号(取消分号) 利用keyboard语句; 函数文件转换为脚本文件 利用调试器:设置断点、单步执行…
调试演示
m文件的创建、执行演示
编写m文件,将华氏温度转换为摄氏温度。
eg3_1.m
%华氏温度转换为摄氏温度 clear; %清除工作空间中的变量 h=input('输入华氏温度:'); c=5*(h-32)/9
演示3
(3)m文件的类型
独立的m文件 — 脚本文件 是一串指令的集合 与在命令窗口逐行执行文件中的指令一样 没有输入输出参数。 可调用的m文件 — 内置函数文件 用户自编函数文件 函数文件
(1)m文件创建方法 系统认可的文本文件编辑器 windows的记事本、word 利用matlab附带的 m文件编辑器
(2)m文件编辑器创建m文件示例
在matlab命令窗口点击file 菜单new → m-file 在编辑窗口输入指令 演示2 保存在工作路径中
m文件的存储路径: 默认路径 :\MATLAB71\work\ 其它路径 自己设定 创建的m文件必须纳入matlab搜索路径, 才能在matlab命令窗口运行。 搜索路径修改演示 m文件的创建、执行演示
第三讲 Matlab 程序设计
张 燕平 09-05-27, 09:44
matlab的工作模式 m文件的创建 m程序的流程控制 参数交互输入 程序设计技术 程序调试
1、matlab的工作模式
(1)指令驱动模式
matlab命令行方式 在命令窗口中执行命令 要点: 一次只能执行一行; 一行中可以有一个或几个语句(逗号分隔); 例: >>x1=0:10 >> x1=0:10,x2=0:3:11

第3章Matlab程序设计精品PPT课件

第3章Matlab程序设计精品PPT课件

顺序结构是指按照程序中语句的排列顺序依次执 行,直到程序的最后一个语句。(最简单的一种 程序)
1、数从据键的盘输输入入数据,则可以使用其in中pu提符t示串函信,数息用来为于一提进个示行字用,
调用格式为:
户输入数据。
A = input(提示信息,选项);
例如:从键盘输入A矩阵,可以采用下面的命令 来完成
A = input(‘输入A矩阵’);
如果在input函数调用时采用’s’选项,则允许用 户输入一个字符串。
例:xm = input(‘What’’s your name?’,’s’);
2020/10/162011-3-4
Matlab Language
10
3.2.1 顺序结构
2、数据的输出 命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。例如: A = ‘Hello, Tom’; disp(A) 输出为:Hello, Tom 又如:A = [1,2,3;4,5,6;7,8,9]; disp(A) 输出为: 123 456 7 8 9 %disp函数输出格式更紧凑
Matlab
工程学院
程序设计的基本步骤
☻ 1.清晰地陈述出你要解决的问题。 ☻ 2.确定程序所需地输入量和程序所产生
的输出量。 ☻ 3.为你的程序设计算法 ☻ 4.将算法转化为MATLAB 语句 ☻ 5.调试MATLAB 程序
2020/10/162011-3-4
Matlab Language
2
Matlab命令的执行方式
2020/10/162011-3-4
Matlab Language
12
3.2.1 顺序结构

MATLAB课件第3章MATLAB程序设计

MATLAB课件第3章MATLAB程序设计
a=1:10; b=[11,12,13,14;15,16,17,18];
c=a;a=b;b=c;
a
b 然后在MATLAB的命令窗口中输入exch,将会执行 该命令文件。
2020/8/11
目录
函数文件
用M文件自定义函数,开头为: function yname = fname(xname) yname: 因变量名,fname: 函数名,xname:自变量 名. 文件名为fname,即与函数名相同. • 与命令文件不同 ,函数文件犹如一个“黑箱”,把一些
目录
例3.4 求一元二次方程ax2 +bx+c=0的根。 程序如下:
a=? 3
a=input('a=?'); b=input('b=?'); b=? 4 c=input('c=?'); c=? 9
d=b*b-4*a*c; x1=-0.66667+1.5986i,x2=-0.66667-1.5986i
已知打折标准为: 商品价格小于200元时,折扣率为0; 商品价格大于或等于200元且小于500时,折扣率为0.03; 商品价格大于或等于500且小于1000元时,折扣率为0.05; 商品价格大于或等于1000且小于2500元时,折扣率为0.08; 商品价格大于或等于2500且小于5000元时,折扣率为0.1; 商品价格大于或等于5000元时,折扣率为0.14; 求所售商品的实际销售价格。if 条源自 语句组1else 语句组2
end 当条件成立时,执行语句组1,否则执行语句 组2,语句组1或语句组2执行后,再执行if语句 的后继语句。
2020/8/11
目录
例3.4计算分段函数值 ycos(x1) x21,x10

MATLAB入门第三章MATLAB程序设计基础

MATLAB入门第三章MATLAB程序设计基础

第三章MATLAB程序设计基础chapter 3: Foundation of MATLAB programdesign一、数据及数据文件(Data and Data file)1. 数据类型:(Data mode)为适应各种不同计算和处理的需求,MATLAB提供了多种数据类型,主要有:*数值数组(Numeric array)—包括整形(int8,uint8,int16,uint16,int32,uint32)单精度(signal)双精度(duble)(MATLAB最常用的变量类型)稀疏数组(sparce)按维数分有一维、二维和多维数组Int---Integrate.整形数组Uint---Unsigned Integer data 无符号整形数组*字符串数组(Character array):由字符串组成的数组*单元数组(Cell array):用不同类型和大小的数组组成的数组,同一个元胞数组中各元胞的内容可以不同。

*结构数组(Structure array):与单元数组类似,但其数据的组织能力更强,更富于变化。

*Java类(Java class):由JavaAPI或第三方定义的类函数。

*函数句柄(Function handle):可以在一个参数列表中传递,并使用feval运行.在工作空间浏览器中不同的数据类型有着不同的图标标识。

2. 数据文件(Data file)MATLAB支持的各种数据文件(Readable file formats of MATLAB)的主要类型及其存取方法如下述:(1)二进制数据文件:(Binary date file)以.mat为扩展名。

是标准的MATLAB数据文件,以二进制编码形式存储。

.mat文件可以由MATLAB提供的save和load命令直接存取。

(2)ASCⅡ码数据文件:(ASCⅡ code data file)扩展名为.txt, .dat 等,可以是在MATLAB环境下存储的,也可能是其他软件的计算结果,可以被MATLAB调用,也可以用文本编辑器打开进行观察与修改。

第三章matlab程序设计

第三章matlab程序设计

0.5457e0.75x 22 3.75x12 1.5x1 x1 x2 1
p(x1, x2 ) 0.7575ex22 6x12
1 x1 x2 1
0.5457e
0.75
x
2
2
3.75
x
1
2
1.5x
1
x1 x2 1
a=2;b=2; clf; x=-a:0.2:a;y=-b:0.2:b; for i=1:length(y)
3.1 M文件
3.1.1 M文件概述 用MATLAB语言编写的程序,称为M
文件。M文件可以根据调用方式的不同分为 两类:命令文件(Script File)和函数文件 (Function File)。
3.1 M文件
例 分别建立命令文件和函数文件,将华氏温度 f 转换为摄 氏温度c。
首先建立命令文件并以文件名f2c.m存盘。
a=input('请输入字符:','s'); x=find(a>='a'&a<='z'); y=find(a>='A'&a<='Z'); ascii_a=double(a); ascii_a(x)=ascii_a(x)-32; ascii_a(y)=ascii_a(y)+32; char(ascii_维数相容,否则会出错。 先求两矩阵的乘积,若出错,则自动转去求两矩阵的 点乘。
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
lasterr

MATLAB程序设计教程

MATLAB程序设计教程

MATLAB程序设计教程MATLAB程序设计教程本文档旨在向初学者介绍MATLAB程序设计的基础知识和技巧。

从安装MATLAB开始,到编写简单的程序和函数,再到更高级的数据处理和图形绘制技巧,我们会逐步深入讲解,以帮助读者掌握MATLAB编程的基本概念和技术。

第一章安装MATLAB- MATLAB的和安装步骤- 注册MATLAB账号- 软件环境需求第二章 MATLAB基础知识- MATLAB界面概览- 基本操作和快捷键- 变量和数据类型- 向量和矩阵运算- 控制流程语句第三章编写简单的程序- 编辑和运行脚本文件- 使用注释和帮助文档- 变量和运算符- 用户输入和输出- 错误处理第四章 MATLAB函数- 函数的定义和调用- 函数输入和输出- 匿名函数- 递归函数第五章数据处理和分析- 数据加载和保存- 矩阵操作和线性代数- 统计和概率分析- 插值与拟合- 数据可视化第六章图形绘制- 2D和3D绘图函数- 坐标轴设置和标签- 图例和颜色设置- 动态图形第七章高级技巧与应用- 调试和优化MATLAB代码- 编写自定义工具箱- 与其他编程语言的交互- 并行计算和分布式计算- MATLAB的工程应用本文档涉及附件:附件1、示例程序代码附件2、数据集样本本文所涉及的法律名词及注释:1.版权:指文学、艺术、音乐、电影、软件等创造性作品的独占权。

2.许可证:指授权他人使用自己拥有的知识产权的合法证明文件。

3.商标:指为区别同一种类商品和服务的商家而使用的标志、名称或字词等。

Matlab课件教程2第3章程序设计

Matlab课件教程2第3章程序设计

3.2 控制语句
• 3.2.1 表达式、表达式语句与赋值语句 • 1.表达式 • 2.表达式语句 • 2.赋值语句
3.2.2 程序流程控制语句
• 1.循环语句 • 2.选择语句 • 3.分支语句
3.2.3 程序流程控制指令
• 中断命令break • return指令 • 等待用户反文件是使用MATLAB语言编写的程序代码 文件。之所以称为M文件,是因为这种文件 都以“.m”作为文件扩展名。用户可以通过 任何文本编辑器或字处理器来生成或编辑M 文件,但是在MATLAB提供的M文件编辑器 中生成或编辑M文件是最为简单、方便而且 高效的。
3.1.1 命令式文件
3.2.4 人机交互语句
• echo命令 • input命令 • keyboard命令
3.2.5 MATLAB程序的调试命令
• dbstop命令 • dbcont命令 • dbstep命令 • dbstack命令 • dbstatus命令 • dbtype命令 • dbquit命令
3.3 函数变量及其作用域
• 在MATLAB中,实现某项功能的一串 MATLAB语句命令余函数组合成的文件叫命 令式文件。这种M文件在MATLAB的工作空 间内对数据进行操作,能在MATLAB环境下 直接执行。命令式文件不仅能够对工作空 间内已存在的变量进行操作,并能将建立 的变量及其执行后的结果保存在MATLAB工 作空间里,供在以后的计算中使用。
3.1.2 函数式文件
• MATLAB函数通常是指MATLAB系统中以设 计好的完成某一种特定的运算或实现某一 特定功能的一个子程序。MATLAB函数或函 数文件是MATLAB语言中最重要的组成部分, MATLAB提供的各种各样的工具箱几乎都是 以函数形式给出的。MATLAB的工具箱是内 容极为丰富的函数库,可以实现各种各样 的功能。

matlab程序设计第三章课后习题答案

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制以下两条曲线并标注两曲线交叉点。

>> t=0:0.01:pi;>> x1=t;>> y1=2*x1-0.5;>> x2=sin(3*t).*cos(t);>> y2=sin(3*t).*sin(t);>> plot(x1,y1,'r-',x2,y2,'g-')>> axis([-1,2,-1.5,1])>> hold on>> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*');截图:p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。

function [ output_args ] = Untitled2( input_args )%UNTITLED2 Summary of this function goes here% Detailed explanation goes heretheta=0:0.01:2*pi;a=input('请输入a的值:');b=input('请输入b的值:');n=input('请输入n的值:');rho=a*sin(b+n*theta);polar(theta,rho,'k');end下面以a=1,b=1,n=1的极坐标图形为根底来分析a、b、n的影响。

对a的值进行改变:比照发现a只影响半径值的整倍变化对b的值进行改变:比照发现b的值使这个圆转换了一定的角度对n的值进行改变:比照发现当n>=2时有如下规律1、当n为整数时,图形变为2n个花瓣状的图形2、当n为奇数时,图形变为n个花瓣状的图形分别让n为2、3、4、5同时改变b和n的值,比照发现图形变为2n个花瓣状,并且还旋转了一定角度1 绘制sin(x)曲线,通过句柄修改曲线的颜色,要求:a)生成曲线的同时,获取句柄,再修改颜色;>> x=0:pi/50:2*pi;>> y=sin(x);>> h=plot(x,y)h =>> set(h,'color','r');截图如下:b〕先生成曲线,然后再获取句柄,再完成颜色修改。

matlab 第三章--程序设计

matlab 第三章--程序设计

【例2】 求一元二次方程a2 +bx+c=0的根。
a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)] 将该程序以aa.m文件存盘,然后运行aa.m文件。
三、程序流程结构
(一)选择结构
选择结构的语句有if语句和switch语句。
1. if语句
格式一: if 条件 语句组 end 格式二: if 条件 语句组1 else 语句组2 end
(一)选择结构
格式三: if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组m+1 end
函数基本格式: (1)函数定义行(关键字function) function[out1,out2,..]=filename(in1,in2,..) 输入和输出(返回)的参数个数分别由nargin和 nargout两个MATLAB保留的变量来给出。 (2)第一行帮助行,即H1行 以(%)开头,作为lookfor指令搜索的行 (3)函数体说明及有关注释 以(%)开头,用以说明函数的作用及有关内容, 作为help指令显示的行。如果不希望显示某段信 息,可在它的前面加空行 (4)函数体语句
8、MATLAB程序的基本组成结构 %说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱 … … … 提供的专用命令 控制循环 :包含for,if then,switch,while等语句 逐行执行命令 … … … 绘图命令:将运算结果绘制出来

MATLAB语言与程序设计第3章 程序设计

MATLAB语言与程序设计第3章 程序设计

在命令窗口输入以下指令:
x=[1,2,2,3,3,4,5,5]
[s,k]=FLTJ_1(x)
运行结果如下:
s =
1 1 2 2 3 2 4 1 5 2
k = 5
对函数和脚本进行总结如下。 (1)函数名必须与文件名相同。 (2)函数可以包括0个或多个输入参数和返回值, 脚本没有输入参数和返回值。 (3)函数变量(除特殊说明外)都是局部变量, 脚本变量都是全局变量。 (4)在函数中调用脚本文件,等价于在函数中将 脚本文件的内容粘贴在调用位置。
switch nargin case 0 N=100;R=1;str='-b'; case 1 R=1;str='-b'; case 2 str='-b'; case 3 ; %不进行任何操作,直接跳出switch语句 otherwise error('输入量太多。'); end;
t=0:2*pi/N:2*pi; x=R*sin(t);y=R*cos(t); if nargout==0 plot(x,y,str); elseif nargout>2 error('输出量太多。'); else S=N*R*R*sin(2*pi/N)/2; L=2*N*R*sin(pi/N); fill(x,y,str) end axis equal square box on shg
变量和输出变量。 (2)H1行:是函数帮助文本的第一行,以%开头,用来概要说 明该函数的功能。 (3)函数帮助文本:在H1行之后且在函数体之前的说明文本
就是函数的帮助文本。
(4)函数体:是函数的主要部分,是实现该函数功能、进行 运算程序代码的执行语句。 (5)函数注释:函数体中除了进行运算外,还包括函数调用 与程序调用的必要注释。

matlab程序设计第3章

matlab程序设计第3章

y1

1 1 ex
第三章 MATLAB图形系统
可分别求出−5~5之间的值,在同一张图上画出曲线,并 利用legend函数对曲线进行说明,MATLAB程序为
x=[-5:.1:5]; y1=1./(1+exp(-x)); y2=(1-exp(-x)).*y1; figure(1) plot(x,y1,'r-',x,y2,'b.'),grid on legend('logsig函数', 'tansig函数', 4) title('多条曲线')
利用legend函数可对图中的曲线进行说明。例如,在同一 张图上可得到y=x2和y=x3曲线,然后利用legend函数对曲线进行 标注。MATLAB程序为
x=−2:.1:2; y1=x.^2; y2=x.^3; figure(1) plot(x,y1, 'r-', x, y2, 'k.'), grid on legend('\ity=x^2', '\ity=x^3') title('y=x^2和y=x^3曲线') xlabel('x'), ylabel('y')
第三章 MATLAB图形系统 图3.1 正弦曲线
.
第三章 MATLAB图形系统
执行后得到如图3.2所示的三角函数曲线。
图 3 2
常 用 三 角 函 数 的 曲 线
第三章 MATLAB图形系统
3.2 图 形 标 注
绘制图形后,还要给图形进行标注。例如,可以给每个图 加上标题、坐标轴标记和曲线说明等。给图3.1加上标题和轴标 记,可输入
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
厦门大学计算机系 严 严
第三章 Matlab程序设计
3.1 M文件 3.2 局部变量与全局变量 3.3 数据类型 3.4 运算符 3.5 控制语句 3.6 子函数 3.7 错误与警告信息 3.8 时间与日期函数
3.1 M文件
用MATLAB语言编写的可在MATLAB中运行的程序,称为M文件。 M文件包含两类:命令文件和函数文件。 两者区别在于: (1)命令文件没有输入参数,也不返回输出参数,而函数文件可以 输入参数,也可返回输出参数; (2)命令文件对工作空间中的变量进行操作,而函数文件的变量为 局部变量,只有其输入、输出变量保留在工作空间中; (3)一般来说,命令文件用于把很多需在命令窗口输入的命令放在 一起,而函数文件用于把重复的程序段封装起来,使程序更加简洁。 用任何文本编辑器都可编写M文件。在MATLAB的命令窗口中可以 运行M文件 无论是函数文件还是命令文件都可被别的程序调用。
【输出】
A = 'Hello, Tom'; disp(A)
disp(xm)
【暂停】 pause(延迟的秒数) 强行终止:Ctrl+C
3.5 程序流程控制
MATLAB也提供根据条件判断来控制程序流程的语句,最常见为 if-else-end的语句组合 【语法】 if 条件式 表达式; else 表达式; end
>>if rand(1,1)>0.5 >> disp('Given random number is greater than O.5.'); >> else >> disp('Given random number iS less than 0.5.'); >>end
3.5 程序流程控制
MATLAB也提供根据条件判断来控制程序流程的语句,最常见为 if-elseif-end的语句组合 【语法】 if 条件式 表达式; elseif 表达式; else end
3.1 M文件
在函数定义行function c=soundspeed(s,t,p)中,function为 函数文件的关键字,表明该文为函数文件:c为输出参数; soundspeed为函数名;s,t,p为输入变量件。 MATLAB的所有函数文件都遵从这种定义格式。当函数的输 出参数不只一个时,用中括号“[]”把输出参数括起来,参数之 间用逗号分开。如果有输入变量时,用小括号括起来,当个数不 只一个时,用逗号分开。 当函数无输出参数时,输出参数项空缺(等号也省略)或者用空 的中括号表示 【例如】 function printrcsults(x) function []=printresuits(x)
3.5 程序流程控制
switch语句,其语法格式为: switch 表达式(%可以是标量或字符串) case 值1 语句1 case 值2 语句2 …. otherwise 语句n end 【流程】表达式的值和哪种情况(case)的值相同,就执行哪种情况 中的语句,如果不同,则执行otherwise中的语句。格式中也可以 不包括otherwise,如果表达式的值与列出的各种情况都不相同, 则继续向下执行。
3.1 M文件
调用该命令文件时,不用输 入参数,也没有输出参数,文 件自身建立需要的变量。当文 件执行完毕后,用命令whos 可以查看工作空间中的变量。 可见变量t,r仍然保留在工作空 间中。
图3.1 花瓣图案
3.1 M文件
与命令文件相比,函数文件稍微复杂一些。下面为一个只有 两行的函数文件例子。 【例如】 function c=myfile(a,b) c=sqrt((a.^2)+(b.^2)) 一旦该函数文件建立,在MATLAB的命令窗口或在别的文件 里面,就可以用下列命令调用。 >>a=4 >>b=3 >>c=myfile(a,b); 结果为: C= 5.0000
t = 0:.1:35; % 形成向量 该函数文件包含以下几部分: a.函数定义行 文件的第一行为函数定义行,该行定义函数名、输入参数和输出 参数的个数。 b.H1行 H1行的字面意思为帮助信息的第一行,在上述文件中为第二行。当用 命令help查询该函数的帮助信息时,将显示该行内容。 c.帮助体 文件中两空行之间的部分。当对该函数单独查询帮助信息时,将显示帮 助体和HI行的内容。 d.函数体 函数文件中除函数定义行、HI行和帮助体之外的文本,这些命令执行 计算、赋值等实质性的工作。 e.注释部分 在函数体中以符号“%”开始直到该行结束的部分表示对程序的注 释。如上面文件中倒数第一行的后一部分为注释语句。
3.5 程序流程控制
【例如】 x=ones(4,2); y=4*eye(3) try z=x*y; catch z=nan; disp(‘x and y are not confortmable.’) end z x and y are not confortmable. z= NaN
提示:第一题用fix和rem函数,第二题switch语句用fix函数
>>if rand(1,1)>0.5 >> disp('Given random number is greater than O.5.'); >> elseif rand(1,1)>0.3 >> disp('Given random number iS between 0.5 and 0.3.'); >> else >> disp('Given random number is smaller than 0.3; >>end
作业提交[4月1日]
纸质版课后交给我
2.文字的编码
(1)字符编码(ASCII码)
3.5 程序流程控制
break是Matlab中的强制跳转命令,通常用在for和while循环中, 当执行这个命令之后,Matlab就跳出for和while循环,转到循环之外 的下一条语句 【例如】
>>EPS=1; >>for num=1:1000 EPS=EPS/2; if (1+EPS)<=1 EPS=EPS*2 break end end EPS= 2.2204e-016
3.5 程序流程控制
【注意】预先分配矩阵
上面的例子,使用zeros来预先分配了一个适当大小的矩阵 若不预先分配矩阵,程序仍可执行,但此时MATLAB需要动态地 增加(或减小)矩阵的大小,因而降低了程序的执行效率 所以在使用一个矩阵时,着能在事前知道其大小,则最好先使用 zeros或ones等命令来预先分配矩阵所需的内存大小,以提高程序的 执行效率
提示:break命令仅迫使程序跳出一个循环。
3.5 程序流程控制
continue也是一个强制跳转命令,当Matalb遇到该命令 时,就立即跳到for或while循环的end处,结束一次循环 【例如】
>>EPS=1; >>for num=1:1000 EPS=EPS/2; if (1+EPS)>1 continue end EPS=EPS*2 break end EPS= 2.2204e-016
3.1 M文件
由于命令文件没有输入参数和输出参数,只是一些命令行的组 合,所以命令文件比函数文件简单 命令文件产生的变量仍将保留在工作空间中,直到关闭 MATLAB或用相关命令删除 下面是命令文件例子,在文本编辑器中输入下列命令行,并存 为flowerpetal.m。 t=-pi:0.01:pi; r=2*sin(5*t).^2; polar(t,r) 在MATLAB的命令窗口中键入flowerpetal,将会画出一系列的 花瓣状图形。
提示:在这continue命令对if-end结构没有任何影响。
【例如】求[100,200]之间第一个能被21整除的整数
for n = 100:200 if rem(n,21)~=0 continue end break end n
3.5 程序流程控制
Try-catch模块使得用户能捕获程序执行过程中的的错误,以便 决定如何对错误进行响应。语法格式如下: try 语句1… catch 语句2 end 【流程】 在执行语句1过程中,如果没有错误发生,程序控制就直接 跳到end语句,如果出现错误就立即转移到catch语句,执行语句2, 在语句2中,通常会利用lasterr和lasterror函数获取错误信息,然后 采取相应的措施
3.5 程序流程控制
【例如】
>>x=zeros(1,6); %预先分配矩阵x为一个维数1*6的零矩阵 >>for i=1:6 >> x(i)=1/i ; >>end >>disp(x) %显示矩阵x的内容 1.0000 0.5000 O.3333 0.2500 0.2000 0.1667
3.5 程序流程控制
3.5 程序流程控制
另一个常用到的程序重复执行语句是while循环(While—loop), 【语法】 while 条件式 表达式; end 也就是说,只要条件式成立,表达式就会一再被重复执行 【例如】先前用for循环产生的调和序列做法,可用while循环改写如下:
>>x=zeros(1,6); %x是—个1*6的零矩阵 >>i=1; >>while i<=6 >>x(i)=1/i; >>i=i+l; >>end >>disp(x) 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667
3.1 M文件
当调用函数时,输入参数和输出参数可以和定义行的变量名不同 MATLAB对函数名的限制如同变量名。函数文件名由函数名再加上 后缀“.m”组成 例如函数文件名test.m 当函数文件名和函数定义行的函数名不同时,MATLAB将忽略函数 名而确认文件名。所以,当编写函数文件时,文件名可以和函数名不 同,但调用时应该使用文件名 不过最好把文件名和函数名统一,以免出错 函数文件一旦编写好之后,就可在命令窗口或别的文件中调用。调 用的格式和函数文件的定义格式相同,只是把定义时的参数名换成相 应的变量名
相关文档
最新文档