《2.MATLAB编程及应用2.pptVIP

  • 1
  • 0
  • 约2.35万字
  • 约 78页
  • 2017-01-01 发布于北京
  • 举报
《2.MATLAB编程及应用2

第三章 数值计算基础 3.1 多项式 3.2 线性代数 3.3 数据分析 3.4 插值 3.5 数字信号处理初步 3.1 多项式 3.1.1 创建多项式 多项式: 用系数矢量表示: p=[a0 a1··· an-1 an] 3.1 多项式 3.1.1 创建多项式 在MATLAB中创建多项式的方法: 系数矢量的直接输入法 【例3-1】 输入系数矢量,利用转换函数poly2sym将系数矢量形式转换为符号形式。 poly2sym([1 -4 3 2]) ans = x^3-4*x^2+3*x+2 特征多项式输入法 【例3-2】 求矩阵的特征多项式系数,由函数poly 实现,再转换为多项式形式,由函数poly2sym实现。 3.1 多项式 3.1.1 创建多项式 3. 由根矢量创建多项式 由给定的根矢量创建多项式,由函数poly实现。需注意: 创建实系数多项式,根矢量的复数根必须共轭成对。 含复数的根矢量创建的多项式系数中,有可能带有很小的的虚部,可用取实部命令(real)把虚部滤掉。 【例3-3】根据根矢量[-0.5 -0.3+0.4i -0.3-0.4i],创建多项式。 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 3.1 多项式 3.1.2 多项式运算 求多项式的值 两种算法:按数组运算,用函数polyval; 按矩阵运算,用函数polyvalm; 函数polyval的调用格式: Y=polyval(p,x) 求多项式p在x点的值。 Y=polyval(p,x,[],mu) 用 代替x,求多项式p在x点的值。 其中mu=[u1 u2], u1 =mean(x),u2=std(x) [y,delta]=polyval(p,x,S)和y,delta]=polyval(p,x,S,mu) 使用可选的结构S产生误差估计y±delta,其他同上。 3.1 多项式 3.1.2 多项式运算 1.求多项式的值 【例3-4 】 求多项式 在5、7和9处的值 p = [3 2 1]; polyval(p,[5 7 9]) ans = 86 162 262 3.1 多项式 3.1.2 多项式运算 1.求多项式的值 函数polyvalm的调用格式: Y=polyalml(p,x) 求多项式p对于矩阵x的值 【例3-5 】 求多项式 对于矩阵 的值 p = [3 2 1]; polyvalm(p,[2 5;7 9]) ans = 122 175 245 367 3.1 多项式 3.1.2 多项式运算 2. 求多项式的根 两种方法:一种直接调用求根函数roots();另一种 先把多项式转换为伴随矩阵,然后再求特征值。 MATLAB中约定,多项式系数用行矢量表示,一组根用列矢量表示。 【例3-6】分别用两种方法求多项式x^5-5x^4+3x-6x2+4x-10的根。 a=[1 -5 3 -6 4 -10]; %输入多项式 r=roots(a) %求其根 s=compan(a) %求其伴随矩阵 r=eig(s) %求伴随矩阵的特征值 r = 4.6130 0.7621 + 0.9789i 0.7621 - 0.9789i -0.5685 + 1.0419i -0.5685 - 1.0419i 3.1 多项式 3.1.2 多项式运算 3. 多项式乘除运算 相乘conv a=[1 2 3] ; b=[1 2] c=conv(a,b)=1 4 7 6 conv指令可以嵌套使用,如conv(conv(a,b),c) 相除deconv [q,r]

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档