第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 二进制数据文...