第二讲 Matlab变量及数据类型

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

向量与矩阵的生成
向量的生成 直接输入: 直接输入: a=[1,2,3,4] 冒号运 冒号运算符
例:a=[1:4] ==> a=[1, 2, 3, 4]
b=[0:pi/3:pi] ==> b=[0, 1.0472, 2.0944, 3.1416] c=[6:-2:0] ==> c = [6, 4, 2, 0] 注:冒号表达式可以产生一个行向量,一般格式是: 冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3 其中e1为初始值 为初始值, 为步长 为步长, 为终止值 为终止值。 其中 为初始值,e2为步长,e3为终止值。
6.复数的赋值方式 .
MATLAB的每一个元素都可以是复数,实数是复数的特例。 MATLAB的每一个元素都可以是复数,实数是复数的特例。 的每一个元素都可以是复数 复数的虚数部分用i 表示。对复数矩阵有两种赋值方法: 复数的虚数部分用i或j表示。对复数矩阵有两种赋值方法: (1)可将矩阵元逐个赋予复数 将矩阵的实部和虚部分别赋值: (2)将矩阵的实部和虚部分别赋值:
2.1 算术运算符
(1)矩阵加减法“±”:A±B 矩阵加减法“ : ± 功能: 两矩阵对应元素相加减。因此, 功能 : 两矩阵对应元素相加减 。 因此 , A 和 B 两矩阵必须有 相同的大小,或其中之一为标量,标量可以与任意大小的矩阵 相同的大小,或其中之一为标量,标量可以与任意大小的矩阵 标量 相加。 相加。 矩阵相乘“ (2)矩阵相乘“*”:A*B 功能: =A*B为两矩阵线性代数的乘积 为两矩阵线性代数的乘积, 功能:C =A*B为两矩阵线性代数的乘积,即
⑸ 常数pi: 表示圆周率π =3.1415926535897..... 。 表达式 常数 : 表示圆周率 π 1415926535897.....。 ..... 产生相同的值π 4*atan(1)和imag(log(-1))产生相同的值π。 ( 产生相同的值 常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结 ⑹常数 :代表正无穷大,一般被0 10000均产生结果 均产生结果: 产生结果: 果 。 如 2/0 , 2^10000 均产生结果 : Inf; 而 log(0)产生结果 : ; 产生结果 -Inf。 。 ⑺虚数单位i,j:表示复数虚部单位,相当于 − 1 虚数单位 , :表示复数虚部单位, 。
数学实验
Matlab 数据类型
Matlab的变量及其赋值 Matlab的变量及其赋值
1
变量及其赋值
变量是任何程序设计语言的基本元素之一。 变量是任何程序设计语言的基本元素之一。 基本元素之一 并不要求对所使用的变量进行事先声明, Matlab 并不要求对所使用的变量进行事先声明,也不 需要指定变量类型, 需要指定变量类型,Matlab 会自动根据所赋予变量的值 或对变量所进行的操作来确定变量的类型。 或对变量所进行的操作来确定变量的类型。 在赋值过程中,如果变量已经存在, 在赋值过程中,如果变量已经存在,Matlab 会用新 值代替旧值,并以新的变量类型代替旧的变量类型 新的变量类型代替旧的变量类型。 值代替旧值,并以新的变量类型代替旧的变量类型。
Βιβλιοθήκη Baidu
向量与矩阵的生成( 向量与矩阵的生成(续)
矩阵的生成 直接输入: 直接输入: A=[1, 2, 3; 4, 5, 6; 7, 8, 9] 由向量生成 由函数生成
例:>> x=[1,2,3];y=[2,3,4];
>> A=[x,y], B=[x;y]
例:>> C=magic(3)
2.变量的元素的标注
在MATLAB中,变量的元素(即矩阵元)用圆括号“( )”中的 MATLAB中 变量的元素(即矩阵元)用圆括号“ 数字(也称为下标)来注明,一维矩阵(也称数组) 数字(也称为下标)来注明,一维矩阵(也称数组)中的元素用 一个下标表示,二维矩阵由两个下标数构成,以逗号分开。 一个下标表示,二维矩阵由两个下标数构成,以逗号分开。
WHO lists the variables in the current workspace. >>who Your variables are: A ans b
WHOS lists more information about each variable.
2
运算符与复数运算
算术运算符:进行数值计算。 算术运算符:进行数值计算。 关系运算符:比较两个操作数的大小。 关系运算符:比较两个操作数的大小。 逻辑运算符:进行逻辑运算。 逻辑运算符:进行逻辑运算。
7.变量检查
在程序调试或变量的赋值过程, 在程序调试或变量的赋值过程 , 往往需要检查工作空间中 的变量、变量的阶数以及变量赋值内容。 的变量、变量的阶数以及变量赋值内容。在检查变量及其阶数 等内容时,既可用工作空间窗口,也可在命令窗口使用who或 等内容时,既可用工作空间窗口,也可在命令窗口使用 或 whos命令来完成检查。 当查看某变量的赋值情况 , 可在命令 命令来完成检查。 命令来完成检查 当查看某变量的赋值情况, 窗口直接键入该变量名回车即可。 窗口直接键入该变量名回车即可。
3.赋值技巧
(1) 利用冒号“ :”给全行的元素赋值 利用冒号“ (2) 利用行、列标注构成新的矩阵 利用行、
4.特殊矩阵和数组
(1)单位矩阵函数 (1)单位矩阵函数eye() 单位矩阵函数 函数功能:产生对主角线元素为1 其它元素为0 单位矩阵。 函数功能:产生对主角线元素为1,其它元素为0的单位矩阵。 eye()的调用格式如下: 的调用格式如下: 的调用格式如下 A=eye(n) 返回一个n× 阶单位矩阵 阶单位矩阵; 返回一个 ×n阶单位矩阵; A=eye(m , n)返回一个 ×n阶单位矩阵,或A=eye([m , n]); 返回一个m× 阶单位矩阵 阶单位矩阵, 返回一个 ;
⑻ NaN: 表示非数值 。 如当 : 表示非数值。 如当Inf-Inf, Inf/Inf, 0*Inf, , , , 0/0均产生该结果。 均产生该结果。 均产生该结果
数值类型包括有符号整数类型、无符号整数类型、 数值类型包括有符号整数类型、无符号整数类型、 单精度浮点类型和双精度浮点类型,如图所示。 单精度浮点类型和双精度浮点类型,如图所示。
5.MATLAB内部特殊变量和常数 内部特殊变量和常数
⑴变量ans:临时变量,通常指示当前的答案。 变量 :临时变量,通常指示当前的答案。 常数eps:表示浮点相对精度; 其值是从1.0 到下一个最大 ⑵ 常数 : 表示浮点相对精度;其值是从1 浮点数之间的差值。变量值作为一些MATLAB函数计算的相对 浮点数之间的差值。变量值作为一些 函数计算的相对 浮点精度, 标准, 近似为2 2204e-016。 浮点精度,按IEEE标准,esp= 2-52近似为2.2204 -016。 标准 = 常数realmax:表示最大正浮点数 ; 任何大于该值的运算 ⑶ 常数 : 表示最大正浮点数; 都溢出。在具有IEEE标准浮点格式的机器上,realmax略小 标准浮点格式的机器上, 都溢出。在具有 标准浮点格式的机器上 略小 近似为1 7977e+308。 于21024 ,近似为1.7977 +308。 ⑷常数realmin:表示最小正浮点数;任何小于该值的运算都 常数 :表示最小正浮点数; 溢出。在具有IEEE标准浮点格式的机器上,realmin略小于 标准浮点格式的机器上, 溢出。在具有 标准浮点格式的机器上 略小于 近似为2.2251 308。 2.2251e2-1024 ,近似为2.2251 -308。
调用linspace函数,生成一个首尾分别为0 linspace函数 【例】 调用linspace函数,生成一个首尾分别为0和100 , 包含100个数的等差数列。 个数的等差数列。 包含 个数的等差数列 >>linspace(0,100) 函数和logspace函数 (3)linspace函数和 函数和 函数 logspace:对数等差数列生成函数。 产生指定长度的对数 对数等差数列生成函数。 对数等差数列生成函数 等距数列,调用格式及其功能如下: 等距数列,调用格式及其功能如下: y=logspace(a,b) 区间生成50 50个差值相等 在[10a,10b]区间生成50个差值相等 的数,并返回50个数以10为底的幂组成的行向量。 50个数以10为底的幂组成的行向量 的数,并返回50个数以10为底的幂组成的行向量。 y=logspace(a,b,n) 区间生成n个差值相等 在[10a,10b]区间生成 个差值相等 的数,并返回n个数以10为底的幂组成的行向量 个数以10为底的幂组成的行向量。 的数,并返回 个数以10为底的幂组成的行向量。 y=logspace(a,pi) ,pi]区间生成50个差值相等 区间生成50 在[10a,pi]区间生成50个差值相等 的数,并返回50个数以10为底的幂组成的行向量, 50个数以10为底的幂组成的行向量 的数,并返回50个数以10为底的幂组成的行向量,常用于数字信 号处理。 号处理。
1.2 矩阵及其元素的赋值
赋值就是把数赋予代表常量或变量的标识符。 赋值就是把数赋予代表常量或变量的标识符。在MATLAB 变量都代表矩阵。 中,变量都代表矩阵。列矢量可被当作只有一列的矩阵;行矢 变量都代表矩阵 列矢量可被当作只有一列的矩阵; 量也可被当作只有一个行的矩阵;标量应看作1× 阶的矩阵 阶的矩阵。 量也可被当作只有一个行的矩阵;标量应看作 ×1阶的矩阵。 赋值语句的一般形式为: 赋值语句的一般形式为: 变量=表达式(或数) 变量=表达式(或数) 1.赋值要求 在输入矩阵时,应遵循以下规则: 在输入矩阵时,应遵循以下规则: ·整个矩阵的值应放在方括号[ ]中; 整个矩阵的值应放在方括号[ 整个矩阵的值应放在方括号 ]中 ·同一行中各元素之间以逗号“ ,”或空格“ ”分开; 同一行中各元素之间以逗号“ 或空格“ 分开 分开; 同一行中各元素之间以逗号 ·不同行的元素以分号“ ;”隔开。 不同行的元素以分号“ 隔开。 不同行的元素以分号
(2) zeros函数、ones函数、rand以及 函数、 函数、 以及randn函数 函数 函数 以及 函数 A=zeros(n) A=zeros(m , n) 返回一个n× 阶零矩阵 阶零矩阵; 返回一个 ×n阶零矩阵; 返回一个m× 阶零矩阵 阶零矩阵; 返回一个 ×n阶零矩阵;
(3)linspace函数和logspace函数 (3)linspace函数和logspace函数 函数和 linspace: 线性向量生成函数 。 产生指定长度的等差 : 线性向量生成函数。 数列,调用格式及其功能如下: 数列,调用格式及其功能如下: y=linspace(a,b): 生成一个首尾分别为 和 b的 100 : 生成一个首尾分别为a和 的 个数(包含a、 )的行向量。 个数(包含 、b)的行向量。 y=linspace(a,b,n): 生成一个首尾分别为 和 b的 n : 生成一个首尾分别为a和 的 个数(包含a、 )的行向量。 个数(包含 、b)的行向量。
1.1 变量命名规则
•变量名是对字母大小写敏感的。 变量名是对字母大小写敏感的。 变量名是对字母大小写敏感的 变量myvar和MyVar是不同变量。sin是MATLAB 是不同变量。 如:变量 和 是不同变量 是 定义的正弦名, 等都不是。 定义的正弦名,但SIN、Sin等都不是。 、 等都不是 •变量名的第一个字母必须是英文字母,最多可包含 变量名的第一个字母必须是英文字母, 变量名的第一个字母必须是英文字母 31个字符 英文、数字和下划线。 个字符, 31个字符,英文、数字和下划线。 合法。 如:myvar201合法。 合法 •变量名中不得含空格、标点,但可以有下连符号。 变量名中不得含空格、标点,但可以有下连符号。 变量名my_var_201合法的,且读起来更方便。 合法的, 如:变量名 合法的 且读起来更方便。 不合法。 而my,var201不合法。 不合法
相关文档
最新文档