MATLAB 程序设计-04.pptVIP

  • 3
  • 0
  • 约6.63千字
  • 约 32页
  • 2017-12-26 发布于河北
  • 举报
MATLAB 程序设计-04

2009.10 第四章 第四章 数值运算基础(一) 李晖 北京工业大学实验学院 信息工程系 第四章 数值运算基础(一) 多项式创建 多项式运算 线性代数 多项式专用函数: 方便求解多项式的根、对多项式进行四则运算、微积分运算。 多项式: 可以用它的系数矢量表示: 多项式问题转化为矢量问题。 创建多项式的方法: 系数矢量的直接输入法 特征多项式输入法 由根矢量创建多项式 1.系数矢量的直接输入法 系数矢量的直接输入法: 命令窗口直接输入多项式的矢量矩阵。 按降幂自动把矢量的元素分配给多项式各项的系数。 矢量可以是行向量,也可以使列向量。 缺少的各项在矢量中用0代替。 利用转换函数poly2sym:将多项式由系数形式转化为符号形式。 2.特征多项式输入法 特征多项式输入法: 函数poly:可以由矩阵的特征多项式创建多项式。 使用该方法生成多项式时,首项的系数必为1。 n阶方阵的特征多项式系数矢量一定为n+1阶。 poly(a):a为n阶矩阵,求出a的特征多项式。 3.由根矢量创建多项式 由根矢量创建多项式: 函数poly:可以由给定的根矢量创建多项式。 如果希望创建实系数多项式,根矢量的复数根必须共轭成对。 含复数根的根矢量所创建的多项式系数矢量的系数,有可能带有很小的虚部,可以采用取实部的函数(real)把虚部滤掉。 第四章 数值运算基础(一) 多项式创建 多项式运算 线性代数 1.求多项式的值 对多项式求值的函数:polyval、polyvalm polyval:按数组运算规则计算;polyvalm:按矩阵的规则计算。 y=polyval(p,x),求多项式p在x点的值,x也可为数组,求各点的值。 y=polyval(p,x,[],mu),用 代替x,求多项式p在x点的值,其中, Y=polyvalm(P,X),求以P为系数的多项式在方阵X的值,X必须为方阵。 2.求多项式的根 对多项式求根的函数:roots(p) 多项式由一个行向量p表示,它的系数按降序排列,用roots函数求该多项式的根。 matlab规定多项式系数向量用行向量表示,一组根用列向量表示。 3.多项式的加减运算 4.多项式的乘除运算 5.多项式的微积分 6.多项式的部分分式展开 7.多项式拟合 第四章 数值运算基础(一) 多项式创建 多项式运算 线性代数 线性方程组求解: 解线性方程组就是找出是否存在一个唯一矩阵x,使得矩阵a、b满足一下关系: ax=b 或 xa=b 其中,x=a\b为方程式ax=b的解; x=b/a为方程式xa=b的解。 系数矩阵a为分母。 x=a\b中,矩阵a与b行数相同,解x与b列数相同,行数等于a的列数。 \常用。两者的置换关系(b/a)’=(a’\b’)。 对于方程ax+b,a 为n×m矩阵,有三种情况: 当n=m时,此方程成为方阵系统,可以尝试精确解。 当nm时,此方程成为“超定”系统,可以尝试计算最小二乘解。 当nm时,此方程成为“欠定”系统,可以尝试计算含有最少m的基解。 Matlab中有两种除运算左除和右除。除运算可以很方便地解上述方程。 1.方阵系统 方阵系统: 常见的线性方程是系数矩阵为方阵a和由常数项组成列矢量b的情况,解x可以写为:x=a\b,x与b尺寸相同。 假如方阵a的各个行矢量线性相关,则a为奇异矩阵,线性方程ax=b有无穷多组解。 A非奇异时,A的行列式不为0,此时方程的解是唯一的 方阵系统的解: 方程ax=b a=[1 2;2 3];b=[8;13]; ?x=inv(a)*b ? x=a\b x = x = 2.00 2.00 3.00 3.00 2.超定系统 超定系统: 超定系统指方程的个数多余自变量的个数的系统。求解超定系统一般采用最小二乘法。 超定系统的解: 方程 ax=b ,mn时此时不存在唯一解。 方程解 (a a)x=a b x=(a a)-1 a b —— 求逆法 x=a\b —— matlab用最小二乘法找一个准确的基本解。 例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3 a=[1 2;2

文档评论(0)

1亿VIP精品文档

相关文档