matlab程序设计教程
MATLAB程序设计

MATLAB程序设计MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。
本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。
一、关系运算和逻辑运算1.关系运算(1)关系运算符:< ;< = ;> ;> = ;= = ;~ =(2)关系表达式:用关系运算符将两个同类型的量(表达式)连接起来的式子。
【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。
例1.对向量进行关系运算。
>> A=1:5,B=5:-1:1 % 输入向量A = 1 2 3 4 5B = 5 4 3 2 1>> C=(A>=4) % 对向量进行关系运算C = 0 0 0 1 1>> D=(A==B) % 对向量进行关系运算D = 0 0 1 0 02.逻辑运算(1)逻辑运算符:& (and,与)、| (or,或)、~ (not,非)(2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。
【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。
(真值表见P27)例2.对向量进行逻辑运算。
>> a=1:9,b=9-aa = 1 2 3 4 5 6 7 8 9b = 8 7 6 5 4 3 2 1 0>> c=~(a>4) % 非运算c = 1 1 1 1 0 0 0 0 0>> d=(a>=3)&(b<6) % 与运算d = 0 0 0 1 1 1 1 1 13.逻辑函数any(x) 向量x 中有非零元返回1,否则返回0。
(向量函数) all(x) 向量x 中所有元素非零返回1,否则返回0。
(完整版)Matlab入门教程

第1章MATLAB操作基础1.1 MATLAB概述1.1.2 MATLAB的主要功能1.数值计算MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。
2.绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等)。
3.编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。
4.MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。
MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。
1.1.3MATLAB语言的特点❖语言简洁紧凑,使用方便灵活,易学易用。
例如:A=[1 2 3;4 5 6;7 8 9]一条语句实现了对3x3矩阵的输入。
❖语句功能强大,一条语句相当于其它语言的一个子程序,例如fft。
❖语句简单,内涵丰富。
同一个函数有不同的输入变量和输出变量,分别代表不同的含义。
❖Matlab既具有结构化的控制语句(if、for、while)又支持面向对象的程序设计。
❖方便的绘图功能。
❖包含功能强劲的工具箱。
❖易于扩展。
1.1.4 初识MATLAB例1-1 绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求方程3x4+7x3+9x2-23=0的全部根。
p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1)例1-4 求解线性方程组。
a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b1.2 MATLAB的运行环境与安装1.2.1 MATLAB的运行环境硬件环境:(1) CPU(2) 内存(3) 硬盘(4) CD-ROM驱动器和鼠标软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用1.2.2 MATLAB的安装运行系统的安装程序setup.exe,可以按照安装提示依次操作。
matlab程序设计初步

例:利用for循环求1!+2!Ƴ!的值
条件表达式
• 在条件表达式中,通常都是由 关系操作符 >, < ,<=, >=, = =, ~= 等 逻辑操作符 &,| , ~等 逻辑函数:isequal —— 若是相等则为真 isempty ——若是空矩阵则为 真 isstr —— 若是字符串则为真
一、matlab的工作模式
M文件简介
• 用户如想灵活应用matlab去解决实际问题, 充分调用matlab的科学技术资源,就需要编 辑m文件 • 包含matlab语言代码的文件称为m文件,其 扩展名为m。 • 编辑m文件可使用各种文本编辑器。
MATLAB的程序结构
MATLAB语言的程序结构与其它高级语言是一致 的,分为顺序结构,循环结构,分支结构。 (1).顺序结构 —— 依次顺序执行程序的各条语句 (2).循环结构 —— 被重复执行的一组语句,循环是 计算机解决问题的主要手段。 循环语句主要有: for — end while---end
while循环举例
例:用while循环求1~100间整数的和
If—else--end 选择结构
例:编写m函数,计算分段函数y值 y=x (x<1) y=2x-1 (1<=x<10) y= 3x-11 (x>=10)
一些增加程序可读性的指令
matlab 程序设计

【例5.8】用try... catch... end结构来进行矩阵相乘运算. 例
% EX0508 try结构 n=4; a=magic(n); m=3; b=eye(3); try c=a*b catch c=a(1:m,1:m)*b end lasterr
5.2.6 流程控制语句
break, continue, return, pause, keyboard, input 1. break命令 命令 break命令可以使包含break的最内层的for或while 语句强制终止,立即跳出该结构,执行end后面的命令, break命令一般和if结构结合使用.
5.2.4 switch…case开关结构
语法: switch 开关表达式 case 表达式 表达式1 语句段1 语句段 case表达式2 case表达式2 表达式 语句段2 语句段 ... otherwise 语句段n 语句段 end
说明: (1) 将开关表达式依次与case后面的表达式进行比较,如 果表达式1不满足,则与下一个表达式2比较,如果都不 满足则执行otherwise后面的语句段n;一旦开关表达式 与某个表达式相等,则执行其后面的语句段. (2) 开关表达式只能是标量或字符串. (3) case后面的表达式可以是标量,字符串或元胞数组, 如果是元胞数组则将开关表达式与元胞数组的所有元素 进行比较,只要某个元素与开关表达式相等,就执行其 后的语句段.
(2) 将函数文件保存为"Ex0502.m". (3) 在MATLAB命令窗口输入以下命令,则会出现f的计算值 注意: 注意:M脚本文件和M函数文件的文件名及函数名的命名规 和绘制的曲线:f=Ex0502(0.3) 则与MATLAB变量的命名规则相同.
Matlab程序设计

19
例:计算2个数的和,根据输入的参数个数不同使用不同 的运算表达式。 function [sum]=Ex0514(x,y) if nargin==1 sum=x+0; else if nargin==0 sum=0; else sum=x+y end end [sum]=Ex0514(1,2)
可以在某一目录中建立一个private目录来存放相关函数,具有性质:在 私有目录下的私有函数,只能被其父目录的M函数文件调用,对其他目 录的文件私有函数是不可见的,可以和其他目录下的函数重名;私有函 数父目录的M脚本文件也不可调用私有函数;在函数调用搜索时,私有 函数优先于其他MATALB路径上的函数。
局部变量和全局变量
(1)局部变量是在函数体内部使用的变量,其影响范围只 能在本函数内,仅存在于函数的工作空间内,只在函数执行 期间存在,函数执行完变量消失。
(2)全局变量是可以在不同函数工作空间和MATLAB工作 空间中共享使用的变量。在使用前必须用global定义,而且 每个要共享全局变量的函数和工作空间,都必须逐个用 global对变量加以定义。
m文件模式
m文件编辑器缺省设置是(通过菜单Preferences) c:\windows\notepad.exe 还可设成:c:\windows\write.exe c:\windows\command\ 注意:所创建的m文件必须纳入matlab搜索路 径后,才能在matlab命令窗口运行。
《MATLAB程序设计》实验指导书

三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。
第七章 MATLAB程序设计

1、输入程序: %对两个矩阵相 加 clc clear a=[1,2,3]; b=[4,5,6]; c=a+b
3、在命令窗口输入 myadd,回车 或打开文件,点击运 行按钮 给出结果: c=
5
7
9
18
打开已有的M文件,也有3种方法: (1) 菜单操作。从MATLAB主窗口的File菜单 中选择Open命令,则屏幕出现Open对话框, 在Open对话框中选中所需打开的M文件。在 文档窗口可以对打开的M文件进行编辑修改, 编辑完成后,将M文件存盘。 (2) 命令操作。在MATLAB命令窗口输入命令: edit 文件名,则打开指定的M文件。 (3) 命令按钮操作。单击MATLAB主窗口工具 栏上的Open File命令按钮,再从弹出的对话 框中选择所需打开的M文件。
直接访问work space 通过函数形参传递数据 中所有变量 直接选取MATLAB中 精心设计完成指定功能 执行的语句 重复操作 MATLAB功能扩展
7
1.3 M文件的创建
m文件的类型是普通的文本文件,我们可以使用 系统认可的文本文件编辑器来建立m文件。如 MATLAB下的m文件编辑器、windows的记事 本和word等。
s=pi*r*r; p=2*pi*r;
24
特定规则:
1.函数m文件第一行必须以单词function作为引导词,表示该M文件是一 个函数文件,必须遵循如下形式: function <因变量>=<函数名>(<自变量>)
2.函数名的命名规则与变量名相同,m文件的文件名必须是 <函数名> .m。 3.输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形 参多于一个时,则应该用方括号括起来。 4.程序中的变量均为局部变量,不保存在工作空间中。其变量只在函数 运行期间有效。
matlab入门教程(免费)

2013年7月31日3时27分
9
字符串
字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串和字符数组基本上等价。
>> size(s) ans = 1 10 >> s(2) ans = >> s(10) ans = u
>> s='i love you' s= i love you
Matlab语言的关系运算符如右 表: 当判断一个矩阵是否为空矩阵 时,一般不用“==”,而应当使 用函数isempty。
操作符 == ~= > >= < <=
定义 等于 不等于 大于 大于等于 小于 小于等于
2013年7月31日3时27分
16
Matlab语言的逻辑运算符如右 表: 进行逻辑判断时,所有非 零数值均被认为为真,而零为假; 在逻辑判断结果中,判断为真时 输出1,为假时输出0. 三种运算符中,它们的优先级关系 先后为:算术运算符、关系运算 符、逻辑运算符。
>>ab=a&b ab = 0 1 0 1 0 0 0 1 1
>>nb=~b nb = 1 0 1 0 1 1 1 0 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab程序设计教程
Matlab是一种强大的科学计算和数据分析工具,它提供了丰富的函数库和灵活的编程环境,使得用户可以方便地进行各种数学计算和数据处理。
本篇文章将为大家介绍Matlab程序设计的基本概念和操作步骤。
首先,我们需要了解Matlab的基本语法和编程元素。
Matlab 程序由语句和函数构成,语句是实现具体功能的基本单位,函数则是对语句进行封装和重用的机制。
Matlab采用类似于C 语言的结构化编程风格,包括顺序、选择和循环三种基本的控制结构。
此外,Matlab还支持向量化操作和矩阵运算,可以大大简化程序的编写和运算的复杂度。
其次,我们需要了解Matlab的开发环境和常用工具。
Matlab 提供了一个交互式的命令窗口,用户可以直接在命令行输入和执行Matlab语句。
除此之外,Matlab还提供了一个集成的开发环境,可以方便地编辑、调试和运行Matlab程序。
开发环境中还包括了各种工具箱,可以扩展Matlab的功能,如信号处理、图像处理、控制系统等。
接下来,我们将介绍Matlab程序的编写和调试过程。
在编写Matlab程序时,我们首先需要确定程序的功能和数据结构,然后选择合适的函数和语句来实现。
编写完成后,我们可以在命令窗口中运行程序,观察程序的输出结果是否满足预期。
如果发现程序出现了错误或不符合预期,我们可以使用Matlab 提供的调试工具来进行调试和排错。
调试工具包括断点、单步执行、变量监视等功能,可以帮助我们分析程序的执行过程和
找到问题所在。
最后,我们需要注意Matlab程序的性能和代码优化。
Matlab
是一种解释性语言,相对于编译型语言来说,其执行速度较慢。
为了提高程序的性能,我们可以使用向量化操作和矩阵运算来减少循环和临时变量的使用。
此外,我们还可以使用Matlab
提供的性能分析工具来找出程序的瓶颈,并进行相应的算法优化和代码改进。
综上所述,Matlab程序设计是一项强大而灵活的任务,它能
够帮助我们解决各种科学计算和数据分析问题。
通过学习Matlab的基本语法和操作技巧,我们可以快速地编写和调试
程序,并优化程序的性能。
希望本篇文章能够为初学者提供一些有价值的指导和帮助。