2.2361 =sqrt(5) (c)一个复数的自变量,即复平面中的相角由arg=ang1e(z)求出: a r g= 1.1071为弧度 ●在M AT LA B中也有更高级的预定义数学函数。 第2章简单图形 1.在MATLAB中画图形,其数据必须存储在向量或矩阵中。例如,画出2的 乘幂的图形有三步。首先,创建一个有值的向量。第二,用这些值对函数求 值。第三,画出向量图形: 例如,输入: vector=1 inspace(0,8,l00);%使用0~8之间的100个数值使图形更加光滑。 values =2.vector; %Linspace命令对于创建长向量是非常有效的. clf; %用命令clf清除图形窗口 plot(vector,values);%结果是一个简单图,其刻度是自动给定的 300 250 200 150 100 50 0 2 5 图A-1函数2的分段线性图形 2.二维图形绘图命令 ●p10t(x,y)绘制向量y对向量x的曲线。以x为横坐标,y为纵坐标, 按照坐标(x,y,)的有序排列绘制曲线。 ●p1ot(y)以j为横坐标,y为纵坐标,绘制(j,y)的有序集合的图形。 ● p1ot(z)以横轴为实轴,纵轴为虚轴,绘制(rea1(z),imag(z)) 的有序集合的图形。这样,复数2k就画在复平面上了。 ●p1ot(···,str)使用字符串str指定的颜色和线型进行绘图。 下表列出了str可以取的值。 p1ot(x1,y1,str1,x2,y2,str2,.··)用字 符串str1指定的颜色和线型绘制yl对x1的图形,用字符串str2指定的颜 色和线型绘制y2对x2的图形.··。每组参数值可以采用上述除复数值以外 的任何一种形式。strl,str2··.可以省略,此时,MAT LAB自动为 每条曲线选择颜色和线型
2 . 2 3 6 1 =sqrt(5) (c) 一个复数的自变量,即复平面中的相角由a r g = a n g l e ( z )求出: a r g = 1 . 1 0 7 1为弧度 在M AT L A B 中也有更高级的预定义数学函数。 第 2 章 简单图形 1. 在M AT L A B 中画图形,其数据必须存储在向量或矩阵中。例如,画出2 的 乘幂的图形有三步。首先,创建一个有值的向量。第二,用这些值对函数求 值。第三,画出向量图形; 例如,输入: vector = linspace(0,8,100); %使用0 ~8 之间的100 个数值使图形更加光滑。 values =2.^vector; %Linspace命令对于创建长向量是非常有效的. clf; %用命令clf清除图形窗口 plot(vector,values); %结果是一个简单图,其刻度是自动给定的 2. 二维图形绘图命令 p l o t ( x , y ) 绘制向量y对向量x的曲线。以x 为横坐标,y 为纵坐标, 按照坐标(xj ,yj)的有序排列绘制曲线。 p l o t ( y )以j 为横坐标,yj 为纵坐标,绘制(j, yj)的有序集合的图形。 p l o t ( z )以横轴为实轴,纵轴为虚轴,绘制( r e a l (zk) , i m a g (zk) ) 的有序集合的图形。这样, 复数zk 就画在复平面上了。 p l o t ( . . . , s t r )使用字符串s t r 指定的颜色和线型进行绘图。 下表列出了str可以取的值。 p l o t ( x 1 , y 1 , s t r 1 , x 2 , y 2 , s t r 2 , . . . )用字 符串s t r 1 指定的颜色和线型绘制y1对x1的图形,用字符串str2指定的颜 色和线型绘制y2对x2 的图形. . .。每组参数值可以采用上述除复数值以外 的任何一种形式。str1, str2 . . .可以省略,此时,M AT L A B 自动为 每条曲线选择颜色和线型。 图A-1 函数2 x的分段线性图形
字符串str可以指定图形的颜色和线型。表1列出了允许的值和它们代表的意义。 这些参数可以组合起来使用(%可取表中点、线、色各一),例如,‘y+’表示一 个黄色的加号,而b一一’表示一个蓝色的虚线。如果将要画的是几组数据, 但是没有指定线型,系统将会自动按照表1赋予它们从黄到黑各种不同的颜色线 型 表1.点类型、线类型与颜色 点类型 线类型 ·点 -实线 *星号 一虚线 s q u a r e正方形 -.点划线 :点线 d i a m o n d菱形 none无线 颜色 p e n t a g r a m五角星形 g绿色 h e x a g r a m六角星形 m品红色 none无点 b蓝色 0 0 c灰色 + + w白色 X × r红色 〈顶点指向左边的三角 k黑色 >顶点指向右边的三角 y黄色 正三角 v倒三角 在M AT LA B中,能很容易地画出点: x=-pi:0.05:pi; plot(x,sin(x )*cos(x ),'o ') 0.5 04 0.3 0000000 0.2 0000000 0 0 01 0 0 -0.1 00000ag0o0o00000000600e 0 -02 -0.3 04 000a景m606o000000 -0.5 -3 2 3 p1ot命令对复数矩阵同样适用
字符串s t r可以指定图形的颜色和线型。表1列出了允许的值和它们代表的意义。 这些参数可以组合起来使用(%可取表中点、线、色各一),例如,‘y +’表示一 个黄色的加号,而‘b --’表示一个蓝色的虚线。如果将要画的是几组数据, 但是没有指定线型,系统将会自动按照表1赋予它们从黄到黑各种不同的颜色线 型 表1. 点类型、线类型与颜色 点类型 线类型 .点 * 星号 s q u a r e 正方形 d i a m o n d 菱形 p e n t a g r a m 五角星形 h e x a g r a m 六角星形 n o n e 无点 o o + + x × < 顶点指向左边的三角 > 顶点指向右边的三角 ^ 正三角 v 倒三角 -实线 - -虚线 -.点划线 :点线 none 无线 颜色 g 绿色 m 品红色 b 蓝色 c 灰色 w 白色 r 红色 k 黑色 y 黄色 在M AT L A B 中,能很容易地画出点: x = -pi : 0.05 : pi ; plot( x , sin( x ).*cos( x ) ,'o '); p l o t 命令对复数矩阵同样适用
clear i;%保证i是复数 r=linspace(0,2);%创建向量r theta=linspace(0,10*pi);%创建角向量0 [x,y]=pol2cart(theta,r);%将弧度坐标转化成复数向量 Z x+i*y plot(z)%对z绘图 1.5 05 -0.5 0 0.5 15 3.命令fp1ot可以绘制出标准的MAT LA B和用户自定义的函数图形。 fp1ot(fcn,1im,str)绘制由字符串fcn指定的函数图形。 这可以是标准函数,也可以是用户在M文件fcn·m中自定义的函数,但不允 许是内联函数。向量1im=[xmin xmax]给出绘图区间范围。该向量也可以包 含四个元素,后两个参数用来表示y轴的区间,即1im=[xmin xmax ymin ymax]。如果使用字符串str,则可以根据表1来改变图形的线型和颜色。 第3章矩阵运算 M AT LAB中的大多数运算可以直接对矩阵应用。 3.1加法和减法 如果矩阵A和B具有相同的维数,那么就可以定义两个矩阵的和A+B和两个矩阵 的差A一B。矩阵A±B,即元素a:,±b:;。在M AT LAB中,一个mXn矩 阵A和一个标量,即一个1×1矩阵s之间也能进行加和减运算。矩阵A+s得到 与A相同的维数,元素为ats。 3.2乘法 ●乘法的运算符是* 命令C=A*B,元素c是A的第i行和B的第j列的点积。矩阵C有与A相同 的行数和与B相同的列数。 A=[345;522;123]; B=[123;111]; C=B*A
clear i ;% 保证i是复数 r = linspace(0 ,2 );% 创建向量r theta = linspace(0 ,10*pi );% 创建角向量θ [ x ,y] = pol2cart(theta ,r );% 将弧度坐标转化成复数向量 z = x+i*y ; plot( z ) % 对z 绘图 3. 命令f p l o t 可以绘制出标准的M AT L A B 和用户自定义的函数图形。 f p l o t ( f c n , l i m , s t r )绘制由字符串f c n 指定的函数图形。 这可以是标准函数,也可以是用户在M 文件f c n . m 中自定义的函数,但不允 许是内联函数。向量l i m= [xmin xmax ]给出绘图区间范围。该向量也可以包 含四个元素,后两个参数用来表示y 轴的区间,即l i m =[ xmin xmax ymin ymax]。如果使用字符串s t r,则可以根据表1来改变图形的线型和颜色。 第 3 章矩阵运算 M AT L A B 中的大多数运算可以直接对矩阵应用。 3.1 加法和减法 如果矩阵A 和B 具有相同的维数,那么就可以定义两个矩阵的和A+B 和两个矩阵 的差A -B 。矩阵A ±B ,即元素ai j±bi j 。在M AT L A B 中,一个m ×n 矩 阵A 和一个标量,即一个1 ×1 矩阵s 之间也能进行加和减运算。矩阵A+s 得到 与A 相同的维数,元素为aij+s 。 3.2 乘法 乘法的运算符是* 命令C = A * B ,元素cij 是A 的第i 行和B 的第j 列的点积。矩阵C 有与A 相同 的行数和与B 相同的列数。 A=[3 4 5 ;5 2 2;1 2 3]; B=[1 2 3;1 1 1]; C=B*A
C= 16 14 18 9 8 10 C=A*B ??Error using ==> Inner matrix dimensions must agree.因为这种矩阵的乘法没有定义 ●命令d0t(x,y)得到具有相同元素数量的两个向量x和y的点积,也 称为标量积或内积。如果点积为零,则两个向量是正交的。 3.3除法 在MAT LA B中,有两个矩阵除法的符号,左除\和右除/。如果A是一个非奇 异方阵,那么A\B和B/A对应A的逆与B的左乘和右乘,即分别等价于命令 inv(A)B和B*inv(A)。 如果A是一个方阵,那么X=AB是矩阵方程AX=B的解AB,这里的X具 有与B相同的维数。在B=b是一个列向量这样一个特殊情况下,X=A\b是线 性系统AX=b的解。 矩阵方程XA=B的解是X=B/A,它等同于(A'\B')',即右除可以由左除 定义。这里,撇号′表示转置 3.4转置和共轭 一个重要的运算是转置和共轭转置,它在M AT L A B中用撇'表示。 ● 如果矩阵A的元素a,是复数,那么矩阵A'在项(i,j)上含有a(共轭)。 ●如果仅希望转置,在撇号之前输入一点.‘,A.‘表示转置,其结果与conj(A) 相同。 3.5元素操作算术运算 算术运算也可以元素与元素逐次进行。如果运算是由一点进行的,那么这个运算 实行的是元素方式。 对于加法和减法,数组运算和矩阵运算没有差别。数组运算符是: 十一 ,米 ■例:假设定义如下矩阵:A=[123;456],B=A A.8= 14 9 16 25 36 3.6元素操作函数 在M AT L A B中预定义的数学标准函数是基于对矩阵元素的运算。 3.7关系运算符 M AT L A B有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行 比较,即矩阵中的每个元素与标量进行比较。 关系运算符如下: 〈小于 〈=小于等于 >大于 〉=大于等于 ==等于 ~=不等于
C = 16 14 18 9 8 10 C=A*B ??? Error using ==> * Inner matrix dimensions must agree. 因为这种矩阵的乘法没有定义 命令d o t ( x ,y )得到具有相同元素数量的两个向量x 和y 的点积,也 称为标量积或内积。如果点积为零,则两个向量是正交的。 3.3 除法 在M AT L A B 中,有两个矩阵除法的符号,左除\和右除/。如果A 是一个非奇 异方阵,那么A \ B 和B / A 对应A 的逆与B 的左乘和右乘,即分别等价于命令 i n v ( A )*B 和B*i n v ( A )。 如果A 是一个方阵,那么X = A \ B 是矩阵方程A X=B 的解A -1B ,这里的X 具 有与B 相同的维数。在B=b 是一个列向量这样一个特殊情况下,x = A \ b 是线 性系统A X=b 的解。 矩阵方程X A=B 的解是X=B / A ,它等同于( A ′\ B ′)′,即右除可以由左除 定义。这里,撇号′表示转置. 3.4 转置和共轭 一个重要的运算是转置和共轭转置,它在M AT L A B 中用撇´表示。 如果矩阵A 的元素ai j 是复数,那么矩阵A´在项(i, j)上含有aji(共轭)。 如果仅希望转置,在撇号之前输入一点.´,A.´表示转置,其结果与conj( A ´ ) 相同。 3.5 元素操作算术运算 算术运算也可以元素与元素逐次进行。如果运算是由一点进行的,那么这个运算 实行的是元素方式。 对于加法和减法,数组运算和矩阵运算没有差别。数组运算符是: +- .* ./ .\ .^ ■例:假设定义如下矩阵:A=[1 2 3;4 5 6],B=A A.*B= 1 4 9 16 25 36 3.6 元素操作函数 在M AT L A B 中预定义的数学标准函数是基于对矩阵元素的运算。 3.7 关系运算符 M AT L A B 有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行 比较,即矩阵中的每个元素与标量进行比较。 关系运算符如下: <小于 < =小于等于 >大于 > =大于等于 = =等于 ~ =不等于
关系运算符比较对应的元素,产生一个仅包含1和0的具有相同维数的矩阵。其 元素是: 1比较结果是真 0比较结果是假 在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑 运算符。 令A如上例中假设,A中的元素有大于1的吗? G r e a t er T h a n o n e=A>1 ans 0 1 1 1 3.8逻辑运算符 在M AT L A B中有四种逻辑运算符: &与 或 ~非 xor异或 逻辑运算符的运算优先级最低。如同前一节一样,它也能使一个标量与一个矩阵 进行比较。逻辑运算符是按元素比较的。 3.9建立新矩阵 建立1矩阵使用ones命令,这种矩阵的元素全部都是1。相应的建立0矩阵 使用zer0s命令,这种矩阵的元素全部都是0。单位矩阵的对角线元素全部 是1,而其他元素全部是0。建立单位矩阵使用eye命令。 ●1矩阵、零矩阵和单位矩阵 ones(n)建立一个nXn的1矩阵。 ones(m,n,···,p)建立一个mXnX...Xp的1矩阵。 zer0s(n)建立一个nXn的0矩阵。 z e r o s(m,n,··,p)建立一个mXn··.Xp的0矩阵。 eye(n)建立一个nXn的单位矩阵。注意eye命令只能用来建立二维矩 阵。 eye(m,n)建立一个mXn的单位矩阵。注意eye命令只能用来建立二维矩阵。 eye(size(A))建立一个和矩阵A同样大小的单位矩阵。 3.10向量和子矩阵的生成 在MATLAB中可以使用冒号‘:’来代表一系列数值。有时也使用它来定义一 个子矩阵。 我们先给出用冒号来定义向量的方法。 1.数字序列(一) ●i:k创建从i开始、步长为1、到k结束的数字序列,即i,i+1, 1+2,···,k。如果i>k,M AT LA B则返回一个空矩阵,也就是[]。 数字1和k不必是整数,该序列的最后一个数是小于或等于k。 ●i:j:k创建从i开始、步长为l、到k结束的数字序列,即i,i+j,i+ 2j,···,k。对于j0,则返回一个空矩阵。数字i、j和k不必是整 数,该序列的最后一个数是小于或等于k。 ■例
关系运算符比较对应的元素,产生一个仅包含1 和0 的具有相同维数的矩阵。其 元素是: 1 比较结果是真 0 比较结果是假 在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑 运算符。 令A 如上例中假设,A中的元素有大于1 的吗? G r e a t e r T h a n O n e = A > 1 ans = 0 1 1 1 1 1 3.8 逻辑运算符 在M AT L A B 中有四种逻辑运算符: &与 |或 ~非 x o r 异或 逻辑运算符的运算优先级最低。如同前一节一样,它也能使一个标量与一个矩阵 进行比较。逻辑运算符是按元素比较的。 3.9 建立新矩阵 建立1矩阵使用o n e s 命令,这种矩阵的元素全部都是1 。相应的建立0 矩阵 使用z e r o s 命令,这种矩阵的元素全部都是0 。单位矩阵的对角线元素全部 是1 ,而其他元素全部是0 。建立单位矩阵使用e y e 命令。 1 矩阵、零矩阵和单位矩阵 o n e s ( n )建立一个n ×n 的1 矩阵。 o n e s ( m , n ,. . ., p )建立一个m ×n ×. . .×p 的1 矩阵。 z e r o s ( n )建立一个n ×n 的0 矩阵。 z e r o s ( m , n ,. . ., p )建立一个m ×n . . .×p 的0 矩阵。 e y e ( n )建立一个n ×n 的单位矩阵。注意e y e 命令只能用来建立二维矩 阵。 eye(m, n)建立一个m ×n 的单位矩阵。注意e y e 命令只能用来建立二维矩阵。 e y e ( s i z e ( A ) )建立一个和矩阵A 同样大小的单位矩阵。 3.10 向量和子矩阵的生成 在M AT L A B 中可以使用冒号‘:’来代表一系列数值。有时也使用它来定义一 个子矩阵。 我们先给出用冒号来定义向量的方法。 1. 数字序列(一) i : k 创建从i 开始、步长为1 、到k 结束的数字序列,即i ,i+1, i+2, . . . , k 。如果i>k ,M AT L A B 则返回一个空矩阵,也就是[ ]。 数字i 和k 不必是整数,该序列的最后一个数是小于或等于k 。 i : j : k 创建从i 开始、步长为1 、到k 结束的数字序列,即i, i+j, i+ 2j, . . ., k 。对于j= 0 ,则返回一个空矩阵。数字i 、j 和k 不必是整 数,该序列的最后一个数是小于或等于k 。 ■例