第3讲 数值运算基础.pptVIP

  • 1
  • 0
  • 约7.88千字
  • 约 38页
  • 2017-12-23 发布于上海
  • 举报
第3讲 数值运算基础

第三讲 数值运算基础 —— matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位 数值运算的功能 多项式运算 线性方程组 数值统计 线性插值和拟合 一、 多项式运算 matlab语言把多项式表达成一个行向量, 该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+……+a0 可用行向量 p=[an an-1 …… a1 a0]表示 poly —— 产生特征多项式系数向量 特征多项式一定是n+1维的 特征多项式第一个元素一定是1 例: a=[1 2 3;4 5 6;7 8 0]; p=poly(a) p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的matlab描述方法 p1=poly2sym(p,‘x’) —显示数学多项式的形式 p1 =x^3 – 6*x^2 – 72*x – 27 2. 多项式求值 有两种求多项式值的函数:polyval与polyvalm,前者是代数多项式求值,后者是矩阵多项式求值. (1) polyval函数: y=polyval(p,x) 若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。 2. 多项式求值 (2) polyvam函数: y=polyvam(p,x) 本函数要求x为方阵,它以方阵为自变量求多项式的值. 设A为方阵,P代表多项式x^3-5x^2+8,那么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)) 3.roots —— 求多项式的根 a=[1 2 3;4 5 6;7 8 0];p=poly(a) p = 1.00 -6.00 -72.00 -27.00 %a的特征多项式系数 r=roots(p) r = 12.12 -5.73 -0.39 当然我们可用poly命令将根返回为多项式形式 p2=poly(r) p2 = 1.00 -6.00 -72.00 -27.00 matlab规定多项式系数向量用行向量表示,一组根用列向量表示。 例3-3 用求特征值的方法解方程 3x5-7x4+5x2+2x-18=0 4.conv多项式乘运算 例: a(x)=x2+2x+3; b(x)=4x2+5x+6; c = (x2+2x+3)(4x2+5x+6) a=[1 2 3];b=[4 5 6]; c=conv(a,b)=conv([1 2 3],[4 5 6]) c = 4.00 13.00 28.00 27.00 18.00 p=poly2sym(c) p = 4*x^4 + 13*x^3 + 28*x^2 + 27*x + 18 5.deconv多项式除运算 a=[1 2 3]; c = [4.00 13.00 28.00 27.00 18.00] d=deconv(c,a) d =4.00 5.00 6.00 6.多项式微积分 命令格式: polyder(p): 求p的微分 polyder(a,b): 求多项式a,b乘积的微分 [p,q]=polyder(a,b):求a/b的微分,分子存入p,分母存入q polyint(p): 求多项式p的积分 例:a=[1 2 3 4 5]; poly2sym(a) ans = x^4 + 2*x^3 + 3*x^2 + 4*x + 5 b=polyder(a); poly2sym(b) ans =4*x^3 + 6*x^2 + 6*x + 4 c=polyint(b); poly2sym(c) ans=x^4+2*x^3+3*x^2+4*x 二、代数方程组求解 对于方程组ax=b,a 为am×n矩阵,有三种情况: ? 当m=n时,此方程称为“恰定”方程组 ? 当mn时,此方程称为“超定”方程组 ? 当mn时,此方程称为“欠定”方程组 matlab定义的两种除运算(左除和右除)可以很方便地解上述三种方程 1.恰定方程组的解 方程ax=b(a为非奇异) x=a-1 b 矩阵逆 两种解: x=inv(a)?b — 采用求

文档评论(0)

1亿VIP精品文档

相关文档