MATLAB的初等代数运算.doc_第1页
MATLAB的初等代数运算.doc_第2页
MATLAB的初等代数运算.doc_第3页
MATLAB的初等代数运算.doc_第4页
MATLAB的初等代数运算.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB的初等代数运算 第22页第二章 MATLAB的初等代数运算学习目标:1、熟悉MATLAB符号表达式的化简和初等代数运算操作。2、熟悉多项式运算的MATLAB命令及其用法。第一节 符号表达式的化简一、 MATLAB提供了多种化简符号表达式的函数命令。函数格式说 明factor(s)因式分解expand(s)展开符号表达式scollect(s,x)collect(s,v)对表达式s中的每一个函数按x的次数合并系数。 按指定变量v的次数合并系数。n,d=numden(s)符号表达式s的通分simple(s)显示多种方法化简,最后给出表达式s的最简型。simplify(s)用一般化简法化简符号表达式s。radsimp(s)对根式表达式s化简horner(s)符号表达式s的嵌套形式阅读下列程序:1)分解因式 syms x factor(x3-1) ans = (x-1)*(x2+x+1)2)将cos(3x)展开 syms x expand(cos(3*x) ans = 4*cos(x)3-3*cos(x)3)将展开 expand(x+2)5) ans = x5+10*x4+40*x3+80*x2+80*x+324)将按x的次数合并 syms x y collect(x2*y+y*x-x2-2*x) ans = (y-1)*x2+(y-2)*x4)化简cos(2x)+2sin2x syms x y simplify(cos(2*x)+2*sin(x)2) ans = 1上机实践: 1、求展开式中系数最大的项2、求证:(用simple或 simplify命令把左边的符号表达式化简)3、因式分解:4、试用两次simple命令化简:二、 函数的代数运算:命令格式说 明symadd(f,g)符号表达式f加上符号表达式gsymsub(f,g)符号表达式f减去符号表达式gsymmul(f,g)符号表达式f乘上符号表达式gsymdiv(f,g)符号表达式f除符号表达式gsympow(f,p)符号表达式f的p次幂,p可以是表达式三、 复合函数的建立:命令格式说 明compose(f,g) 生成函数f(g(x),注意:此时与手写方式完全不同!compose(f,g,z) 生成复合函数f(g(z), 复合函数以z为自变量 syms x z f=2x;g=sin(x); compose(f,g) ans = 2sin(x) compose(g,f) ans = sin(2x) compose(g,f,z) ans = sin(2z)第二节 多项式运算:一、 多项式的建立:方法一:1)多项式按降幂排列,写出系数向量,一定要把缺项的系数补0。2)用poly2sym命令建立多项式。格式:poly2sym(p) % p为多项式的系数向量如:输入多项式: p=1 ,2, 0 ,-5, 6;s=1, 2, 3;p1= poly2sym(p) p1 = x4+2*x3-5*x+6 s1= poly2sym(s) s1 = x2+2*x+3方法二:用syms命令建立 syms是生成符号变量的命令,其格式为:syms 变量名1 变量名2 变量名3 注:变量之间用空格分隔,不能用逗号。如:多项式 syms x; q=3*x2+4*x+7 q = 3*x2+4*x+7二、 求多项式的值:命令格式:polyval (p,a) % 求 x=a 时多项式p的值 x=a,b,c; polyval(p,x) % 求 x=a ,x=b,x=c 时多项式p的值 如:polyval(p,-2) % 把x=-2代入多项式p求值ans = 16polyval(s,3/4) % 把x=3/4代入多项式s求值ans =5.0625问:运行 polyval(p1,-2)结果如何?运行polyval(q,3),结果又如何?试试看注:MATLAB中的操作命令是用C语言编写的一段程序,对数据类型有规定。多项式求值命令polyval要求多项式用其系数向量表示,命令运行时只能识别数组型数据,不能识别符号型或字符串型数据。三、 多项式的加减乘除运算:1)多项式的相加相减就是同类项的系数相加减,利用MATLAB进行多项式的加减运算可化为数组(其系数向量)的加减运算。但注意:两个数组的长度要相同,既把两个多项式看作同次多项式,缺项系数为0。 如: p=1,2,0,-5,6;s=0,0,1,2,3; p+sans = 1 2 1 -3 9 % 该数组为求和后的多项式的各项系数,用poly2sym命令可转成多项式poly2sym(p+s) ans = x4+2*x3+x2-3*x+9 p-sans = 1 2 -1 -7 3 2)多项式乘法除法运算:命令格式说 明conv(p,q)多项式p乘以 q ,显示乘积的系数向量 deconv(p,q)多项式p除以 q , 只显示商的系数向量 t,r=deconv(p,q)多项式p除以q,商的系数向量为t,余式的系数向量为r 如: ps=conv(p,s)ps =0 0 1 4 7 1 -4 -3 18 poly2sym(ps) ans = x6+4*x5+7*x4+x3-4*x2-3*x+18 s=1,2,3; deconv(p,s) %命令运行时,数组p与数组s的长度不要求相同ans = 1 0 -3 % 显示商式的各项系数 t,r=deconv(p,s) t = 1 0 -3r =0 0 0 1 15 poly2sym(t) ans = x2-3问:若运行conv(p1,s1) ,deconv(p1,s1)结果如何?为什么?试试看。四、 多项式的微分运算:命令格式说 明polyder(p)求p的一阶导数polyder(p,s) 求ps的一阶导数r,t=polyder(p,s) 如: r,t=polyder(p,s)r = 2 8 20 23 -12 -27t =1 4 10 12 9五、 求多项式的根:命令格式:roots(p) roots(p)ans = -1.8647 + 1.3584i -1.8647 - 1.3584i 0.8647 + 0.6161i 0.8647 - 0.6161i问:输入roots(p1),结果如何?为什么?提示:多项式运算的MATLAB命令:polyval、 conv、deconv、polyder、roots,输入多项式的系数向量即可。阅读下例程序 p=1 2 0 -5 6; p1=poly2sym(p) p1 = x4+2*x3-5*x+6 factor(p)? Error using = factorN must be a scalar. factor(p1) ans = x4+2*x3-5*x+6 syms x q=(x+2)5; expand(q) ans = x5+10*x4+40*x3+80*x2+80*x+32注:当多项式用其系数向量表示,factor(p)运行出现错误提示,原因是factor命令要求输入数据是标量(scalar)或字符表达式。六、多项式拟合多项式拟合是将给定的数据点采用最小二乘法按多项式形式进行拟合,确定多项式的系数。多项式拟合有命令语句和图形窗口两种方法方法一:多项式拟合命令Polyfit(x,y,n) 功能:采用n次多项式来拟合数据x,y,多项式按降幂排列。例 对下列表格数据进行多项式拟合x-3-2-10123y95104110120140165200 x=-3 -2 -1 0 1 2 3; y=95 104 110 120 140 165 200; polyfit(x,y,2) %x,y构成的数据点用二阶多项式拟合。ans = 2.9167 16.6786 121.7619 poly2sym(ans) %由多项式系数创建多项式 ans = 35/12*x2+467/28*x+2557/21方法二:图形窗口拟合第一步:画出数据x,y的散点图; x=-3 -2 -1 0 1 2 3; y=95 104 110 120 140 165 200; plot(x,y,*r)第二步:在图形窗口单击ToolsBasic Fitting,打开对话框,在左图勾选linear(线性),quadratio(二次),cubic(三阶),Show equations,Plot residuals,就得到右图效果。其中分别用线性、二阶、三阶对数据进行多项式拟合。右下图的柱状图显示残差。上机实践:1、 解方程:2、求当x=2,-4,0.6时,(1)多项式的值;(2)多项式f一阶导数的值 3、对下列数据进行多项式拟合,试比较采用二阶、三阶、四阶、五阶多项式拟合,哪个效果更好?x123456789y9763-125720本章小结:1、 本章主要介绍了利用MATLAB软件进行多项式运算的专门操作指令(polyval、polyder、conv、deconv、roots)及应用格式,函数常见的化简变形操作指令(factor、expand、collect、simple、simplify),特别要注意各个命令对输入的数据类型的规定,如果数据类型不匹配,则命令不能运行,给出错误提示。多项式相关命令函数名称格式说明创建多项式P=poly2sym(p)为按降幂排列的多项式的系数求值polyval(p,a)把数值a代入求值A=a,b,c; polyval(p,A) 把数组A中的每一个值代入多项式求值求根roots(p)多项式的根以列向量的形式给出多项式乘法conv(p,q)多项式p与多项式q相乘多项式除法deconv(p,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论