关系运算及符号运算.ppt
《关系运算及符号运算.ppt》由会员分享,可在线阅读,更多相关《关系运算及符号运算.ppt(57页珍藏版)》请在三一文库上搜索。
1、Matlab与仿真,高军峰 博士: 西安交通大学 硕士: 武汉理工大学 qq:690172649,练习1的问题,求两个向量的点积的三种方法 c=dot(a,b); c=a*b; c=sum(a.*b); 求两个向量的叉积的方法 c=cross(a,b); 求矩阵和变量的积,实际即为点积: c=a*(1+2*i);,在Matlab中,关系运算与逻辑运算只适用于数组(向量),不适用于矩阵。其运算规则为:关系运算的优先级高于算术运算,低于逻辑运算。,a=1+2i;b=1+4i; a=b %运算结果为:ans = 0 ab %运算结果为: ans = 0,例:,1.4.4 关系与逻辑运算,运算符、=
2、只比较二量的实部,而运算符=与=则同时比较实部与虚部。 若两标量比较,其关系成立者,运算结果为逻辑真(1),否则为逻辑假(0)。,一、数组的关系运算,若一标量与一数组比较,则将标量与数组的每一个元素逐个比较,其运算结果为一个与数组同维的新数组,其元素由1与0组成,即关系成立者,运算结果为逻辑真(1),否则为逻辑假(0)。,c=8;d=4 5 6; 7 8 9; dc %运算结果为: ans= 1 1 1 1 0 0,例:,若两数组比较,数组的维数需相同,将两数组对应的每一个元素逐个比较,其运算结果为一个与比较数组同维的新数组,其元素由1与0组成,即关系成立者,运算结果为逻辑真(1),否则为逻辑
3、假(0)。,e=1 4; 8 3; f=2 6; 5 7; ef %运算结果为: ans= 0 0 1 0,例:,二、数组的逻辑运算, 非0元素代表逻辑真“1”,0元素代表逻辑假“0”;,clear a=1;b=2;c=3;d=0; e=a & b f=c | d g=c %运算结果为: e = 1 f = 1 g = 0,例:,逻辑运算中,not的运算优先级最高,and和or有相同的优先级(xor只有函数形式);还可用括号改变运算优先权。,若一标量与一数组比较,则将标量与数组的每一个元素逐个比较,其运算结果为一个与数组同维的新数组,其元素由1与0组成。,c=6; d=4 0 6; 0 8 0
4、 d | c %运算结果为: ans = 1 0 1 0 1 0,例:,若两数组做逻辑运算,数组维数需相同,将两数组对应的每一个元素逐个运算,其运算结果为一个与原向量同维的新数组,其元素由1与0组成。,e=1 0; 8 3;f=2 0; 5 7; e & f %运算结果为: ans = 1 0 1 1,例:,Matlab除了上述的各类运算外,还提供了许多运算函数。,表1-2 MATLAB常用运算函数,matlab的函数,分为系统函数和自己书写的函数,对于系统函数,可以在matlab的命令窗口输入名字,然后选中函数名,右键找到:就可以打开系统函数的定义,可以查看函数的说明及函数过程。 函数定义,
5、以function 关键字开头,如: function y, delta = polyval(p,x,S,mu) 调用函数的形式: 返回变量用逗号隔开=函数名(实参变量用逗号隔开),如: C=dot(a,b); d=conj(1+2*i);,在Matlab中,采用行向量表示多项式,该向量中的元素是按降幂排列的多项式系数。 多项式 P (x)=a0 x n+a1 x n-1+an-1 x +an 的系数行向量为: P=a0 a1 an-1 an ,1.4.5 多项式运算,多项式运算函数:,多项式求根,p=1 2 3 4 5; C=roots ( p) %运算结果为: C = 0.2878+1.1
6、461i 0.2878 -1.1461i -1.2878+0.8579i -1.2878 -0.8579i,例:求多项式 P (x)=x4+2x3+3x2+4x+5 的根。,求解该多项式等于0时对应方程的根。,由根求多项式,p1= poly ( C ) %运算结果为: P1=1 2 3 4 5,由此可见,多项式的poly ( )与roots ( )函数互为逆运算。,由该多项式等于0时对应方程的根求其多项式的系数。,例:已知多项式的根分别为1、5、8,试求对应的多项式。,即多项式 P 1(x)=x4+2x3+3x2+4x+5,多项式乘法/除法,r=1 2 3; g=4 5 6; p= conv
7、( r, g) %运算结果为: p = 4 13 28 27 18,即p (x) = 4x4+13x3+28x2+27x+18,例:求多项式 p (x)=(x2+2x+3)( 4x2+5x+6 )的系数。,p = conv ( p1, p2) p,r = deconv ( p1, p2),s,q= deconv ( p, g),4. 分式多项式的部分分式展开,将y(x)进行部分分式分解,即求留数计算,可以得到:,b为分子系数向量,a为分母系数向量;r为部分分式中留数向量,p为部分分式中极点向量,k为直接相除项行向量。,r, p, k=residue (b, a),例:已知一传递函数 ,将其分解
8、为部分分式。,a=1 2;b=1 4 3; z, p, k=residue (a, b) %运算结果为: z = 0.5000 0.5000 p = -3 -1 k = ,即得传递函数分解的部分分式为:,反之,用residue函数也可将部分分式展开式返回到传递函数多项式之比的形式。,a, b=residue (z, p, k) %运算结果为: a= 1 2 b= 1 4 3,即返回原传递函数,例:,5. 多项式求导数(微分) polyder (p): 求p的微分; polyder (a, b): 求多项式a, b乘积的微分; p, q=polyder (a, b): 求多项式a, b商的微分,
9、p为导函数的分子系数向量,q这导函数的分母系数向量。,p=1 2 3 4 5; b= polyder ( p ) %运算结果为: b= 4 6 6 4,例:求多项式 p (x)=x4+2x3+3x2+4x+5的导数。,即b(x)=d p(x) /dx=4x3+6x2+6x+4,6. 多项式求值 polyval (p, x): p为多项式系数向量,x为输入。,p=1 2 3 4; x=2; y= polyval ( p, x ) %运算结果为: y= 26,例:求多项式 y=x3+2x2+3x+4在x=2处的值。,1.4.6 数值分析,一、查找最大值,1. 求矩阵/数组(向量)的最大元素 max
10、 (A),返回一个行向量,向量的第i个元素是矩阵第i列上的最大元素; y, u=max (A),返回两个行向量,y向量记录A的每列的最大元素,u向量记录每列最大元素的行号。 max (A, ,dim),dim取1或2。dim取1时,该函数和max (A)完全相同。dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大元素。,A=3 2 6;-5 28 -7;16 4 -8;60 9 17; max (A) %求每列的最大元素 ans = 60 28 17 y,u1=max (A) y = 60 28 17 u1 = 4 2 4 u2=max(A, ,1) %求每列的最大元素
11、u2 =60 28 17 u3=max(A, ,2) %求每行的最大元素 u3 = 6 28 16 60,例:, u=max (A,B),A、B是两个同型的数组或矩阵。结果u是与A、B同型的数组或矩阵,并且u的每个元素等于A、B对应元素的最大者; u=max (A,n),n是一个标量。结果u是与A同型的数组或矩阵,u的每个元素等于A中对应元素和n相比的较大者。注意区别max (A, ,1)或者 max (A, ,2),2. 两个数组或矩阵元素的比较,min函数用来查找最小值,其用法与命令格式与max完全相同。,A=1 9; 8 2;B=3 4; 6 5;n=5 C=max (A, B) C =
12、3 9 8 5 D=max(A,n) D =5 9 8 5,例:,二、求和与求积, sum(A),返回一个行向量,其第 i个元素是矩阵 A 的第 i列的元素和。(与max一样。) sum(A,dim),当 dim 为 1 时,该函数等同于 sum(A),当 dim 为 2 时,返回一个列向量,其第 I 个元素是矩阵 A 的第 i行的各元素和。,prod函数用来求积,其用法与命令格式与sum完全相同。,A = 1 9; 8 2 B = sum(A) B = 9 11 C=sum(A,1) %求每列的和 D = 9 11 D=sum(A,2) %求每行的和 D = 10 10,例:,三、求平均值和
13、中值,中值是指在数据序列中其值的大小恰好在中间。例如,数据序列5,3,8,-6,12的中值为5 。如果为偶数个元素时,则中值等于中间的两项之平均值。例如,数据序列5,3,8,-6,12,4中,处于中间的数为4和5,故其中值为此两数的平均值4.5 。,median函数用来求中值,其用法与命令格式与mean完全相同。, mean(A),返回一个行向量,其第 i个元素是矩阵 A 的第 i列的算术平均值。 mean(A,dim),当 dim 为 1 时,该函数等同于 mean(A),当 dim 为 2 时,返回一个列向量,其第 i个元素是矩阵 A 的第 i行的算术平均值。,A = 1 9; 8 2 B
14、 = mean(A) B = 4.5 5.5 C=mean(A,2) %求每列的平均值 C = 5 5,例:,一、MATLAB的数学表达式,MATLAB的表达式有两类: 数字表达式由数值量、数值变量、数值函数或数值矩阵用运算符连接而成的数学关系式。它主要用来进行数值计算。 符号表达式由符号常量、符号变量、符号函数用运算符连接而成的符号对象,主要用来进行符号运算。,1.4.7 MATLAB的数学表达式及其书写,数值与变量或变量与变量相乘不能连写,必须用乘号将两变量加以连接;思考b=a(1+2i);c=2a+bd; 一般数学表达式中可以使用大括号、中括号与小括号,而Matlab表达式只能用小括号;
15、 像水平除号线、乘方运算、开根号等纯数学写法在Matlab里不允许也是不能实现的; 三角函数与双曲函数及其反函数、对数函数的自变量必须用小括号加以限定;如d=sinx;,二、MATLAB数学表达式书写,分式的书写,注意分子分母最好都分别用小括号加以限定。特别是分母,当省略小括号的限定时,很容易出错;如: 思考:c=b/2*c; 某量k的平方根表示:sqrt (k)与k(1/2)等效; 求幂运算的指数两侧最好用小括号加以限定,否则指数为分式时极易出错;如:思考:c=d3*4; 自然常数e的指数运算的书写形式为exp ( ) ,对数运算的书写形式为log( ); 自然常数的书写形式为“pi”;虚数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 运算 符号
链接地址:https://www.31doc.com/p-3095206.html