第3章matlab符号运算

发布 2023-05-19 19:03:28 阅读 6254

第3章符号运算。

命令。功能符号矩阵的算术操作。

用法如下:a+b、a-b 符号阵列的加法与减法。

若a与b为同型阵列时,a+b、a-b分别对对应分量进行加减;若a与b中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行加减。

a*b 符号矩阵乘法。

a*b为线性代数中定义的矩阵乘法。按乘法定义要求必须有矩阵a的列数等于矩阵b的行数。即:

若an*k*bk*m=(aij)n*k.*(bij)k*m=cn*m=(cij)n*m,则,i=1,2,…,n;j=1,2,…,m。或者至少有一个为标量时,方可进行乘法操作,否则将返回一出错信息。

a.*b 符号数组的乘法。

a.*b为按参量a与b对应的分量进行相乘。a与b必须为同型阵列,或至少有一个为标量。

即:an*m.*bn*m=(aij)n*m.

*(bij)n*m=cn*m=(cij)n*m,则cij= aij* bij,i=1,2,…,n;j=1,2,…,m。

a\b 矩阵的左除法。

x=a\b为符号线性方程组a*x=b的解。我们指出的是,a\b近似地等于inv(a)*b。若x不存在或者不唯一,则产生一警告信息。

矩阵a可以是矩形矩阵(即非正方形矩阵),但此时要求方程组必须是相容的。

a.\b 数组的左除法。

a.\b为按对应的分量进行相除。若a与b为同型阵列时,an*m.

\bn*m=(aij)n*m.\(bij)n*m=cn*m=(cij)n*m,则cij= aij\ bij,i=1,2,…,n;j=1,2,…,m。若若a与b中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行操作。

a/b 矩阵的右除法。

x=b/a为符号线性方程组x*a=b的解。我们指出的是,b/a粗略地等于b*inv(a)。若x不存在或者不唯一,则产生一警告信息。

矩阵a可以是矩形矩阵(即非正方形矩阵),但此时要求方程组必须是相容的。

a./b 数组的右除法。

a./b为按对应的分量进行相除。若a与b为同型阵列时,an*m.

/bn*m=(aij)n*m./(bij)n*m=cn*m=(cij)n*m,则cij= aij/bij,i=1,2,…,n;j=1,2,…,m。若a与b中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行操作。

a^b 矩阵的方幂。

计算矩阵a的整数b次方幂。若a为标量而b为方阵,a^b用方阵b的特征值与特征向量计算数值。若a与b同时为矩阵,则返回一错误信息。

a.^b 数组的方幂。

a.^b为按a与b对应的分量进行方幂计算。若a与b为同型阵列时,an*m..

^bn*m=(aij)n*m..^bij)n*m=cn*m=(cij)n*m,则cij= aij^bij,i=1,2,…,n;j=1,2,…,m。若a与b中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行操作。

a' 矩阵的hermition转置。

若a为复数矩阵,则a'为复数矩阵的共轭转置。即,若a=(aij)=(xij+i*yij),则。

a.' 数组转置。

a.'为真正的矩阵转置,其没有进行共轭转置。

例3-1>syms a b c d e f g h;

>a = a b; c d];

>b = e f; g h];

>c1 = a.*b

>c2 = a.^b

>c3 = a*b/a

>c4 = a.*a-a^2

>syms a11 a12 a21 a22 b1 b2;

>a = a11 a12; a21 a22];

>b = b1 b2];

>x = b/a; %求解符号线性方程组x*a=b的解。

>x1 = x(1)

>x2 = x(2)

计算结果为:

c1 =[ a*e, b*f]

[ c*g, d*h]

c2 =[ a^e, b^f]

[ c^g, d^h]

c3 =[ -a*c*f+c*b*h-a*e*d-b*d*g)/(a*d-b*c), a*b*h-b^2*g+a^2*f-b*a*e)/(a*d-b*c)]

[ -c*e*d+c*d*h+c^2*f-d^2*g)/(a*d-b*c), a*d*h+a*c*f-b*c*e-b*d*g)/(a*d-b*c)]

c4 =b*c, b^2-a*b-b*d]

[ c^2-a*c-d*cb*c]

x1 =(-a22*b1+b2*a21)/(a12*a21-a11*a22)

x2 =-(-a12*b1+a11*b2)/(a12*a21-a11*a22)

命令1 合并同类项。

函数 collect

格式 r = collect(s) %对于多项式s中的每一函数,collect(s)按缺省变量x的次数合并系数。

r = collect(s,v) %对指定的变量v计算,操作同上。

例3-2>syms x y;

>r1 = collect((exp(x)+x)*(x+2))

>r2 = collect((x+y)*(x^2+y^2+1), y)

>r3 = collect([(x+1)*(y+1),x+y])

计算结果为:

r1 =x^2+(exp(x)+2)*x+2*exp(x)

r2 =y^3+x*y^2+(x^2+1)*y+x*(x^2+1)

r3 =[ (y+1)*x+y+1, x+y]

命令2 列空间的基。

函数 colspace

格式 b = colspace(a) %返回矩阵b,其列向量形成由矩阵a的列向量形成的空间的坐标基,其中a可以是符号或数值矩阵。而size(colspace(a),2)等于rank(a)。即由a生成的空间维数等于a的秩。

例3-3>syms a b c

>a = sym([1,a;2,b;3,c])

>b = colspace(a)

计算结果为:

a =[ 1, a]

[ 2, b]

[ 3, c]b =

3*b-2*c)/(b+2*a), c+3*a)/(b+2*a)]

命令3 复合函数计算。

函数 compose

格式 compose(f,g) %返回复合函数f[g(y)],其中f=f(x),g=g(y)。其中符号x为函数f中由命令findsym(f) 确定的符号变量,符号y为函数g中由命令findsym(g) 确定的符号变量。

compose(f,g,z) %返回复合函数f[g(z)],其中f=f(x),g=g(y),符号x、y为函数f、g中由命令findsym确定的符号变量。

compose(f,g,x,z) %返回复合函数f[g(z)],而令变量x为函数f中的自变量f=f(x)。令x=g(z),再将x=g(z)代入函数f中。

compose(f,g,x,y,z) %返回复合函数f[g(z)]。而令变量x为函数f中的自变量f=f(x),而令变量y为函数g中的自变量g=g(y)。令x=g(y),再将x=g(y)代入函数f=f(x)中,得f[g(y)],最后用指定的变量z代替变量y,得f[g(z)]。

例3-4>syms x y z t u v;

>f = 1/(1 + x^2*y); h = x^t; g = sin(y); p = sqrt(-y/u);

>c1 = compose(f,g) %令x=g=sin(y),再替换f中的变量x=findsym(f)。

>c2 = compose(f,g,t) %令x=g=sin(t),再替换f中的变量x=findsym(f)。

>c3 = compose(h,g,x,z) %令x=g=sin(z),再替换h中的变量x。

>c4 = compose(h,g,t,z) %令t=g=sin(z),再替换h中的变量t。

>c5 = compose(h,p,x,y,z) %令x=p(y)=sqrt(-y/u),替换h中的变量x,再将y换成z。

>c6 = compose(h,p,t,u,z) %令t=p(u)=sqrt(-y/u),替换h中的变量t,再将u换成z。

计算结果为:

c1 =1/(1+sin(y)^2*y)

c2 =1/(1+sin(t)^2*y)

c3 =sin(z)^t

c4 =x^sin(z)

c5 =z/u)^(1/2))^t

c6 =x^((y/z)^(1/2))

命令4 符号复数的共轭。

函数 conj

格式 conj(x) %返回符号复数x的共轭复数。

例3-5x=real(x) +i*imag(x),则conj(x)=real(x) -i*imag(x)

命令5 符号复数的实数部分。

函数 real

格式 real(z) %返回符号复数z的实数部分。

命令6 符号复数的虚数部分。

函数 imag

格式 imag(z) %返回符号复数z的虚数部分。

命令7 余弦函数的整函数。

格式 y = cosint(x) %计算余弦函数在点x处的整函数值。其中x可以是数值矩阵,或符号矩阵。余弦函数的整函数定义为:

,其中为euler常数, =0.57721566490153286060651209… i=1,2,…,size(x)。euler常数可以通过命令vpa('eulergamma')获得。

Matlab第3章学习概要

第3章学习概要。3.1什么是m文件?将m文件分成命令文件和函数文件的根据是什么?用matlab语言编写的程序,是m文件。调用方式的不同。3.2命令文件与函数文件的主要区别有哪些?1 命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数。2 命令文件对matlab工作空...

第3章Matlab图形系统

二维图形的基本绘图函数。plot 根据向量或矩阵的列绘制出x y曲线loglog 在对数坐标下绘制x y曲线。semilogx x坐标为对数坐标,y为线性坐标绘制x y曲线semilogy x坐标为线性坐标,y为对数坐标绘制x y曲线xlabel 给x轴加上标题ylabel 给y轴加上标题。text...

MATLAB第3章MATLAB程序设计基础

第三章matlab程序设计基础。一,数据及数据文件。1.数据类型 字符数组 数值数组 单元数组 结构数组。j a类和函数句柄等 表 3 1 在工作空间浏览器中不同的数据类型有着不同的图标标识 图 3 2。2.数据文件。matlab支持的各种数据文件及其调用方法和返回值见 表 3 2 1 二进制数据文...