第3章_Matlab程序设计_part2

合集下载

《matlab的程序设计》课件

《matlab的程序设计》课件

学习资源推荐
推荐了一些深入学习matlab的资源,包括书 籍、网站和在线教程等。
Q&A
提供了一个问答环节,让学员有机会向讲师 提问和解决自己的疑惑。
4
文件的输入输出操作
演示了如何在matlab中进行文件的读写操作,以及如何处理不同格式的文件。
Part 3:Matlab高级编程
图形界面设计
讲解了如何使用matlab创建美观的图形界面, 并介绍了常用的图形界面设计技巧。
面向对象编程
介绍了matlab中的面向对象编程的概念和基本 用法,以及面向对象编程在matlab中的应用。
matlab编程环境介绍
演示了matlab的集成开发环境,解释其各个 部分的功能,帮助学员快速上手。
matlab简介
介绍了matlab的背景、特点和应用领域,让 学员了解为什么选择matlab作为程序设计工 具。
matlab编程基础
讲解了件的输入输出操作,为后 续的学习打下基础。
《matlab的程序设计》 PPT课件
这是一份关于《matlab的程序设计》的PPT课件,旨在介绍matlab的重要内 容和编程技巧,帮助大家更好地掌握matlab。
Part 1:介绍
本课程内容
包括matlab的编程基础、语言基础、高级编 程和科学计算中的应用。通过详细讲解各部 分内容,帮助学员全面掌握matlab的使用。
3
数值方法
介绍了matlab中常用的数值方法,包括插值、数值积分和微分方程求解等。
4
信号处理
演示了matlab在信号处理领域的应用,包括傅里叶变换、滤波和频谱分析等内容。
Part 5:总结
课程回顾
总结了课程中的重要内容和学习要点,帮助 学员回顾所学的知识。

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子目录中的函数。它们 只对父目录中的函数可见。 子函数只能为主函数或同一主函数下的其他的子函数所调用

三章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可以通过命令窗口进行输入输出,也可以通过文件进行输入输出。

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

第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第3章ppt课件

matlab第3章ppt课件

fplot('[sin(x),cos(x)]',[0,2*pi,-1.5,1.5],1e-3,'r.')
观察上述语句绘制的正余弦曲线采样点的分布,可发现
曲线变化率大的区段,采样点比较密集。
16
1.图形窗口的分割 分割后的图形窗口由若干个绘图区并绘制图形。同一图形窗口中的不同图形称 为子图。 subplot(m,n,p) 该函数将当前图形窗口分成m × n个绘图区,即每行n个,共m 行,区号按行优先编号,且选定第p个区为当前活动区。在每 一个绘图区允许以不同的坐标系单独绘制图形。
18
2.图形叠加
一般情况下,绘图命令每执行一次就刷新当前图形窗口,
图形窗口原有图形将不复存在。若希望在已存在的图 形上再叠加新的图形,可使用图形保持命令hold。 hold on/off命令控制是保持原有图形还是刷新原有图 形。例如:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
8
表 3.1 线型选项
选项
线型
-
实线(默 认值)
:
虚线
--
双画线
-.
点画线
表 3.2 颜色选项
选项 颜色
b( blue )
蓝色
g( green )
绿色
r(red)
红色
c(cyan)
青色
选项 颜色
m(magenta) 品红色
y(yellow)
黄色
k(black)
黑色
w( whit e)
白色
表 3.3 选项 . O(字母) X(字母) + * s(square )
令来控制。grid on/off命令控制是画还是不画网格 线,box on/off命令控制是加还是不加边框线。

MATLAB程序设计教程

MATLAB程序设计教程

MATLAB程序设计教程第一章:MATLAB简介1.1 MATLAB的定义和特点1.2 MATLAB的应用领域1.3 MATLAB的优势和劣势第二章:MATLAB基础知识2.1 MATLAB的安装和启动2.2 MATLAB界面介绍和常用功能2.3 MATLAB的数据类型和变量2.4 MATLAB的基本运算符和表达式2.5 MATLAB的控制流程语句第三章:MATLAB函数与脚本文件3.1 MATLAB函数的定义和调用3.2 MATLAB脚本文件的创建和运行3.3 MATLAB函数和脚本文件的参数传递3.4 MATLAB函数和脚本文件的调试技巧第四章:MATLAB图形绘制4.1 MATLAB图形绘制的基本函数4.2 MATLAB图形绘制的详细参数设置4.3 MATLAB图形的保存和导出第五章:MATLAB矩阵运算5.1 MATLAB中矩阵的创建和索引5.2 MATLAB中矩阵的运算和操作5.3 MATLAB中常用的矩阵函数第六章:MATLAB数值计算6.1 MATLAB中数值计算的基本函数6.2 MATLAB中数值计算的高级功能6.3 MATLAB中数值计算的常见问题和解决方法第七章:MATLAB符号计算7.1 MATLAB中符号计算的基本概念7.2 MATLAB中符号计算的基本函数7.3 MATLAB中符号计算的应用领域第八章:MATLAB应用案例8.1 MATLAB在工程学科中的应用案例8.2 MATLAB在科学研究中的应用案例8.3 MATLAB在数据分析中的应用案例第九章:MATLAB拓展与应用9.1 MATLAB与其他编程语言的结合9.2 MATLAB的工具箱和函数库9.3 MATLAB的二次开发和应用扩展结语:MATLAB作为一种强大的科学计算软件,具备广泛的应用领域和丰富的功能模块,通过本教程的学习,读者可以系统地掌握MATLAB的基本知识和应用技巧,并能够利用MATLAB解决实际问题。

matlab 第三章--程序设计

matlab 第三章--程序设计

(一)选择结构
【例4】 输入三角形的三条边,求面积。 A=input('请输入三角形的三条边:'); if A(1)+A(2)>A(3) & A(1)+A(3)>A(2) & A(2)+A(3)>A(1) p=(A(1)+A(2)+A(3))/2; s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3))); disp(s); else disp('不能构成一个三角形。') end
8、MATLAB程序的基本组成结构 %说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱 … … … 提供的专用命令 控制循环 :包含for,if then,switch,while等语句 逐行执行命令 … … … 绘图命令:将运算结果绘制出来
函数基本格式: (1)函数定义行(关键字function) function[out1,out2,..]=filename(in1,in2,..) 输入和输出(返回)的参数个数分别由nargin和 nargout两个MATLAB保留的变量来给出。 (2)第一行帮助行,即H1行 以(%)开头,作为lookfor指令搜索的行 (3)函数体说明及有关注释 以(%)开头,用以说明函数的作用及有关内容, 作为help指令显示的行。如果不希望显示某段信 息,可在它的前面加空行 (4)函数体语句
(5)函数参数
[输出参数1,输出参数2,…]=函数名(输入 参数1,输入参数2,…)
1、nargin 函数体内获取实际输入变量的个数 2、nargout 函数体内获取实际输出变量的个数 3、nargin(‘fun’) 函数体外获取定义输入变量数 4、nargout (‘fun’) 函数体外获取实际输出变量数 5、varargin 获得输入变量的各元素内容 6、varargout 获得输出变量的各元素内容 见文件 mysum.m

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程序设计教程

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的工具箱是内 容极为丰富的函数库,可以实现各种各样 的功能。

第3章MATLAB程序设计

第3章MATLAB程序设计

第3章 MatLab 程序设计本章学习的主要目的:1.熟炼掌握MatLab 程序设计的顺序、分支和循环结构;2.熟炼掌握脚本M 文件和自定义函数的设计和使用;3.1 M 文件的使用3.1.1 M 文件的运行操作步骤1启动MatLab2 点击菜单File-New-M-file,进入文件编辑窗口3 在文件编辑窗口输入M 文件内容4 以m 为扩展名存盘,注意函数文件的文件名一定和函数名一样。

5 在命令窗口中输入脚本文件名,即可运行脚本M 文件,函数文件的使用和内部函数的使用方法一样。

3.1.2 变量变量名是以字母开头,由字母、数字和下划线组成,最多31个字符,区分大小写字母。

注:变量不需要任何类型的说明语句,当输入一个新的变量名时,MatLab 会自动建立变量并为其分配内存空间。

MatLab 有几个特殊的量:pi 圆周率 ;eps 最小浮点数;Inf 正无穷大,特指1/0;NaN 不定值, 特指0/0; i ,j 虚数单位。

注 为了防止除以0的运算,可如下处理:如 x=(-3:3)/3;x=x+(x==0)*eps;sin(x)./x3.1.3语句形式一般赋值语句形式: 变量=表达式若变量和“=”省略,则名为ans 的变量自动建立;若输入一个语句并以回车结束,则在工作区中显示计算的结果;若语句以“;”结束,则只计算,不显示计算的结果。

若表达式太长,可以用续行号…将其延续到下一行。

一行中可以写几个语句,它们之间用逗号或分号分开。

语句注释符为%。

4 11 283.1.4 控制循环语句1.for 循环变量=初值:步长:终值 循环体语句组 end例1计算1到10的和脚本文件example1.m s=0;for i=1:10;s=s+i;end ; s在命令窗口输入example1,运行结果:S=552.while (条件式) 循环体语句组 end例2Fibonacci 数组的元素满足Fibonacci规则:12+++=k k k a a a ,;且。

第3章MATLAB程序设计

第3章MATLAB程序设计
来进行,该函数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用
户输入什么样的数据。 如果在input函数调用时采用‘s’选项,则允
许用户输入一个字符串。例如,想输入一个 人的姓名,可采用命令: xm=input('What''s your name?','s');
1) 命令文件没有输入参数,也不返回输出参数; 而函数文件可以带输入参数,也可以返回输出 参数。
2) 命令文件以工作空间中的变量进行操作,文件 中所有命令的执行结果也完全返回到工作空间 中;而函数文件中定义的变量为局部变量,当 函数文件执行完毕时,这些变量被清除。
3) 命令文件可以直接运行;而函数文件不能直接 运行,要以函数调用的方式运行。
2breakpoints菜单项该菜单项共有6个菜单命令前两个是用于在程序中设置和清除断点的后4个是设置停止条件的用于临时停止m文件的执行并给用户一个检查局部变量的机会相当于在m文件指定的行号前加入了一个keyboard命令
第3章 MATLAB程序设计
3.1 M文件 3.2 程序控制结构 3.3 函数文件 3.4 程序举例 3.5 程序调试
3.2 程序控制结构
程序的控制结构有3种:顺序结构、 选择结构和循环结构。
任何复杂的程序都可以由这3种基本 结构构成。MATLAB提供了实现控制结构的 语句,利用这些语句可以编写解决实际问 题的程序。
3.2.1 顺序结构
按照程序中语句的排列顺序从上到下依次执行,直 到程序的最后一个语句。
1.数据的输入 从键盘输入数据,则可以使用input函数
例3-1 分别建立命令文件和函数文件,将华氏温 度f转换为摄氏温度c。

MATLAB应用第3章第2版 MATLAB程序设计

MATLAB应用第3章第2版 MATLAB程序设计

第3章MATLAB程序设计在以前所介绍的各种运算中,命令或函数的输入都是在命令窗口下进行的,这是一种计算器输入方式,其命令的执行属于交互式的,即:在命令窗口逐条输入命令,MATLAB就逐条解释执行。

这种命令输入方式操作简单、直观,但随着指令数的增加,或程序复杂程度的增加,这种命令输入方式就显得繁琐(因为输入过程也伴随执行过程)、而且执行程序不能保留,不能反复使用。

为了解决这些问题,必须将程序保存在一个文件中。

在MATLAB中,这种文件是以.m为扩展名的,称为m文件。

3.1 m文件m文件是文本文件,它可以用任何文本编辑器编辑,如用记事本、word等编辑。

但是通常用MATLAB提供的文本编辑器编辑。

启动MATLAB文本编辑器编辑的方法有3种1.菜单操作:“file”菜单→“new”→“M-file”2.命令按钮操作:点击MATLAB主窗口工具栏上的“new M-file”按钮3.命令操作:在MATLAB命令窗口输入命令:edit打开的编辑器后,输入程序后,可以以m为扩展名保存在某一个目录中。

matlab的.m文件保存的命名规则:1.文件名命名要用英文字符,第一个字符不能是数字2.文件名不要取为matlab的一个固有函数,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。

原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误。

3、文件存储路径一定为英文4、m文件起名不能有空格,如three phase,应该写成three_phase或者ThreePhase如果要打开已有的m文件,方法也有3种1.菜单操作:“file”菜单→“open…”,这时出现“open”对话框。

在“文件类型”下拉栏中选“M-files (.m)”,再在某一个目录中选择所需要的m文件2.命令按钮操作:点击MATLAB主窗口工具栏上的“open file”按钮3.命令操作:在MATLAB命令窗口输入命令:edit 文件名m文件分为两种,一种是脚本文件(命令文件),另一种是函数文件。

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

[练习] 输入x的值,求以下分段函数的值
x2 + 1 y= x +1 −1 ≤ x ≤ 1 otherwise
[练习] 输入x的值,求以下分段函数的值 [ ] x
x−6 y = x 2 − 5x − 6 4x + 4 x<0 0 ≤ x < 10 x ≥ 10
3.4.2 switch-case结构
switch语句的执行过程
[例3-14] 通过键盘输入百分制成绩,输出对应的等 级(A: 90~100, B: 80~89,C:70~79,D:60~69,E: <60) 程序如下: n=input(‘n=‘); if n<0 | n>100 display(‘Error!’); else i=fix(n/10); switch i case {9,10} display(‘A’) case 8 display(‘B’) case 7 display(‘C’) case 6 display(‘D’) otherwise display(‘E’) end %switch end % if
2. 双分支if if语句 if
语句格式为: if 条件表达式 语句组1 语句组1 else 语句组2 语句组2 end 当条件表达式非零时,执行语句组1;否则执行语 句组2。 语句组1或语句组2执行后,再执行if语句的后继 语句(end后面的语句)。
[例3-12] 计算分段函数
程序如下: x=input(‘please input x:’); if x<=0 y=(x+sqrt(pi))/exp(2); else y=(x+sqrt(1+x^2))/2; end y
例1:绘制y=sin(x)在区间[0,2π ] 内的图形。
方式1. 交互的命令行工作方式: 直接在命令窗口输 入命令: x=linspace(0,2*pi, 101); y=sin(x); plot(x,y); 方式2. M文件方式(程序方式): 按照前面三种方 式之一启动M文件编辑器,依次输入以上三条语句 ,保存文件(不妨将文件命名为test1.m) 注意: 我们建立的M文件是命令式M文件(或简 称为命令文件)。
运行程序,观察程序的执行结果。 输入矩阵A:[1 2 3;4 5 6] 输入矩阵B :[7 8 9;10 11 12] 运行结果:(略) 再运行一次,输入矩阵A:[1 2 3;4 5 6] 输入矩阵B :[1 2;3 4;5 6]
运行结的元素进行引用。当下标 超出元素个数(最大单下标)时,改为引用最后一个元素 ,并显示出错警告信息。
[例]矩阵乘法运算要求两矩阵的维数相容,否则会 出错。创建一个命令文件,先求两矩阵的乘积, 若出错,则自动转去求两矩阵的点乘。 A=input('请输入A矩阵:') B=input('请输入B矩阵:') lasterr(''); %清除原有的错误信息 try C=A*B; catch C=A.*B; end C disp(lasterr) %显示出错原因
switch语句根据表达式的 取值不同,分别执行不同 的语句,其语句格式为: switch 表达式 表达式1 case 表达式1 语句块1 语句块1 表达式2 case 表达式2 语句块2 语句块2 …… 表达式n case 表达式n 语句块n 语句块n otherwise 语句块n+1 语句块n+1 end switch子句后面的表达式 应为一个标量或一个字符 串,case子句后面的表达 式不仅可以为一个标量或 一个字符串,而且还可以 是一个将多个值(标量或 字符串)用大括号括起来 的单元数据(Cell)。如 果case子句后面的表达式 为一个单元数据,则表达 式的值等于该单元数据中 的某个元素时,执行相应 的语句组。
3.3 M文件


3.3.1 M文件概述
Matlab作为一种高级计算语言,不仅可以如前几 章那样,以一种人机交互的命令行方式工作,还 可以像Basic, Fortran, C 等其它高级语言一样进行 程序设计。 MATLAB语言编写的程序 称为M文件。 语言编写的程序, 用MATLAB语言编写的程序,称为M文件。
运行以上程序,每次输入不同的值,观察运行结 果。 1) 输入标量:例如2 2) 输入向量:例如[1 2 3 4 5]或1:5或 linspace(1,5,5) 3) 输入矩阵:例如[1 2 3;4 5 6] 或 rand(3)
pause命令 3. pause
格式: pause 暂停程序的执行,等待用户按任意键后再 继续运行 pause(n) 等待n秒后继续运行 pause on 表示其后的pause命令起作用 pause off 表示其后的pause命令不起作用 pause query 查询当前pause命令的状态
命令文件的运行: 在命令窗口中输入该M文件名(test1),或者选 择M文件编辑器窗口中debug菜单下的run子菜单 运行该命令文件,就会顺序执行该命令文件中的 语句(或命令)。 关于函数的定义格式、调用格式、参数传递及有 关的问题我们将在后面专门介绍。
2. 打开已有的M文件
打开已有的M文件有多种方法: 1) 在当前目录窗口 当前目录窗口选中要打开的M文件,双击鼠 当前目录窗口 标左键。 2)菜单方式:从Matlab主窗口中选择File->Open子 菜单,则屏幕出现“Open”对话框,选择所需打 开的M文件。 3)命令按钮方式:单击Matlab主窗口工具栏上的 Open file命令按钮。 4)命令方式:在命令窗口输入命令 edit 文件名

M文件的分类
1)命令式:命令式M文件(简称命令文件,也称 为脚本式M文件,脚本文件)就是命令(或语句)的简 简
单叠加(不存在输入参数和输出参数的问题)。可在命令 单叠加 窗口直接输入文件名运行。当运行命令式 M文件时, MATLAB MATLAB就会自动按顺序执行文件中的语句(或命令), 这样就可以避免在命令窗口运行许多命令的麻烦和重复性 工作,也便于修改。
[例3-11] 建立一个命令文件,实现数组a的平方运 算和a中各个元素的平方。 程序: a=input('a=? '); x=a^2 y=a.^2 运行以上程序: 1) 输入一个标量:例如输入2,观察运行结果. 2) 输入一个方阵:例如输入[1 2;3 4],观察运行结果 3)输入一个行向量:例如输入[1,2,3,4] ,观察运行结果
[例]输入一个字符,若为大写字母,则输出其对应的小写 字母;若为小写字母,则输出其对应的大写字母;若为数 字字符则输出其对应数的平方,若为其他字符则原样输出 c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(lower(c)); elseif c>='a'& c<='z' disp(upper(c)); elseif c>='0'& c<='9' disp(str2num(c)^2); else disp(c); end
程序如下:
n=input(‘输入魔方矩阵的阶数:’); A=magic(n) index=input(‘输入单下标:’) try a=A(index) catch a=A(end) lasterr end 练习: 用if语句来完成本题。
x+ π x≤0 2 e y= x + 1 + x2 x>0 2
的值
if语句 3. 多分支if if
语句格式为: 条件1 if 条件1 语句组1 语句组1 条件2 elseif 条件2 语句组2 语句组2 …… 条件n elseif 条件n 语句组n 语句组n else 语句组n+1 语句组n+1 end 多分支if语句的执行过程
例:判断用户选择的是哪种插值方法(’bilinear’, ‘cubic’或 ’nearest’) method = input('Input method: (''bilinear'',''cubic'' or ''nearest'')', 's') switch lower(method) case {'linear','bilinear'} disp('Method is linear') case 'cubic' disp('Method is cubic') case 'nearest' disp('Method is nearest') otherwise disp('Unknown method.') End 练习:利用if-elseif-else结构重写以上两个程序。
2)函数式:函数式M文件(简称函数文件)用来 定义函数,主要解决参数传递和函数调用问题,它的第一
条语句以function语句为引导。
3.3.2 M文件的创建与打开
M文件是一个文本文件,可以用任何编辑程序来 建立和编辑。最常用的是利用Matlab提供的M文 件编辑器。 建立新的M 1. 建立新的M文件 为建立新的M文件,启动M文件编辑器的方法有三种: 1)菜单方式。从Matlab主窗口中选择File->New>M-file命令,出现M文件编辑器窗口。 2)命令方式:在命令窗口输入edit命令。 3)命令按钮方式:单击Matlab主窗口工具栏上的 New M-file命令按钮。
3.4.3 try-catch结构
Matlab从5.3版本开始提供了一种新的试探式语句结构。 其一般格式为:
相关文档
最新文档