matlab(2)

2019-03-16 21:56

第2章 数值计算与多项式计算

2.1 数值计算

1.求最大值和最小值

max(A):如果A是向量,则返回向量A的最大值。如果A中包含复数元素,则按模取最大值。如果A是矩阵,则返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。

[Y,U]=max(A):如果A是向量,则返回向量A的最大值存入Y,最大值的序号存入U。如果A中包含复数元素,则按模取最大值。如果A是矩阵,则Y向量记录A的每列的最大值,U向量记录每列最大值的行号。

max(A,[ ],dim):仅用于矩阵。dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

2.求和与求积

数据序列求和的函数是sum。sum函数的调用格式如下。

sum(A):如果A是一个向量,则返回向量各元素的和。如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的元素和。

sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。

数据序列求积的函数是prod,其用法和sum完全相同。

3.平均值和中值

数据序列的平均值指的是算术平均值。中值是指在数据序列中其值的大小恰好处在中间的元素。例如

数据序列 ?2,5,7,9,12的中值为7

如果数据为偶数个,则中值等于中间的两项之平均值。例如,数据序列 ?2,5,6,7,9,12中,处于中间的数是6和7,故其中值为此两数之平均值6.5。

求数据序列平均值的函数是mean,mean函数的调用格式如下。

mean(A):如果A是一个向量,则返回向量的算术平均值。如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的算术平均值。

mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列

1

向量,其第i个元素是A的第i行的算术平均值。

求数据序列中值的函数是median,其用法和mean完全相同。

4.累加和与累乘积

所谓累加和或累乘积,是指从数据序列的第1元素开始直到当前元素进行累加或累乘,作为结果序列的当前元素值。

在MATLAB中,使用cumsum和cumprod函数求得向量和矩阵元素的累加和与累乘积向量。cumsum函数的调用格式如下。

cumsum(A):如果A是一个向量,则返回向量的累加和。如果A是一个矩阵,则返回一个矩阵,其第i列是A的第i列的累加和向量。

cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是A的第i行的累加和向量。

求累乘积的函数是cumprod,其用法和cumsum完全相同。

5.标准方差与相关系数 (a).求标准方差

方差描述了一组数据波动的大小,方差越小,数据波动越小。在MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为

Y=std(A,flag,dim)

其中flag取0或1,当flag=0时,按σ1所列公式计算标准方差;当flag=1时,按σ2所列公式计算标准方差。dim取1或2,当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。默认flag=0,dim=1。

(b).相关系数

相关系数用来衡量两组数据之间的线性相关程度。 corrcoef函数用于求数据的相关系数矩阵。 corrcoef(X,Y):求向量X和Y的相关系数。

corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。它把矩阵X的每列作为一个变量,然后求它们的相关系数。

6.排序

MATLAB提供了对向量X进行排序的函数sort(X),函数返回一个对X中的元素按升序排列的新向量。

2

sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为 [Y,I]=sort(A,dim,mode)

其中Y是排序后的矩阵,而I记录Y中的元素在A中的位置。dim指明对A的列还是行进行排序,若dim=1,则按列排;若dim=2,则按行排。mode指明按升序还是降序排序,'ascend'为升序,'descend'为降序。dim默认取1,mode默认取'ascend'。

2.2 多项式计算

(1).多项式的加减运算

在MATLAB中,多项式的加减运算就是其所对应的系数向量的加减运算。如果多项式的次数不同,则应该把低次的多项式系数不足的高次项用0补足,使同式中的各多项式具有相同的次数。例如,计算(x3?2x2+5x+3)+(6x?1),命令如下:

a=[1,-2,5,3]; b=[0,0,6,-1]; c=a+b c =

1 -2 11 2

(2).多项式乘除运算

函数conv(P1,P2)用于求多项式的乘积,其中P1、P2是两个多项式的系数向量。 函数[Q,r]=deconv(P1,P2)用于对多项式作除法运算,其中P1、P2是两个多项式的系数向量,返回值Q是商式的系数向量,r是余式的系数向量。

(3).多项式的导函数 对多项式求导数的函数如下。 p=polyder(P):求多项式P的导函数 p=polyder(P,Q):求P·Q的导函数

[p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。 上述函数中,参数P、Q是多项式的系数向量,结果p、q也是多项式的系数向量。

(4).多项式的求值

MATLAB提供了两种求多项式值的函数:polyval与polyvalm,它们的输入参数均为多项式系数向量P和自变量x。两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。

(a).代数多项式求值

3

polyval函数用来求代数多项式的值,其调用格式为 Y=polyval(P,x)

若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。

(b).矩阵多项式求值

polyvalm函数用来求矩阵多项式的值,其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,它以方阵为自变量求多项式的值。设A为方阵,P代表多项式

,那么polyvalm(P,A)的含义为

A*A*A?5*A*A+8*eye(size(A)) 而polyval(P,A)的含义为

A.*A.*A?5*A.*A+8*ones(size(A))

(5).多项式求根

roots函数用于求多项式的全部根,其调用格式为 x=roots(P)

其中P为多项式的系数向量,求得的根赋给向量x,即x(1),(2),…,x(n)分别代表多项式的n个根。

若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为 P=poly(x)

其中x为具有n个元素的向量。poly(x)建立以x为其根的多项式,且将该多项式的系数赋给向量P。

4

第3章 图形绘制

3.1 二维曲线的绘制

二维曲线是将平面上坐标上的数据点连接起来的平面图形。除直角坐标系外,还可+ 采用对数坐标、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。二维曲线的绘制是其他绘图操作的基础。

(1)plot函数 plot(x,y)

其中x和y为大小相同的向量,分别用于存储x坐标和y坐标数据。

(a)当x和y是同维矩阵时,配对的x、y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令为

x=0:pi/10:2*pi; y=sin(x);

plot([x;x;x]',[y;y*2;y*3]')

当x是向量,y是有一维与x同维的矩阵时,则绘制出多根曲线,曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成:

x=0:pi/10:2*pi; y=sin(x);

plot(x,[y;y*2;y*3])

(b)当plot函数只有一个输入参数时,即 plot(y)

若y是实型向量,则以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线;若y是复数向量,则分别以向量元素实部和虚部为横、纵坐标绘制一条曲线。若y是实矩阵,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数;若y是复数矩阵,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

(c)当plot函数有多个输入参数,且都为向量时,即 plot(x1,y1,x2,y2,…,xn,yn)

其中,x1和y1,x2和y2,……,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成:

5


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

下一篇:一年级数学下册找规律、凑十法、数图形综合练习试卷

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

马上注册会员

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