第三讲 MATLAB软件基础
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)Matlab 中的数据 Matlab环境下的数值(矩阵的元素)
一般采用十进制,可以带小数点和正负
号,以下数值都是合法的:
5、+10、-20.56、0.0045、-1000.、
1.3e-4、100e20、-0.023e-012
(二) Matlab中的变量命名
1.变量命名 (1) 在Matlab 中,变量名是以字母开头,后可 接字母、数字或下划线的字符序列,最多63个字
已的需要进行扩展。
(三) 、Matlab的安装
Matlab的安装非常简单。 运行setup文件后,输入正确的序列号,选择好安装路径 和安装的模块,几乎是一直回车就可以了。 这里要注意的是: (1)由于不同操作系统设臵,可能会出现一些意外错误, 而且越高版本的Matlab对计算机系统的要求也越高,
所以根据自身情况选择适合的版本安装,“不求最高,
(1) 启动有关编辑程序或MATLAB文本编辑器,
并输入待 建矩阵: (2) 把输入的内容以纯文本方式存盘 (此时,取文件名为mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix,即运行 该M文件,就会自动建立一个名为MYMAT的矩阵, 可供以后使用。
3 、利用矩阵生成命令产生一些特殊矩阵
第三节 MATLAB的基本编程
Matlab作为一种高级语言,它不仅可以如前几节 所介绍的那样,以一种人机交互式的命令行的方式工
作,还可以像BASIC、FORTRAN、C等其他高级计算机语
言一样进行控制流的程序设计,即编制一种以 . m为 扩展名的MATLAB程序(简称M文件)。
而且,由于Matlab本身的一些特点,M文件的编
说明:
(1) Matlab语言中,相对于脚本文件而言,函数文件 是较为复杂的。 (2) 函数需要给定输入参数,并能够对输入变量进行若 干操作,实现特定的功能,最后给出一定的输出结果 或图形等。 (3) 函数调用的一般格式是: [输出实参表]=函数名(输入实参表) 要注意的是,函数调用时各实参出现的顺序、个数,应 与函数定义时形参的顺序、个数一致,否则会出错。函数 调用时,先将实参传递给相应的形参,从而实现参数传递 ,然后再执行函数的功能
1
脚本文件
将 Matlab 命令窗口中一行一行输入 的命令汇集在一个文件中,这样一来要输 入这一组命令时,只需输入这一文件名。 这种文件称为Matlab的脚本文件,其文件 扩展名为.m
ห้องสมุดไป่ตู้
例如 :建立脚本文件,将华氏温度f转换为摄氏 温度c。(以文件名f2cj.m存盘) 程序如下: clear; %清除工作空间中的变量 f=input(„请输入华氏温度:'); c=5*(f-32)/9 然后在命令窗口中输入f2cj,将会执行该脚本文件, 结果为: 请输入华氏温度: 73 c= 22.7778
C=A&B; 两者均为1,结果为1; 否则结果为0。 D=A|B; 两者有一个为1,结果为1; 否则结果为0。 E=~D; 0变1;1变0。
(四) Matlab中矩阵的建立方法
1.直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。 具体方法如下: 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各 元素,同一行的各元素之间用空格或逗号分隔,不同行的
(二)、Matlab软件系统的构成
Matlab软件主要由主包、Simulink和各种工具箱三部分组成。 其中:(1) 主包包括Matlab编译器、C/C++数学库、 Matlab Web服务器、Matlab运行服务器等;
(2) Simulink用于动态系统仿真的交互式系统。
它允许用户在屏幕上绘制框图来模拟一个系统, 并能够动态地控制该系统。 (3) 工具箱是Matlab用来解决各个领域特定问题的函 数库,它是开放式的,可以应用,也可以根据自
元素之间用分号分隔。
例如:在MATLAB命令窗口输入:>> A=[1 4 7; 2 2 4; 3 6 2] 输出结果为:A= 1 4 7 2 2 4 3 6 2
2.利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立 一个M文件。下面通过一个简单例子来说明如何利用M文 件创建矩阵。 例如: 利用M文件建立mymat矩阵。
本章小结
(1) Matlab是一种用于科学工程计算的高级语言,其 基本的数据单位是矩阵,它的命令表达式与数学、 工程中常用的习惯表达形式十分相似; (2) Matlab高效方便的矩阵和数组运算,使之在数字信号 处理、建模、系统识别、自动控制、优化等领域的问 题时,显得十分简洁、高效,具有其他高级语言不可
符,如 A, ABC, A1, b 等。
(2) 在Matlab中,变量名区分字母的大小写,
如 A, a 是两个变量。
注意:变量名不能取为中文名,如 :像1 ,画2等!
(三)、 Matlab的运算符
1、算术运算符 • “+”-加, “-”-减 • “*”-乘, “/”-除 • “∧”-幂, “.”-点运算 • Matlab的算术运算符合通常的四则运算 规则,它的计算能力及其强大。 • 例1:[5+2×(7-3)]÷2^3 • 例2:[(3+4i)×(5+6i)]^0.1 • 例3:1÷0, (-1)^-1.5, 0÷0
例如:
if else a=a+2 end a=1 a=a+1
说明: 在Matlab语言的if-else-end语句中的eles子句是可选 项,即语句中可以不包括else子句的条件判断。 如: if a=1 a=a+1 end
例如: for i=1:2:12 s=s+i; end 在例中,循环次数由数组1:2:12决定。 说明: (1) 初始值为循环变量的初始设定值,每执行循环体 一次,循环控制变量将增加步长大小,直至循环 控制变量的值大于终值时循环结束,这里步长是 可以为负的。 (2) 在for循环语句中,循环体内不能出现对循环控制 变量的重新设臵,否则将会出错. (3) for循环允许嵌套使用。
制同上述几种高级语言比较起来,有许多无法比拟的 优点。
一
M 文件的概念
所谓M文件就是由Matlab语言编写的可在Matlab语
言环境下运行程序源代码文件。
M文件可以分为脚本文件(Script)和函数文件
(Function)两种。
M文件不仅可以在Matlab的程序编辑器中编写,也可 以在其他的文本编辑器中编写,并以“m”为扩展名加 以存储。
(六)基本操作命令 clc-----------清除Command Window的内容。 close all-----关闭所有打开的图形窗口; clear---------清除Workspace的内容 which 文件名--查看文件所在目录 whos----------查看内存变量详细信息 help 命令-----查看该命令的使用说明
2、工作空间
Matlab工作空间作为一个独立的窗口,其操作 相当方便。它包含着用户已建立的变量,而且变 量在工作空间中是以矩阵的形式存储的。例如: 在命令窗口中输入的命令有两个变量x、y,在工 作空间中就包含这两个变量,双击其中一个变量x, 就会出现一个窗口,用来显示变量x的值。如下图 所示:
例4:建立函数文件,将华氏温度f转换为摄氏温度c。
(文件名取为f2ch.m) 程序如下: function c=f2c(f) c=5*(f-32)/9 然后在Matlab的命令窗口调用该函数文件。 clear; y=input('请输入华氏温度: '); x=f2ch(y) 输出情况为: 请输入华氏温度: 70 c= 21.1111 x= 21.1111
(五) 赋值语句
(1) 变量=表达式 其中表达式是用运算符将有关运算量连接起来的
式子,也可以是常数。
例如: 在MATLAB命令窗口输入命令: x=1+2; y=3+x; x(2,2)=10; %将2行2列值赋为10 x(3,:)=20; %第3行的值赋为20 x=ones(5); %产生5×5全为1的矩阵 x(2:4,2:4)=0; %第2、3、4行的 第2、3、4列元素赋为0
2、关系运算符
“<” “==” “>=” 小于, 等于 大于等于 “<=” “>” 小于等于 大于 “~=” 不等于
关系运算结果仅为0和1;条件成立,结果为1, 否则,结果为0。 • 例1:a>=10 • 例2:B<=A • 例3:b=4 • b<=A
关系运算一般用于条件判断句中。
3、逻辑运算符 “&” 与, “|” 或, “~” 非 • 逻辑运算的结果仅为0和1。 • 例1:>>A=[0,1,1,0;1,1,0,0] • >>B=[1,0,1,1;1,0,0,O] • >>C=A&B • >>D=A|B • >>E=~D 执行结果:
三、流程控制语句
像其他的程序设计语言一样,Matlab语言也给出了 丰富的流程控制语句,以实现具体的程序设计。 在命令窗口中的操作虽然可以实现人面交互,但是 所能实现的功能却相对简单。 虽然也可以在命令窗口中使用流程控制语句,但是 由于命令窗口中交互式的执行方式,使用得这样的操 作极为不方便。 而在M文件中,通过对流程控制语句的组合使用, 可以实现多种复杂功能。 Matlab语言的流程控制语句主要有if-else-end 、 for、while、及switch-case等4种语句。
说明:
(1) while循环语句与for循环语句不同的是,前者是以
条件的满足与否来判断循环是否结束的,而后者则 是以执行次数是否达到指定值为判断的。 (2) 在while循环语句中,在语句内必须有可以修改循环 控制变量的命令,否则该循环语言将陷入死循环中, 除非循环语句中有控制退出循环的命令,如break语 句。
第三讲 Matlab软件基础
第一节 Matlab软件简介
(一)、Matlab概述 Matlab是“Matrix Laboratory” 的缩写,意为“矩阵实验室”,是美 国Mathwork软件公司推出的当今很流 行的科学计算软件。
其特点: (1) Matlab是一个交互式的系统,它 的基本运算单元是矩阵。 (2)系统提供了大量的矩阵及其他运 算函数,可以方便的进行一些很
复杂的计算,而且运算效率极高。
(3) Matlab命令和数学中的符号、
非常接近,可读性强,容易掌握,
还可利用它所提供的编程语言进 行编程完成特定的工作。 (4) Matlab还具备图形用户接口(GUI) 工具,允许用户把Matlab当作一个应
用开发工具来使用。
由于一幅数字图像就是一个二维整 数矩阵,而Matlab的优势就是处理矩阵 运算,因此用Matlab处理数字图像非常 方便。
zeros:产生全0矩阵(零矩阵)。 ones:产生全1矩阵(幺矩阵)。
例如: 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。
(1) 建立一个3×3零矩阵。 zeros(3)
(2) 建立一个3×2零矩阵。
zeros(3,2) (3) 可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。 例: A=[1 2 3;4 5 6]; zeros(size(A)) %产生一个2×3阶矩阵A %产生一个与矩阵A同样大小的零矩阵
二、MATLAB的帮助文件 学习MATLAB软件最好的教材是它的帮助文件。 有两种方法取得帮助信息: (1)是直接在命令窗口输入 >>help 命令 如help bitset,会得到相应函数的 有关帮助信息,如下图所示。 (2)是在帮助窗口中查找相应信息。
第二节 MAtlab主包的常用操作
够用就好”。 (2) Matlab不能安装在中文目录下。
(四)、Matlab的运行
Matlab安装完成后,在桌面会产生一快捷运行方 式图标:
双击这个快捷运行方式图标即可。
一、Matlab的工作环境 Matlab的工作环境简单,明了,易于操作。 目前所使用的Matlab软件一般是6.5版本以上。 其工作环境主要包括四个部分: (1) 命令窗口(Command Window); (2) 工作空间(Workspace); (3) 命令历史记录(Command History); (4) 当前工作目录(Current Directory); 如下图所示:
一般采用十进制,可以带小数点和正负
号,以下数值都是合法的:
5、+10、-20.56、0.0045、-1000.、
1.3e-4、100e20、-0.023e-012
(二) Matlab中的变量命名
1.变量命名 (1) 在Matlab 中,变量名是以字母开头,后可 接字母、数字或下划线的字符序列,最多63个字
已的需要进行扩展。
(三) 、Matlab的安装
Matlab的安装非常简单。 运行setup文件后,输入正确的序列号,选择好安装路径 和安装的模块,几乎是一直回车就可以了。 这里要注意的是: (1)由于不同操作系统设臵,可能会出现一些意外错误, 而且越高版本的Matlab对计算机系统的要求也越高,
所以根据自身情况选择适合的版本安装,“不求最高,
(1) 启动有关编辑程序或MATLAB文本编辑器,
并输入待 建矩阵: (2) 把输入的内容以纯文本方式存盘 (此时,取文件名为mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix,即运行 该M文件,就会自动建立一个名为MYMAT的矩阵, 可供以后使用。
3 、利用矩阵生成命令产生一些特殊矩阵
第三节 MATLAB的基本编程
Matlab作为一种高级语言,它不仅可以如前几节 所介绍的那样,以一种人机交互式的命令行的方式工
作,还可以像BASIC、FORTRAN、C等其他高级计算机语
言一样进行控制流的程序设计,即编制一种以 . m为 扩展名的MATLAB程序(简称M文件)。
而且,由于Matlab本身的一些特点,M文件的编
说明:
(1) Matlab语言中,相对于脚本文件而言,函数文件 是较为复杂的。 (2) 函数需要给定输入参数,并能够对输入变量进行若 干操作,实现特定的功能,最后给出一定的输出结果 或图形等。 (3) 函数调用的一般格式是: [输出实参表]=函数名(输入实参表) 要注意的是,函数调用时各实参出现的顺序、个数,应 与函数定义时形参的顺序、个数一致,否则会出错。函数 调用时,先将实参传递给相应的形参,从而实现参数传递 ,然后再执行函数的功能
1
脚本文件
将 Matlab 命令窗口中一行一行输入 的命令汇集在一个文件中,这样一来要输 入这一组命令时,只需输入这一文件名。 这种文件称为Matlab的脚本文件,其文件 扩展名为.m
ห้องสมุดไป่ตู้
例如 :建立脚本文件,将华氏温度f转换为摄氏 温度c。(以文件名f2cj.m存盘) 程序如下: clear; %清除工作空间中的变量 f=input(„请输入华氏温度:'); c=5*(f-32)/9 然后在命令窗口中输入f2cj,将会执行该脚本文件, 结果为: 请输入华氏温度: 73 c= 22.7778
C=A&B; 两者均为1,结果为1; 否则结果为0。 D=A|B; 两者有一个为1,结果为1; 否则结果为0。 E=~D; 0变1;1变0。
(四) Matlab中矩阵的建立方法
1.直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。 具体方法如下: 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各 元素,同一行的各元素之间用空格或逗号分隔,不同行的
(二)、Matlab软件系统的构成
Matlab软件主要由主包、Simulink和各种工具箱三部分组成。 其中:(1) 主包包括Matlab编译器、C/C++数学库、 Matlab Web服务器、Matlab运行服务器等;
(2) Simulink用于动态系统仿真的交互式系统。
它允许用户在屏幕上绘制框图来模拟一个系统, 并能够动态地控制该系统。 (3) 工具箱是Matlab用来解决各个领域特定问题的函 数库,它是开放式的,可以应用,也可以根据自
元素之间用分号分隔。
例如:在MATLAB命令窗口输入:>> A=[1 4 7; 2 2 4; 3 6 2] 输出结果为:A= 1 4 7 2 2 4 3 6 2
2.利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立 一个M文件。下面通过一个简单例子来说明如何利用M文 件创建矩阵。 例如: 利用M文件建立mymat矩阵。
本章小结
(1) Matlab是一种用于科学工程计算的高级语言,其 基本的数据单位是矩阵,它的命令表达式与数学、 工程中常用的习惯表达形式十分相似; (2) Matlab高效方便的矩阵和数组运算,使之在数字信号 处理、建模、系统识别、自动控制、优化等领域的问 题时,显得十分简洁、高效,具有其他高级语言不可
符,如 A, ABC, A1, b 等。
(2) 在Matlab中,变量名区分字母的大小写,
如 A, a 是两个变量。
注意:变量名不能取为中文名,如 :像1 ,画2等!
(三)、 Matlab的运算符
1、算术运算符 • “+”-加, “-”-减 • “*”-乘, “/”-除 • “∧”-幂, “.”-点运算 • Matlab的算术运算符合通常的四则运算 规则,它的计算能力及其强大。 • 例1:[5+2×(7-3)]÷2^3 • 例2:[(3+4i)×(5+6i)]^0.1 • 例3:1÷0, (-1)^-1.5, 0÷0
例如:
if else a=a+2 end a=1 a=a+1
说明: 在Matlab语言的if-else-end语句中的eles子句是可选 项,即语句中可以不包括else子句的条件判断。 如: if a=1 a=a+1 end
例如: for i=1:2:12 s=s+i; end 在例中,循环次数由数组1:2:12决定。 说明: (1) 初始值为循环变量的初始设定值,每执行循环体 一次,循环控制变量将增加步长大小,直至循环 控制变量的值大于终值时循环结束,这里步长是 可以为负的。 (2) 在for循环语句中,循环体内不能出现对循环控制 变量的重新设臵,否则将会出错. (3) for循环允许嵌套使用。
制同上述几种高级语言比较起来,有许多无法比拟的 优点。
一
M 文件的概念
所谓M文件就是由Matlab语言编写的可在Matlab语
言环境下运行程序源代码文件。
M文件可以分为脚本文件(Script)和函数文件
(Function)两种。
M文件不仅可以在Matlab的程序编辑器中编写,也可 以在其他的文本编辑器中编写,并以“m”为扩展名加 以存储。
(六)基本操作命令 clc-----------清除Command Window的内容。 close all-----关闭所有打开的图形窗口; clear---------清除Workspace的内容 which 文件名--查看文件所在目录 whos----------查看内存变量详细信息 help 命令-----查看该命令的使用说明
2、工作空间
Matlab工作空间作为一个独立的窗口,其操作 相当方便。它包含着用户已建立的变量,而且变 量在工作空间中是以矩阵的形式存储的。例如: 在命令窗口中输入的命令有两个变量x、y,在工 作空间中就包含这两个变量,双击其中一个变量x, 就会出现一个窗口,用来显示变量x的值。如下图 所示:
例4:建立函数文件,将华氏温度f转换为摄氏温度c。
(文件名取为f2ch.m) 程序如下: function c=f2c(f) c=5*(f-32)/9 然后在Matlab的命令窗口调用该函数文件。 clear; y=input('请输入华氏温度: '); x=f2ch(y) 输出情况为: 请输入华氏温度: 70 c= 21.1111 x= 21.1111
(五) 赋值语句
(1) 变量=表达式 其中表达式是用运算符将有关运算量连接起来的
式子,也可以是常数。
例如: 在MATLAB命令窗口输入命令: x=1+2; y=3+x; x(2,2)=10; %将2行2列值赋为10 x(3,:)=20; %第3行的值赋为20 x=ones(5); %产生5×5全为1的矩阵 x(2:4,2:4)=0; %第2、3、4行的 第2、3、4列元素赋为0
2、关系运算符
“<” “==” “>=” 小于, 等于 大于等于 “<=” “>” 小于等于 大于 “~=” 不等于
关系运算结果仅为0和1;条件成立,结果为1, 否则,结果为0。 • 例1:a>=10 • 例2:B<=A • 例3:b=4 • b<=A
关系运算一般用于条件判断句中。
3、逻辑运算符 “&” 与, “|” 或, “~” 非 • 逻辑运算的结果仅为0和1。 • 例1:>>A=[0,1,1,0;1,1,0,0] • >>B=[1,0,1,1;1,0,0,O] • >>C=A&B • >>D=A|B • >>E=~D 执行结果:
三、流程控制语句
像其他的程序设计语言一样,Matlab语言也给出了 丰富的流程控制语句,以实现具体的程序设计。 在命令窗口中的操作虽然可以实现人面交互,但是 所能实现的功能却相对简单。 虽然也可以在命令窗口中使用流程控制语句,但是 由于命令窗口中交互式的执行方式,使用得这样的操 作极为不方便。 而在M文件中,通过对流程控制语句的组合使用, 可以实现多种复杂功能。 Matlab语言的流程控制语句主要有if-else-end 、 for、while、及switch-case等4种语句。
说明:
(1) while循环语句与for循环语句不同的是,前者是以
条件的满足与否来判断循环是否结束的,而后者则 是以执行次数是否达到指定值为判断的。 (2) 在while循环语句中,在语句内必须有可以修改循环 控制变量的命令,否则该循环语言将陷入死循环中, 除非循环语句中有控制退出循环的命令,如break语 句。
第三讲 Matlab软件基础
第一节 Matlab软件简介
(一)、Matlab概述 Matlab是“Matrix Laboratory” 的缩写,意为“矩阵实验室”,是美 国Mathwork软件公司推出的当今很流 行的科学计算软件。
其特点: (1) Matlab是一个交互式的系统,它 的基本运算单元是矩阵。 (2)系统提供了大量的矩阵及其他运 算函数,可以方便的进行一些很
复杂的计算,而且运算效率极高。
(3) Matlab命令和数学中的符号、
非常接近,可读性强,容易掌握,
还可利用它所提供的编程语言进 行编程完成特定的工作。 (4) Matlab还具备图形用户接口(GUI) 工具,允许用户把Matlab当作一个应
用开发工具来使用。
由于一幅数字图像就是一个二维整 数矩阵,而Matlab的优势就是处理矩阵 运算,因此用Matlab处理数字图像非常 方便。
zeros:产生全0矩阵(零矩阵)。 ones:产生全1矩阵(幺矩阵)。
例如: 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。
(1) 建立一个3×3零矩阵。 zeros(3)
(2) 建立一个3×2零矩阵。
zeros(3,2) (3) 可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。 例: A=[1 2 3;4 5 6]; zeros(size(A)) %产生一个2×3阶矩阵A %产生一个与矩阵A同样大小的零矩阵
二、MATLAB的帮助文件 学习MATLAB软件最好的教材是它的帮助文件。 有两种方法取得帮助信息: (1)是直接在命令窗口输入 >>help 命令 如help bitset,会得到相应函数的 有关帮助信息,如下图所示。 (2)是在帮助窗口中查找相应信息。
第二节 MAtlab主包的常用操作
够用就好”。 (2) Matlab不能安装在中文目录下。
(四)、Matlab的运行
Matlab安装完成后,在桌面会产生一快捷运行方 式图标:
双击这个快捷运行方式图标即可。
一、Matlab的工作环境 Matlab的工作环境简单,明了,易于操作。 目前所使用的Matlab软件一般是6.5版本以上。 其工作环境主要包括四个部分: (1) 命令窗口(Command Window); (2) 工作空间(Workspace); (3) 命令历史记录(Command History); (4) 当前工作目录(Current Directory); 如下图所示: