第2章 MATLAB数值计算B

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fra Baidu bibliotek
2.4.1多项式的求值、求根和部分分式
1. 多项式求值 函数 polyval(p,s) 可以用来计算多项式在给定变量时的值。
2. 多项式求根 Roots:用来计算多项式的根。 Poly:根据多项式的根来计算多项式的系数。 3. 特征多项式 函数poly计算矩阵的特征多项式的系数。 特征值用roots函数来计算。
s(s 1)(s 20)
2. 多项式的微分和积分 多项式的微分由polyder函数实现。 可以用 [p./[length(p):-1:1],k]的方法来完成积分, k为常数。
2.4.3多项式拟合和插值
1. 多项式拟合 拟合的准则是最小二乘法,找出使 的f(x)。
f(x
i 1
n
2 i ) yi
最小
p=polyfit(x,y,n)
三阶拟合曲线
二阶拟合曲线
一阶拟合曲线
2. 插值运算 (1)一维插值 一维插值是指对一个自变量的插值, interp1 函数是用来进 行一维插值的。 yi=interp1(x,y,xi,’method’)

(2)二维插值 二 维 插 值 是 指 对 两 个 自 变 量 的 插 值 。 zi=interp2(x,y,z,xi,yi,’method’)
2.5.2结构数组

结构数组的基本组成是结构 (Structure),每一个结构都包 含多个域 (Fields) ,结构数组只有划分了域以后才能使用。

例如多个图形对象构成结构数组,一个图形对象就是一个 结构,一个属性(Name、Color、Position)就是一个域。
格式:结构体(structure).成员名(fields)=表达式(不同类型的数据)
100(s 2) s3 21s 2 20s
4.7368 5.2632 10 s 20 s 1 s
2.4.2多项式的乘除和微积分运算
1. 多项式的乘法和除法 多项式的乘法和除法运算分别使用函数 conv 和 deconv 来实现,这两个函数也可以对应于卷积和解卷运算。 p=conv(pl,p2) [q,r] = deconv(v,u) 例如,
2.2.5多维数组(Multidementional Arrays)


三维数组用三个下标表示,在二维数组的基础 上增加了一维称为页,三维数组可以看成“长 方体”。 三维数组的元素存放遵循“单下标”的编号规 则:第一页第一列下接该页的第二列,下面再 接第三列,依此类推;第一页的最后列下面接 第二页第一列。


2.4 多项式(polynomial)
多项式按降幂排列为: p(x)=anxn+an-1xn-1+…+a1x+a0 用行向量表示为:p=[an an-1… a1 a0] 即把多项式的各项系数按降幂次序排放成行向量, 如果多项式中缺某幂次项,则用零代替该幂次项 的系数。 例如: x3+21x2+20x >> p1=[1 21 20 0]
4. 部分分式展开


用residue函数来实现将分式表达式进行多项式的部分分 式展开。 [r,p,k]=residue(b,a) [b,a]=residue(r,p,k)

r1 r2 rn B(s) 展开 k(s) 例如: A(s) s p1 s p 2 s pn
2. 多维数组的标识
(1)给出数组的维数 ndims(A) (2)给出数组大小 size(A) [m,n,„]=size(A) m=size(A,x) (3)返回行或列的最大值 length(A)
2.3 稀疏矩阵(sparse matrix)

MatLab中的矩阵的存储方式: 全元素矩阵和稀疏矩阵。 产生稀疏矩阵:Sparse(i,j,s,m,n) Ex:A=[1 0 0;0 1 0;0 0 1;-5 -2 -3] 稀疏矩阵的存储空间(p62)
2.5元胞数组和结构数组
2.5.1元胞数组(Cell Array)
元胞数组中的基本组成是元胞,每一个元胞可以看成 是一个单元(Cell),用来存放各种不同类型的数据,如矩 阵、多维数组、字符串、元胞数组以及下一小节要介绍的 结构数组。使用{}。 EX:
A={'This is the first Cell.',[1 2;3 4];eye(3),{'Tom','Jane'}}
1. 多维数组的创建
(1) 通过“全下标”元素赋值方式创建 (2) 由函数ones、zeros、rand和randn直接创建 (3) 利用函数生成数组 将一系列数组沿着特定的维连接成一个多维数组。 cat(维,p1,p2,„„) 按指定行列数放置模块数组生成多维数组repmat(p)。 在总元素的数目不变的前提下重新确定数组的行列数来重 组数组。reshape(p)

创建方式:1.直接创建;2.利用struct函数创建
ps(1)=struct('name','曲线1','color','red','position',[0,0,300,300]);
练习:

输入矩阵a =[1 2;3 4] b =[5 6;7 8]
C=cat(1,a,b)
C=cat(2,a,b) C=cat(3,a,b)
相关文档
最新文档