MATLAB电子教案(3)

2019-06-11 09:45

例:数组的乘方运算演示。

解:在MATLAB命令窗口中输入: >> A=[1 3 5;2 4 6;3 5 7]; >> E=A.^2

运行结果为: E =

1 9 25 4 16 36 9 25 49

说明:①数组乘、除及乘方运算符前的小黑点绝不能遗漏,否则将不按数组运算规则运算;②在执行数组与数组运算时,参与运算的数组必须维数相同,运算结果所得数组也总与原数组维数相同。

3、元胞数组(Cell Array)

元胞数组是MATLAB中一种特殊的数组,它的基本元素是元胞(Cell),每个元胞本身在数组中是平等的,只能以下标区分。元胞可以存放任何类型、任何大小的数组,包括任意维数值数组、字符串数组以及符号对象等,并且同一个元胞数组中各元胞中的内容可以不同。

在MATLAB中,元胞数组必须用花括号“{}”。生成元胞数组的方法有: (1)使用函数cell( )生成元胞数组

格式:c=cell(n) 生成n×n维空元胞数组 c=cell(m,n) 生成m×n维空元胞数组

c=cell(m,n,p,?) 生成m×n×p×?维空元胞数组

c=cell(size(A)) 生成与A维数组相同的空元胞数组,A为数值数组或元胞数组 例:使用函数cell( )生成一个2×2维元胞数组。 解:在MATLAB命令窗口中输入:

>> A=ones(3,4) %生成3×4维全部元素为1的数值矩阵 A =

1 1 1 1 1 1 1 1 1 1 1 1

>> C=cell({A,[1,2];'cell',[1;2]}) %使用cell( )函数生成元胞数组C C =

[3x4 double] [1x2 double] 'cell' [2x1 double]

>> C(:,1) %显示元胞数组C的第1列内容 ans =

[3x4 double] 'cell'

(2)使用花括号{ }生成元胞数组

例:直接用花括号生成上例中的元胞数组。 解:在MATLAB命令窗口中输入: >> A=ones(3,4);

>> C={A,[1,2];'cell',[1;2]} C =

[3x4 double] [1x2 double] 'cell' [2x1 double]

建议优先采用第二种方法生成元胞数组。

第 11 页/共 63页

三、基本数学函数运算

MATLAB的基本数学函数 三角函数和双曲函数 函数名 功能 函数名 功能 函数名 功能 指数与对数函数 函数名 功能 sin cos tan cot sec csc asin acos atan acot asec acsc sinh 正弦 余弦 正切 余切 正割 余割 反正弦 反余弦 反正切 反余切 反正割 反余割 双曲正弦 cosh tanh coth sech csch asinh acosh atanh acoth asech acsch atan2 双曲余弦 双曲正切 双曲余切 双曲正割 双曲余割 反双曲正弦 反双曲余弦 反双曲正切 反双曲余切 反双曲正割 反双曲余割 exp log log10 abs angle conj cart2sph cart2pol 指数 自然对数 常用对数 绝对值(模) 复数的相角 复数的共轭 直角坐标变为球坐标 直角坐标变为柱(或极坐标) log2 pow2 sqrt 复数函数 imag isreal 坐标变换函数 pol2cart sph2cart 以2为底的对数 以2为底的指数 平方根 复数的虚部 复数的实部 柱坐标变为直角坐标 球坐标变为直角坐标 四象限反正切 sign 符号函数 误差函数 误差补函数 其他特殊函数 expint gamma gammaln isprime 指数积分函数 Γ函数 Γ函数的对数 质数为真函数 erf erfc erfcx erfinv gammainc 不完全Γ函数 刻度误差补函数 逆误差函数 例:求tan45°的函数值。

解:在MATLAB命令窗口中输入:

>> tan(pi/4) %三角函数运算的角度单位是弧度,要先由度转化为弧度 ans =

1.0000

例:求复数z=5+i5的模和相角。 解:在MATLAB命令窗口中输入: >> z=5+5i; >> Am=abs(z) Am =

7.0711 >> Fm=angle(z) Fm =

0.7854

四、矩阵的函数运算

矩阵的基本数值运算与数组的基本数值运算基本相同,不同的是:矩阵之间进行乘、除及乘方运算的运算符没有小黑点。

实现矩阵特有运算的函数

函数名 功能 sqrtm 矩阵开方运算 expm logm cond 矩阵指数运算 矩阵对数运算 求矩阵的条件数 函数名 gsvd inv 功能 广义奇异值 矩阵求逆 norm/normest 求矩阵和向量的范数 null 矩阵的零空间 pinv 伪逆矩阵 condest 求矩阵1的范数条件估计 第 12 页/共 63页

condeig 求与矩阵特征值有关的条件数 poly det 求矩阵的行列式 polyvalm 求矩阵的特征值多项式 求矩阵特征值多项式的值 eig/eigs 求矩阵的特征值和特征向量 rank 求矩阵的秩 funm 矩阵的任意函数 trace 求矩阵的迹 1、矩阵的转置、逆运算与行列式运算 例:求矩阵的转置演示。

解:在MATLAB命令窗口中输入: >> A=[1 2 3;4 5 6;7 8 9]; >> C=A' C =

1 4 7 2 5 8 3 6 9 例:矩阵求逆演示。

解:在MATLAB命令窗口中输入: >> A=[1 2 0;2 5 -1;4 10 -1]; >> B=inv(A) B =

5 2 -2 -2 -1 1 0 -2 1

例:求矩阵的行列式演示。

解:在MATLAB命令窗口中输入: >> A=[1 2 0;2 5 -1;4 10 -1]; >> B=det(A) B = 1

2、矩阵的特征值运算 使用函数eig( )。格式:

d=eig(A) %d为矩阵A的特征值向量 D=eig(A)

[V,D]=eig(A) %V、D分别为矩阵A的特征向量矩阵与特征值矩阵

?例:求矩阵A=?1 2 0??2 5 ?1?的特征值向量、特征向量矩阵和特征值矩阵。 ??1??4 10 ??解:在MATLAB命令窗口中输入:

>> A=[1 2 0;2 5 -1;4 10 -1];

>> d=eig(A) %求矩阵A的特征值向量 d =

3.7321 0.2679 1.0000

>> [B,C]=eig(A) %求矩阵A的特征向量矩阵和特征值矩阵 B =

第 13 页/共 63页

-0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.9107 -0.2440 0.8944 C =

3.7321 0 0 0 0.2679 0 0 0 1.0000 3、矩阵的秩运算 例:矩阵求秩演示。

解:在MATLAB命令窗口中输入: >> A=[1 2 0;2 5 -1;4 10 -1]; >> B=rank(A) B = 3

五、多项式及其运算

1、多项式的表达及其构造

代数运算中,多项式一般可表示为如下形式:

P(x)?a0xn?a1xn?1?a2xn?2???an?1x?an

将上式中系数按降幂次序可存放在如下的行向量中:

P?[a0,a1,a2,?,an?1,an]

例:用MATLAB构造多项式P(x)?2x5?5x4?4x2?x?4。

解:在MATLAB命令窗口中输入:

>> P=[2 5 0 4 1 4]; %无论多项式的系数是否为零,都必须写完整 >> poly2sym(P) ans =

2*x^5+5*x^4+4*x^2+x+4 2、多项式运算函数 调用格式 p=conv(p1,p2) p=poly(AR) dp=polyder(p) dp=polyder(p1,p2) [num,den]= polyder(p1,p2) p=polyfit(x,y,n) pA=polyval(p,S) pM=polyvalm(p,S) [r,p,k]= residue(num,den) r=roots(p) 多项式求导数 功能 说明 多项式卷积(乘法) p是多项式p1和p2的乘积多项式 由根求多项式 求方阵AR的特征多项式p,或求向量AR指定根所对应的多项式 求多项式p的导数多项式dp 求多项式p1,p2乘积的导数多项式dp 对有理分式(p1/p2)求导数所得的有理分式为(num/den) 求x,y向量给定数据的n阶拟合多项式p 按数组运算规则计算多项式值,p为多项式,S为矩阵 按矩阵运算规则计算多项式值,p为多项式,S为矩阵 num、den分别是分子、分母多项式系数向量,r、p、k分别是 留数、极点、直项 r是多项式p的根向量 [q,r]=deconv(p1,p2) 多项式解卷(除法) q是p1被p2除的商多项式,r是余多项式 多项式曲线拟合 多项式求值 矩阵多项式求值 分式多项式的 部分分式展开 多项式求根 3、多项式运算举例

第 14 页/共 63页

(1)代数方程求根

例:求方程x?2x?24x?48x?25x?50?0的根。 解:在MATLAB命令窗口中输入: >> P=[1 2 24 48 -25 -50]; >> r=roots(P) r =

0.0000 + 5.0000i 0.0000 - 5.0000i 1.0000 -2.0000 -1.0000

(2)用多项式的根构造多项式

例:用多项式的根构造多项式P(x)?x5?2.5x4?2x2?0.5x?2。 解:在MATLAB命令窗口中输入: >> P=[1 2.5 0 2 0.5 2]; >> r=roots(P) r =

-2.7709 0.5611 + 0.7840i 0.5611 - 0.7840i -0.4257 + 0.7716i -0.4257 - 0.7716i >> poly(r) ans =

1.0000 2.5000 0.0000 2.0000 0.5000 2.0000

说明:当用多项式的根生成多项式时,如果某些根有虚部,则可以通过使用函数real( )抽取实部来消除。

(3)求矩阵的特征多项式

5432?1.2 3 ?0.9???例:求矩阵A=5 1.75 6的特征多项式。 ????9 0 1??解:在MATLAB命令窗口中输入:

>> A=[1.2 3 -0.9;5 1.75 6;9 0 1]; >> poly(A) ans =

1.0000 -3.9500 -1.8500 -163.2750

即矩阵A的特征多项式为f(s)?s?3.95s?1.85s?163.275 (4)多项式卷积(乘法)与多项式解卷(除法)

例:已知多项式P(x)?x?2x?3x?4和q(x)?10x?20x?30,求两个多项式的卷积p(x)*q(x),并用多项式解卷验证。

32232第 15 页/共 63页


MATLAB电子教案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:参考实用版个人蔬菜生鲜配送网络平台建设创业商业计划书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: