第二章 MATLAB的基本使用方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 当 a 和 b 中有一个为单精度时,返回结果为单精 度; • 如果 a 和 b 其中一个为整数类型,则另外一个必 须有相同的整数类型,或者为双精度型,返回结果 c 为相同的整数类型。
2016/3/8
28
complex()创建单个复数
>> x=int8(2),y=int8(3) x= 2 y= 3 >> z2=complex(x,y) z2 = 2 + 3i
2016/3/8
Biblioteka Baidu16
数值类型
整数:int8,uint8,int16,uint16等 浮点数:单精度(single)和双精度(double) 复数:complex
2016/3/8
17
2.3.1整数
数据类型
MATLAB 支持8位、16位、32位和64位的有符号 uint8 8位无符号整数,范围为0~255(即0~28-1) 和无符号整数数据类型。 int8 8位有符号整数,范围为-128~127(即-27~27-1) 上述整数数据类型除了定义范围不同外,具有相 uint16 16位无符号整数,范围为0~65535(即0~216-1) 同的性质。
2016/3/8
22
2.3.2 浮点数
MATLAB 的默认数据类型 是双精度类型(double)。 为了节省存储空间, MATLAB 也支持单精度数 据类型的数组。 创建单精度类型的变量时 需要声明变量类型,与创 建整型变量类似。
单精度数据类型的数 据进行运算时,返回 值为单精度。
2016/3/8
int16 16位有符号整数,范围为-32768~32767(即-215~215-1)
描述
uint32 int32 uint64
int64
32位无符号整数,范围为0~4294967295(即0~232-1) 32位有符号整数,范围为-2147483648~2147483647(即-231~231-1) 64位无符号整数,范围为0~18446744073709551615(即0~264-1) 64位有符号整数,范围为-9223372036854775808~ 9223372036854775807(即-263~263-1)
2016/3/8
14
快捷键及其功能
快捷键 ↑(Ctrl + p) ↓(Ctrl + n) ←(Ctrl + b) →(Ctrl + f) 功能 调用上一行 调用下一行 光标左移一个字符 光标右移一个字符 快捷键 功能
Home(ctrl+a) 移动到命令行开头 End(ctrl+e) Ctrl + Home Ctrl + End 移动到命令行结尾 移动到命令窗口顶 部 移动到命令窗口底 部 选中光标和表达式 开头之间的内容 选中光标和表达式 结尾之间的内容
Ctrl + ←
Ctrl + → Esc
2016/3/8
光标左移一个单词
光标右移一个单词 取消当前输入行
Shift + Home
Shift + End Ctrl + k
剪切光标和表达式 结尾之间的内容
15
2.3 MATLAB R2010a的数据类型
Matlab常用的数据类型: 数值:numeric 字符:char 逻辑:logical 单元:cell 结构:struct
数组列分隔符;函 数参数分隔符
点(.)
小数点;结构体成员 访问
省略号(…) 续行符
在数组中应用较多, 引号(‘’) 定义字符串 如生成等差数列 等号(=) 感叹号(!) 赋值语句 调用操作系统运算
指定运算优先级; 圆括号(( )) 函数参数调用;数 组索引
方括号([ ]) 定义矩阵 花括号({ }) 定义单元数组
2016/3/8 2
2: 面向数组设计的运算
2016/3/8
3
2.1简单的数学运算
2.1.1 最简单的计算器使用方法
1. 直接输入法 >> pi*4^2 ans = 50.2655 没有将结果赋予一个变量 时,MATLAB自动将结果赋 予一个暂时的变量名ans
2. 存储变量法 >> s=pi*4^2 s= 50.2655 >> h=2 h= 2 >> v=s*h v= 100.5310
2016/3/8
11
3: 逗号(,) >> x=[1.545,2.1] x= 1.5450 2.1000 >> round(x) ans = 2 2 >> x,x' x= 1.5450 2.1000 ans = 1.5450 2.1000
>> x,b=x'; x= 1.5450 2.1000
2016/3/8
左除和右 除的关系: y\x=x/y
在进行除法时, MATLAB 首先将两 个数视为双精度类型 进行运算,然后将结 果转化为相应的整形 数据
20
>> x=double(x),y=double(y) x= 30 y= 15 >> y/x ans = 0.5000 >> z=y/x z= 0.5000 >> z=int8(z) z= 1
2016/3/8 19
整数的运算
>> y=uint8(15) y= 15 >> x=uint8(30) x= 当运算结果溢 出时,系统将 30 结果设置为该 >> x+y 数据类型的上 ans = 限或者下限 45 >> x*y ans = 255
2016/3/8
>> x/y ans = 2 >> y\x ans = 2 >> x\y ans = 1 >>
2016/3/8
18
整数数据类型的定义
>> x=int8(30) 格式: x= 30 数据类型标识符(数据值) >> class(x) 例如:定义一个8位有符号的 ans = 整数x=30 int8 >> y=80 测试数据类型函数: y= class() 80 >> class(y) ans = MATLAB默认的 double 数据类型 >>
整理内存碎片
显示搜索目录 退出 MATLAB 保存内存变量 显示文件内容
diary 日志文件命令 dir 显示当前目录下文件 disp 显示变量或文字的内容
echo
命令窗口信息显示开关
2016/3/8
13
clear命令
>> x x= 1.5450 2.1000 >> clear x >> x ??? Undefined function or variable 'x'.
2016/3/8
百分号(%) 注释语句的标识
10
1:分号(;) 功能:用于区分数组的行,或者用于一个语句的结尾处, 取消运行行显示。 2:百分号(%) 功能:用于在程序文本中添加注释,提高程序的可读性。 百分号之后的文本都将视为注释,系统不对其进行编译。 >> c=ones(2,3); >> c=ones(2,3) %create a 2*3 matrix of ones. c= 1 1 1 1 1 1
12
2.2 常用的操作命令和快捷键
命令 cd clc 功能
得对MATLAB的操作更加便利。
清空命令窗口 load
命令 功能 掌握一些常用的操作命令和快捷键,可以使 hold 显示或改变工作目录 图形保持命令 加载指定文件中 的变量
clear
clf
清除工作区中的变量
清除图形窗口
pack
path quit save type
第2章 基本使用方法
教学内容
1. 2. 3. 4. 5. 6. 简单的数学运算 常用的操作命令和快捷键 MATLAB R2010a 的数据类型 MATLAB R2010a 的运算符 MATLAB的一些基础函数 MATLAB脚本文件
2016/3/8
1
MATLAB两大特点
1: 面向复数设计的运算
>> a=-8;ra=a^(1/3) ra = 1.0000 + 1.7321i >> p=[1 0 0 -a];r=roots(p) r= -2.0000 1.0000 + 1.7321i 1.0000 - 1.7321i
>> x=single(3.4) x= 3.4000 >> y=34 y= 34 >> x+y ans = 37.4000 >> class(x+y) ans = single
23
例 2-12 单精度和双精度数据类型的取值范围和精度
>> realmin(‘single’),realmax('single') ans = 1.1755e-038 ans = 3.4028e+038 >> eps('single') ans = 1.1921e-007 >> realmin(‘double’),realmax('double') ans = 2.2251e-308 ans = 1.7977e+308 >> eps('double') ans = 2.2204e-016
>> a=magic(3)
a=
8
1
6
>> 3 c=ones(2,3) 5 7 c =4 9 2
1 1 1 魔术矩阵为每行、每列以及对角之和 均相等的矩阵 1 1 1
2016/3/8
9
2.1.4 标点符号的使用
标点符号 定义 标点符号 定义
分号(;)
逗号(,) 冒号(:)
数组行分隔符;取 消运行显示
2016/3/8
4
2.1.2 MATLAB中的常用数学函数
MATLAB提供的基本初等函数包括三角函 数、指数函数、对数函数、复数函数、取 整和求余函数、坐标变换函数、数理函数 和一些特殊函数。 教材P14-16 MATLAB中使用函数不需要先对函数声明
2016/3/8
5
例2-3:已知三角形三个边长度分别为1、2、 3 ,求长度为 1和2的两条边的夹角大小。
>> x=int8(5) x= 5 >> y=int16(23) y= 23 >> z=x+y ??? Error using ==> plus Integers can only be combined with integers of the same class, or scalar doubles.
2016/3/8
24
2.3.3复数
1. 2. MATLAB的所有运算是定义在复数域上. MATLAB中虚数单位用i或者j表示 通过两种方法创建复数: 直接输入法 (不建议大家使用) 通过 complex 函数
2016/3/8
25
complex 函数的调用方法如下。
c = complex(a,b):返回结果 c 为复数,其实部 为 a,虚部为 b。输入参数 a 和 b 可以为标量, 或者维数、大小相同的向量、矩阵或者多维数组, 输出参数和 a 和 b 的结构相同。 a 和 b 可以有不同的数据类型,当 a 和 b 为各 种不同的类型时,返回值分别为:
各种数据类型之间的转换: 方式一: datatype(variable) 例: >> x=int8(4.5) x= 5 方式二: cast(x,’type’) 例: >> y=cast(4.5,'int8') y= 5 >> class(y) ans = int8
21
2016/3/8
不同整数类型之间不能进行运算
2016/3/8 29
complex()创建复数数组
>> a=int8([1 2 3 4]) a= 1 2 3 4 >> b=int8([2 3 4 5]) b= 2 3 4 5 >> c=complex(a,b) c= 1 + 2i 2 + 3i
a\b=b/a。
实例 3+5=8 3-5=-2 3*5=15
./
\ .\ ^ .^ ' .'
2016/3/8
数组右除
左除 数组左除 乘方 数组乘方 矩阵共轭转置 矩阵转置
8
例:矩阵乘法和点乘
>> a=[1 2;3 4]; >> b=[2 3;1 1]; >> c=a*b c= 4 5 10 13 >> d=a.*b d= 2 6 3 4
2016/3/8 6
>> a=1,b=2,c=sqrt(3) a= 1 b= 2 c= 1.7321
观察一下符号分号“;”,逗号“,”的区别。
2016/3/8
7
2.1.3MATLAB的数学运算符
符号 + * .* / 功能 加法 减法 矩阵乘法 乘,点乘,即数组乘法 右除 3/5 =0.6000 3\5= 1.6667 3^5= 243
>> a=1;b=2;c=sqrt(3); >> cos_alpha=(a^2+b^2-c^2)/(2*a*b) cos_alpha = 0.5000 >> alpha=acos(cos_alpha) %反余弦函数acos() alpha = 1.0472 >> alpha=alpha*180/pi %将弧度值转化为角度 alpha = 60.0000
2016/3/8
28
complex()创建单个复数
>> x=int8(2),y=int8(3) x= 2 y= 3 >> z2=complex(x,y) z2 = 2 + 3i
2016/3/8
Biblioteka Baidu16
数值类型
整数:int8,uint8,int16,uint16等 浮点数:单精度(single)和双精度(double) 复数:complex
2016/3/8
17
2.3.1整数
数据类型
MATLAB 支持8位、16位、32位和64位的有符号 uint8 8位无符号整数,范围为0~255(即0~28-1) 和无符号整数数据类型。 int8 8位有符号整数,范围为-128~127(即-27~27-1) 上述整数数据类型除了定义范围不同外,具有相 uint16 16位无符号整数,范围为0~65535(即0~216-1) 同的性质。
2016/3/8
22
2.3.2 浮点数
MATLAB 的默认数据类型 是双精度类型(double)。 为了节省存储空间, MATLAB 也支持单精度数 据类型的数组。 创建单精度类型的变量时 需要声明变量类型,与创 建整型变量类似。
单精度数据类型的数 据进行运算时,返回 值为单精度。
2016/3/8
int16 16位有符号整数,范围为-32768~32767(即-215~215-1)
描述
uint32 int32 uint64
int64
32位无符号整数,范围为0~4294967295(即0~232-1) 32位有符号整数,范围为-2147483648~2147483647(即-231~231-1) 64位无符号整数,范围为0~18446744073709551615(即0~264-1) 64位有符号整数,范围为-9223372036854775808~ 9223372036854775807(即-263~263-1)
2016/3/8
14
快捷键及其功能
快捷键 ↑(Ctrl + p) ↓(Ctrl + n) ←(Ctrl + b) →(Ctrl + f) 功能 调用上一行 调用下一行 光标左移一个字符 光标右移一个字符 快捷键 功能
Home(ctrl+a) 移动到命令行开头 End(ctrl+e) Ctrl + Home Ctrl + End 移动到命令行结尾 移动到命令窗口顶 部 移动到命令窗口底 部 选中光标和表达式 开头之间的内容 选中光标和表达式 结尾之间的内容
Ctrl + ←
Ctrl + → Esc
2016/3/8
光标左移一个单词
光标右移一个单词 取消当前输入行
Shift + Home
Shift + End Ctrl + k
剪切光标和表达式 结尾之间的内容
15
2.3 MATLAB R2010a的数据类型
Matlab常用的数据类型: 数值:numeric 字符:char 逻辑:logical 单元:cell 结构:struct
数组列分隔符;函 数参数分隔符
点(.)
小数点;结构体成员 访问
省略号(…) 续行符
在数组中应用较多, 引号(‘’) 定义字符串 如生成等差数列 等号(=) 感叹号(!) 赋值语句 调用操作系统运算
指定运算优先级; 圆括号(( )) 函数参数调用;数 组索引
方括号([ ]) 定义矩阵 花括号({ }) 定义单元数组
2016/3/8 2
2: 面向数组设计的运算
2016/3/8
3
2.1简单的数学运算
2.1.1 最简单的计算器使用方法
1. 直接输入法 >> pi*4^2 ans = 50.2655 没有将结果赋予一个变量 时,MATLAB自动将结果赋 予一个暂时的变量名ans
2. 存储变量法 >> s=pi*4^2 s= 50.2655 >> h=2 h= 2 >> v=s*h v= 100.5310
2016/3/8
11
3: 逗号(,) >> x=[1.545,2.1] x= 1.5450 2.1000 >> round(x) ans = 2 2 >> x,x' x= 1.5450 2.1000 ans = 1.5450 2.1000
>> x,b=x'; x= 1.5450 2.1000
2016/3/8
左除和右 除的关系: y\x=x/y
在进行除法时, MATLAB 首先将两 个数视为双精度类型 进行运算,然后将结 果转化为相应的整形 数据
20
>> x=double(x),y=double(y) x= 30 y= 15 >> y/x ans = 0.5000 >> z=y/x z= 0.5000 >> z=int8(z) z= 1
2016/3/8 19
整数的运算
>> y=uint8(15) y= 15 >> x=uint8(30) x= 当运算结果溢 出时,系统将 30 结果设置为该 >> x+y 数据类型的上 ans = 限或者下限 45 >> x*y ans = 255
2016/3/8
>> x/y ans = 2 >> y\x ans = 2 >> x\y ans = 1 >>
2016/3/8
18
整数数据类型的定义
>> x=int8(30) 格式: x= 30 数据类型标识符(数据值) >> class(x) 例如:定义一个8位有符号的 ans = 整数x=30 int8 >> y=80 测试数据类型函数: y= class() 80 >> class(y) ans = MATLAB默认的 double 数据类型 >>
整理内存碎片
显示搜索目录 退出 MATLAB 保存内存变量 显示文件内容
diary 日志文件命令 dir 显示当前目录下文件 disp 显示变量或文字的内容
echo
命令窗口信息显示开关
2016/3/8
13
clear命令
>> x x= 1.5450 2.1000 >> clear x >> x ??? Undefined function or variable 'x'.
2016/3/8
百分号(%) 注释语句的标识
10
1:分号(;) 功能:用于区分数组的行,或者用于一个语句的结尾处, 取消运行行显示。 2:百分号(%) 功能:用于在程序文本中添加注释,提高程序的可读性。 百分号之后的文本都将视为注释,系统不对其进行编译。 >> c=ones(2,3); >> c=ones(2,3) %create a 2*3 matrix of ones. c= 1 1 1 1 1 1
12
2.2 常用的操作命令和快捷键
命令 cd clc 功能
得对MATLAB的操作更加便利。
清空命令窗口 load
命令 功能 掌握一些常用的操作命令和快捷键,可以使 hold 显示或改变工作目录 图形保持命令 加载指定文件中 的变量
clear
clf
清除工作区中的变量
清除图形窗口
pack
path quit save type
第2章 基本使用方法
教学内容
1. 2. 3. 4. 5. 6. 简单的数学运算 常用的操作命令和快捷键 MATLAB R2010a 的数据类型 MATLAB R2010a 的运算符 MATLAB的一些基础函数 MATLAB脚本文件
2016/3/8
1
MATLAB两大特点
1: 面向复数设计的运算
>> a=-8;ra=a^(1/3) ra = 1.0000 + 1.7321i >> p=[1 0 0 -a];r=roots(p) r= -2.0000 1.0000 + 1.7321i 1.0000 - 1.7321i
>> x=single(3.4) x= 3.4000 >> y=34 y= 34 >> x+y ans = 37.4000 >> class(x+y) ans = single
23
例 2-12 单精度和双精度数据类型的取值范围和精度
>> realmin(‘single’),realmax('single') ans = 1.1755e-038 ans = 3.4028e+038 >> eps('single') ans = 1.1921e-007 >> realmin(‘double’),realmax('double') ans = 2.2251e-308 ans = 1.7977e+308 >> eps('double') ans = 2.2204e-016
>> a=magic(3)
a=
8
1
6
>> 3 c=ones(2,3) 5 7 c =4 9 2
1 1 1 魔术矩阵为每行、每列以及对角之和 均相等的矩阵 1 1 1
2016/3/8
9
2.1.4 标点符号的使用
标点符号 定义 标点符号 定义
分号(;)
逗号(,) 冒号(:)
数组行分隔符;取 消运行显示
2016/3/8
4
2.1.2 MATLAB中的常用数学函数
MATLAB提供的基本初等函数包括三角函 数、指数函数、对数函数、复数函数、取 整和求余函数、坐标变换函数、数理函数 和一些特殊函数。 教材P14-16 MATLAB中使用函数不需要先对函数声明
2016/3/8
5
例2-3:已知三角形三个边长度分别为1、2、 3 ,求长度为 1和2的两条边的夹角大小。
>> x=int8(5) x= 5 >> y=int16(23) y= 23 >> z=x+y ??? Error using ==> plus Integers can only be combined with integers of the same class, or scalar doubles.
2016/3/8
24
2.3.3复数
1. 2. MATLAB的所有运算是定义在复数域上. MATLAB中虚数单位用i或者j表示 通过两种方法创建复数: 直接输入法 (不建议大家使用) 通过 complex 函数
2016/3/8
25
complex 函数的调用方法如下。
c = complex(a,b):返回结果 c 为复数,其实部 为 a,虚部为 b。输入参数 a 和 b 可以为标量, 或者维数、大小相同的向量、矩阵或者多维数组, 输出参数和 a 和 b 的结构相同。 a 和 b 可以有不同的数据类型,当 a 和 b 为各 种不同的类型时,返回值分别为:
各种数据类型之间的转换: 方式一: datatype(variable) 例: >> x=int8(4.5) x= 5 方式二: cast(x,’type’) 例: >> y=cast(4.5,'int8') y= 5 >> class(y) ans = int8
21
2016/3/8
不同整数类型之间不能进行运算
2016/3/8 29
complex()创建复数数组
>> a=int8([1 2 3 4]) a= 1 2 3 4 >> b=int8([2 3 4 5]) b= 2 3 4 5 >> c=complex(a,b) c= 1 + 2i 2 + 3i
a\b=b/a。
实例 3+5=8 3-5=-2 3*5=15
./
\ .\ ^ .^ ' .'
2016/3/8
数组右除
左除 数组左除 乘方 数组乘方 矩阵共轭转置 矩阵转置
8
例:矩阵乘法和点乘
>> a=[1 2;3 4]; >> b=[2 3;1 1]; >> c=a*b c= 4 5 10 13 >> d=a.*b d= 2 6 3 4
2016/3/8 6
>> a=1,b=2,c=sqrt(3) a= 1 b= 2 c= 1.7321
观察一下符号分号“;”,逗号“,”的区别。
2016/3/8
7
2.1.3MATLAB的数学运算符
符号 + * .* / 功能 加法 减法 矩阵乘法 乘,点乘,即数组乘法 右除 3/5 =0.6000 3\5= 1.6667 3^5= 243
>> a=1;b=2;c=sqrt(3); >> cos_alpha=(a^2+b^2-c^2)/(2*a*b) cos_alpha = 0.5000 >> alpha=acos(cos_alpha) %反余弦函数acos() alpha = 1.0472 >> alpha=alpha*180/pi %将弧度值转化为角度 alpha = 60.0000