>》> A=10A =10>> A+aans =19注意:将变量的值赋给另一个变量以前,必须确定等式右边的变量有值.否则会返回错误,例如下面的语句中,b变量无值>> A=b???Undefined function or variableb'另外,MATLAB可以多个赋值多个任务可以在同一行。例如,a=2:b=7:c=a*bMATLAB将执行上面的语句,并返回以下结果:c =14在MATLAB语言中变量的命名应遵循如下规则:(1)变量名区分大小写.(2)变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略(3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点,(4)在使用变量之前,必须进行赋值(5)当系统接收到一个变量之后,这个变量可以被引用,例如:X=7*8;y =x*7.89MATLAB将执行上面的语句,并返回以下结果:y =441.8400同是在MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果已改变了某些常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值。当然,也可通过重新启动MATLAB系统来恢复这些常量值。MATLAB中所有变量不管什么类型都以数组或矩阵的形式保存,最常用的变量类型是double型,表示64位的双精度型浮点数.MATLAB中进行数值计算,默认时所有变量都是double型,而变量的输出格式可以进行设置,在后面的内容中将作介绍。MATLAB如何显示已经使用的变量名?9
9 >> A=10 A = 10 >> A+a ans = 19 注意:将变量的值赋给另一个变量以前,必须确定等式右边的变量有值.否则会返 回错误,例如下面的语句中,b 变量无值. >> A=b ??? Undefined function or variable 'b'. 另外,MATLAB 可以多个赋值 多个任务可以在同一行。例如, a = 2; b = 7; c = a * b MATLAB 将执行上面的语句,并返回以下结果: c = 14 在 MATLAB 语言中变量的命名应遵循如下规则: (1)变量名区分大小写. (2)变量名长度不超 31 位,第 31 个字符之后的字符将被 MATLAB 语言所忽略. (3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点. (4) 在使用变量之前,必须进行赋值. (5)当系统接收到一个变量之后,这个变量可以被引用. 例如: x = 7 * 8; y = x * 7.89 MATLAB 将执行上面的语句,并返回以下结果: y = 441.8400 同是在 MATLAB 语言中,定义变量时应避免与常量名重复,以防改变这些常量的值, 如果已改变了某些常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值。 当然,也可通过重新启动 MATLAB 系统来恢复这些常量值。 MATLAB 中所有变量不管什么类型都以数组或矩阵的形式保存,最常用的变量类型 是 double 型,表示 64 位的双精度型浮点数.MATLAB 中进行数值计算,默认时所有变量 都是 double 型,而变量的输出格式可以进行设置,在后面的内容中将作介绍。 MATLAB 如何显示已经使用的变量名?
在MATLAB中可以使用who命令显示所有已经使用的变量名。whoMATLAB将执行上面的语句,并返回以下结果:Yourvariablesare:ansbcxyawhos命令则显示多一点有关变量:(1)当前内存中的变量(2)每个变量的类型(3)内存分配给每个变量(4)无论他们是复杂的变量与否whosMATLAB将执行上面的语句,并返回以下结果:NameSizeBytes ClassAttributesa1x18double1x18 doubleansb1x18doublec1x18double1x1x8double1x1y8double2.2数组和矩阵MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字,即标量,可以看作是具有一行一列的矩阵.为了更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。2.2.1数字变量的计算及输入输出对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算2和3的乘积再加1时,可以直接输入:例如>》1+2*4ans=9这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动赋当前结果给“ans”变量.用户也可以输入:>>a=1+2*4a=910
10 在 MATLAB 中可以使用 who 命令显示所有已经使用的变量名。 who MATLAB 将执行上面的语句,并返回以下结果: Your variables are: a ans b c x y whos 命令则显示多一点有关变量: (1)当前内存中的变量 (2)每个变量的类型 (3)内存分配给每个变量 (4)无论他们是复杂的变量与否 whos MATLAB 将执行上面的语句,并返回以下结果: Name Size Bytes Class Attributes a 1x1 8 double ans 1x1 8 double b 1x1 8 double c 1x1 8 double x 1x1 8 double y 1x1 8 double 2.2 数组和矩阵 MALAB 是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字,即标量, 可以看作是具有一行一列的矩阵.为了更好地学习和掌握矩阵的运算,首先对数字的基 本知识作简单的介绍。 2.2.1 数字变量的计算及输入输出 对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算 2 和 3 的乘积再加 1 时,可以直接输入: 例如 >> 1+2*4 ans= 9 这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就 自动赋当前结果给“ans”变量.用户也可以输入: >> a=1+2*4 a= 9
此时系统就把计算结果赋给指定的变量a了,MATLAB中的乘方,开方运算和其他一些语言有所不同,分别由符号和函数sqrt来实现.例如>》8°2ans =64>> sqrt(16)ans =4MATLAB语言中数值有多种显示形式,在默认情况下,若数据为整数,则就以整数表示:若数据为实数,则以保留小数点后4位的精度近似表示:MATLAB语言提供了10种数据显示格式,常用的有下述几种格式:short小数点后4位(系统默认值)long小数点后14位shorte5位指数形式longe15位指数形式使用format命令,可以设置变量的输出格式.format命令控制数值数据在命令窗口的显示模式,直到下一个format命令出现前,这条format命令一直有效例如>》a=pia=3.1416>>format long>> aa =3.14159265358979>>format short;>>aa =3.1416MATLAB语言还提供了复数的表达和运算功能.在MATLAB语言中,复数的基本单位表示为i或j.在表达简单数值时虚部的数值与i、i之间可以不使用乘号,但是如果是表达式,则必须使用乘号以识别虚部符号2.2.2数组在MATLAB中构造数组,即向量的方法很简单1、直接输入数组在命令窗口直接输入:只要用空格或逗号间隔数组元素,然后用方括号括起来就行了.需要注意的是,用空格或逗号分隔,生成行向量,用分号分隔生成列向量,11
11 此时系统就把计算结果赋给指定的变量 a 了. MATLAB 中的乘方,开方运算和其他一些语言有所不同,分别由^符号和函数 sqrt 来实现. 例如 >> 8^2 ans = 64 >> sqrt(16) ans = 4 MATLAB 语言中数值有多种显示形式,在默认情况下,若数据为整数,则就以整数 表示;若数据为实数,则以保留小数点后 4 位的精度近似表示.MATLAB 语言提供了 10 种数据显示格式,常用的有下述几种格式: short 小数点后 4 位(系统默认值) long 小数点后 14 位 shorte 5 位指数形式 longe 15 位指数形式 使用 format 命令,可以设置变量的输出格式.format 命令控制数值数据在命令窗 口的显示模式,直到下一个 format 命令出现前,这条 format 命令一直有效. 例如 >> a=pi a = 3.1416 >> format long >> a a = 3.14159265358979 >> format short; >> a a = 3.1416 MATLAB 语言还提供了复数的表达和运算功能.在 MATLAB 语言中,复数的基本单位 表示为 i 或 j.在表达简单数值时虚部的数值与 i、j 之间可以不使用乘号,但是如果是 表达式,则必须使用乘号以识别虚部符号. 2.2.2 数组 在 MATLAB 中构造数组,即向量的方法很简单. 1、直接输入数组 在命令窗口直接输入.只要用空格或逗号间隔数组元素,然后用方括号括起来就行 了.需要注意的是,用空格或逗号分隔,生成行向量,用分号分隔生成列向量.
例如>>x=[123455-1]X =123455-1>> x=[1;2;3]X=1232、用冒号构造数组利用MATLAB提供的冒号运算符可以生成1×n的矩阵,即数组.冒号表达式的基本形式为x=x:步长:x,其中x表示数组的首元素值,x表示数组的尾元素数值限,步长表示从第二个元素开始,元素值大小与前一个元素值大小的差值,如果步长为1,可省略不写:用此方法构造数组时可不用例如>>x=1:6X =561234>> x=-3:3.8X=-3-10123-2>> x=1:-1:-10X=10-2-3-1-4-5-6-7-8-9-10>> x=1:3:10X =171043、用线性等分功能函数linspace构造数组基本形式是:X=linspace(first,last,num)其中first,last,num分别是x数组的首,末元素和总共的元素个数,>>linspace(0,10,6)例如ans =0210468>> linspace(0,10,5)ans =12
12 例如 >> x=[1 2 3 4 5 5 -1] x = 1 2 3 4 5 5 -1 >> x=[1;2;3] x = 1 2 3 2、用冒号构造数组 利用 MATLAB 提供的冒号运算符可以生成 1 n 的矩阵,即数组.冒号表达式的 基本形式为 0 n x x x = :步长: ,其中 0 x 表示数组的首元素值, n x 表示数组的尾元素数值限, 步长表示从第二个元素开始,元素值大小与前一个元素值大小的差值.如果步长为 1, 可省略不写.用此方法构造数组时[ ]可不用. 例如 >> x=1:6 x = 1 2 3 4 5 6 >> x=-3:3.8 x = -3 -2 -1 0 1 2 3 >> x=1:-1:-10 x = 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 >> x=1:3:10 x = 1 4 7 10 3、用线性等分功能函数 linspace 构造数组 基本形式是: X=linspace(first,last,num) 其中 first,last,num 分别是 x 数组的首,末元素和总共的元素个数. 例如 >> linspace(0,10,6) ans = 0 2 4 6 8 10 >> linspace(0,10,5) ans =
02.50005.00007.500010.0000注意:如果num省略,默认值为1002.2.3矩阵矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的:下面重点介绍矩阵的生成、矩阵的基本运算和矩阵的数组运算1、矩阵的生成(1)直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.在用此方法创建矩阵时,应当注意以下几点:·输入矩阵时要以“[]”为其标识符号,矩阵的所有元素必须都在括号内·矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔·矩阵大小不需要预先定义.·矩阵元素可以是运算表达式·若“[]”中无元素表示空矩阵.不想获得中间结果,可以用“;”结束.例如色创建一简单数值矩阵>>A=[123;456;789]A=123456789例如创建一带有运算表达式的矩阵>>B=[sin(pi),log(9),cos(pi/4)]B =0.00000.70712.1972(2)特殊矩阵的生成对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵:常用的有下面几个:zeros(m)生成m阶全0矩阵eye (m)生成m阶单位矩阵ones (m)生成m阶全1矩阵rand (m)生成m阶均匀分布的随机阵randn (m)生成m阶正态分布的随机矩阵13
13 0 2.5000 5.0000 7.5000 10.0000 注意:如果 num 省略,默认值为 100 2.2.3 矩阵 矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB 语言系统中几乎一切运算均是以对矩阵的操作为基础的.下面重点介绍矩阵的生成、矩 阵的基本运算和矩阵的数组运算. 1、矩阵的生成 (1)直接输入法 从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的 简单矩阵.在用此方法创建矩阵时,应当注意以下几点: ⚫ 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内. ⚫ 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔. ⚫ 矩阵大小不需要预先定义. ⚫ 矩阵元素可以是运算表达式. ⚫ 若“[ ]”中无元素表示空矩阵. ⚫ 不想获得中间结果,可以用“;”结束. 例如 创建一简单数值矩阵 >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 例如 创建一带有运算表达式的矩阵 >> B=[sin(pi),log(9),cos(pi/4)] B = 0.0000 2.1972 0.7071 (2)特殊矩阵的生成 对于一些比较特殊的矩阵(单位阵、矩阵中含 1 或 0 较多),由于其具有特殊的 结构,MATLAB 提供了一些函数用于生成这些矩阵.常用的有下面几个: zeros(m) 生成 m 阶全 0 矩阵 eye(m) 生成 m 阶单位矩阵 ones(m) 生成 m 阶全 1 矩阵 rand(m) 生成 m 阶均匀分布的随机阵 randn(m) 生成 m 阶正态分布的随机矩阵