第四章 MATLAB的数值计算功能(2)

2019-04-09 19:42

第四章 MATLAB 的数值计算功能

Chapter 4: Numerical computation of MATLAB

数值计算是MATLAB最基本、最重要的功能,是MATLAB最具代表性的特点。MATLAB在数值计算过程中以数组和矩阵为基础。数组是MATLAB运算中的重要数据组织形式。前面章节对数组、矩阵的特征及其创建与基本运算规则等相关知识已作了较详尽的介绍,本章重点介绍常用的数值计算方法。

一、多项式(Polynomial)`

多项式在众多学科的计算中具有重要的作用,许多方程和定理都是多项式的形式。MATLAB提供了标准多项式运算的函数,如多项式的求根、求值和微分,还提供了一些用于更高级运算的函数,如曲线拟合和多项式展开等。

1.多项式的表达与创建(Expression and Creating of polynomial) (1) 多项式的表达(expression of polynomial)_

Matlab用行矢量表达多项式系数(Coefficient)和根,系数矢量中各元素按变量的降幂顺序排列,如多项式为:

P(x)=a0xn+a1xn-1+a2xn-2…an-1x+an

则其系数矢量(Vector of coefficient)为:P=[a0 a1 … an-1 an] 如将根矢量(Vector of root)表示为:

ar=[ ar1 ar2 … arn]

则根矢量与系数矢量之间关系为:

(x-ar1)(x- ar2) … (x- arn)= a0xn+a1xn-1+a2xn-2…an-1x+an

(2)多项式的创建(polynomial creating)

a,系数矢量的直接输入法

利用poly2sym函数直接输入多项式的系数矢量,就可方便的建立符号形式的多项式。

例1:创建给定的多项式x3-4x2+3x+2

poly2sym([1 -4 3 2]) ans =

x^3-4*x^2+3*x+2

也可以用poly2str.求一个方阵对应的符号形式的多项式。 例 2:

a=[3 4 6;5 7 1;8 3 9]

p=poly(a); %求方阵的特征多项式系数矢量 poly2str(p,'x') %建立符号形式的多项式 ans =

x^3 - 19 x^2 + 40 x + 214

POLY Convert roots to polynomial.

POLY(A), when A is an N by N matrix, is a row vector with N+1 elements which are the coefficients of the characteristic polynomial, DET(lambda*EYE(SIZE(A)) - A) .

POLY(V), when V is a vector, is a vector whose elements are the

coefficients of the polynomial whose roots are the elements of V . For vectors, ROOTS and POLY are inverse functions of each other, up to ordering, scaling, and roundoff error.

POLY2SYM Polynomial coefficient vector to symbolic polynomial.

POLY2SYM(C) is a symbolic polynomial in 'x' with coefficients from the vector C.POLY2SYM(C,'V') and POLY2SYM(C,SYM('V') both use the symbolic variable specified by the second argument. POLY2STR Return polynomial as string.

S = POLY2STR(P,'s') or S=POLY2STR(P,'z') POLY2SYM Polynomial coefficient vector to symbolic polynomial. POLY2SYM(C,'V') and

POLY2SYM(C,SYM('V') both use the symbolic variable specified by the second argument.

b) 由根矢量创建多项式

多项式行向量可以由命令poly创建,如A为矩阵,则poly(A)将创建A矩阵的特征多项式,如果A为向量[ ar1 ar2 … arn-1 arn],则创建(x-ar1)(x- ar2) …(x-arn-1) (x- arn)生成的多项式的系数矢量。

若已知根矢量ar, 通过调用函数 p=poly(ar) 可以产生多项式的系数矢量, 再利用poly2sym函数就可方便的建立符号形式的多项式。 例1:由根矢量创建多项式。将多项式(x-6)(x-3)(x-8)表示为系数形式的多项式。

a=[6 3 8] %根矢量

pa=poly(a) %求系数矢量

ppa=poly2sym(pa) %以符号形式表示原多项式 ezplot(ppa,[-50,50]) %绘图 pa =

1 -17 90 -144 ppa =

x^3-17*x^2+90*x-144 说明:(1)根矢量元素为n ,则多项式系数矢量元素为n+1;

(2)函数poly2sym(pa) 把多项式系数矢量表达成符号形式的多项

式,缺省情况下自变量符号为x,可以指定自变量。 (3)使用简单绘图函数ezplot可以直接绘制符号形式多项式的曲线。

例 2: 由给定复数根矢量求多项式系数矢量。 r=[-0.5 -0.3+0.4i -0.3-0.4i]; p=poly(r) %求系数矢量

pr=real(p) %提取系数矢量实部

ppr=poly2sym(pr) %以符号形式表示原多项式

p =

1.0000 1.1000 0.5500 0.1250 pr =

1.0000 1.1000 0.5500 0.1250

ppr =

x^3+11/10*x^2+11/20*x+1/8

说明:含复数根的根矢量所创建的多项式要注意:

(1)要形成实系数多项式,根矢量中的复数根必须共轭成对;

(2)含复数根的根矢量所创建的多项式系数矢量中,可能带有很小的

虚部,此时可采用取实部的命令real把虚部滤掉。

c) 多项式的求根

如果需要进行系数表示形式的多项式的求根运算,有两种方法可以实现,一是直接调用求根函数roots,poly和 roots 互为逆函数。另一种是先把多项式转化为伴随矩阵,然后再求其特征值,该特征值即是多项式的根。

d) 特征多项式输入法

用poly函数可实现由矩阵的特征多项式系数创建多项式。 条件:特征多项式系数矢量的第一个元素必须为1。

例 1: 求三阶方阵A的特征多项式系数,并转换为多项式形式。 a=[6 3 8;7 5 6; 1 3 5]

Pa=poly(a) %求矩阵的特征多项式系数矢量 Ppa=poly2sym(pa) %建立特征多项式 Pa =

1.0000 -16.0000 38.0000 -83.0000 Ppa =

x^3-17*x^2+90*x-144

注:n 阶方阵的特征多项式系数矢量一定是n +1阶的。

例 2: 将多项式的系数表示形式转换为根表现形式(求根)。 求 x3-6x2-72x-27的根 a=[1 -6 -72 -27] r=roots(a) r =

12.1229 -5.7345 -0.3884

MATLAB约定,多项式系数矢量用行矢量表示,根矢量用列矢量表示。

2. 多项式的运算(Computation of polynomial)

a, 多项式的加减法运算(addition and subtraction of polynomial)

MATLAB没有提供多项式直接的加减法函数,若两个多项式向量大小相同,标准的数组加法有效,当两个多项式阶次不同时,低阶多项式必须用首零填补使其与高阶多项式有相同的阶次。 例1:a=[3 2 5 8];

b=[3 5 1 9];

c=a+b %同价求和

d=[2 4 1 -4 5];

e=[0 c]+d %不同价求和

c =

6 7 6 17 e =

2 10 8 2 22

减法的操作与加法类似,相当于将后项变量取反。

b,多项式的乘除运算(Multiplication and division of polynomial)

多项式的乘除法对应着向量的卷积与解卷积,多项式乘法(卷积)用函数conv(a,b)实现, 除法(解卷积)用函数deconv(a,b)实现。

长度为m的向量a和长度为n的向量b的卷积定义为: C(k)=错误!未找到引用源。 C向量的长度为:m+n-1

解卷积是卷积的逆运算,向量a对向量c进行解卷积将得到商向量 q和余量r,并且满足:错误!未找到引用源。

例1:a(s)=s2+2s+3, b(s)=4s2+5s+6,计算 a(s)与 b(s)的乘积。

a=[1 2 3]; b=[4 5 6]; %建立系数矢量


第四章 MATLAB的数值计算功能(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机关卫生检查评比办法

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

马上注册会员

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