MATLAB多项式与符号运算.ppt_第1页
MATLAB多项式与符号运算.ppt_第2页
MATLAB多项式与符号运算.ppt_第3页
MATLAB多项式与符号运算.ppt_第4页
MATLAB多项式与符号运算.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB的数值计算 matlab 具有出色的数值计 算能力,占据世界上数值计算软 件的主导地位 matlab语言把多项式表达成一个行量, 该向量中的元素是按多项式降幂排的。 f(x)=anxn+an-1xn-1+loa0 可用行向量 p=an an-1 a1 +a0表示 如:a(x)=2x3+4x2+6x+8; 对应a=2,4,6,8; b(x)= 2x3+6x+8; b=? 多项式运算 函数1:ploy2str() 作用:生成多项式表达式的字符串 p =1.00,-6.00,-72.00,-27.00; p是多项式p(x)=x3-6x2-72x-27 的matlab描述方法,我们可用: a=poly2str(p,x)显示数学多项式的形式 a=x3 - 6 x2 - 72 x 27 并将表达式的结果以字符串的形式赋值给变量a 函数2:roots() 作用: 求多项式的根 a=1,-3,2; %对应多项式x2-3x+2 %若求 方程x2-3x+2=0的根 x=roots(a) 则x = 2 1 matlab规定多项式系数向量用行向量表示 ,一组根用列向量表示。 多项式加减运算 计算a(x)+b(x) 如:2x3+4x2+6x+8 3x2+6x+9 则:a=2,4,6,8; b=3,6,9 b=0,3,6,9 c=a+b =2,7,12,17 2x3+7x2+612x+17 编写子程序文件自动完成两多项式加减运 算 函数文件: function y=polyadd(x1,x2) n1=length(x1); n2=length(x2); if n1n2 x2=zeros(1,n1-n2),x2; elseif n1n时,此方程成为“超定”方程 当mn时此时不存在唯一解 。 方法1:方程解 (a a)x=a b x=(a a)-1 a b 求逆法 思考为什么不能x=inv(a)*b? 方法2: x=ab matlab用最小二 乘法找一个准确地基本解。 例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3 a=1 2;2 3;3 4;b=1;2;3; 解1 x=ab 解2 x=inv(aa) a b x = x = 1.00 1.00 0 0.00 = a x = b 3.欠定方程组的解 当方程数少于未知量个数时,即不定 情况,有无穷多个解存在。 matlab可用两种方法求解: 方法1:用除法求的解x是具有最多零元 素的解 x=ab 方法2:是具有最小长度或范数的解,这 个解是基于伪逆pinv求得的。 x=pinv(a)b x1+2x2+3x3=1 2x1+3x2+4x3=2 a=1 2 3;2 3 4;b=1;2; x=ab x=pinv(a)b x = x = 1.00 0.83 0 0.33 0 -0.17 = a x = b 多项式拟合 原理:MATLAB通过给定的离散点,找一 个n次多项式,使所有离散点到多项式 曲线的距离的平方和最小。 准则:最小二乘法 拟合函数:p=polyfit(x,y,n) 其中x、y为离散数据点的坐标向量,n为 拟合次数,即用n次多项式拟合,p为n 次多项式的系数 拟合程序例1: 将下列离散点用直线拟合,并绘制: (0,11.2)、(0.2,16.5)、(0.4,20.4)、(0.6,26.3)、(0.8,30.5)、(1,28.7) 编程: x=0:0.2:1; y=11.2,16.5,20.4,26.3,30.5,28.7; a=polyfit(x,y,1); %即用a1x+a2的直线表达式拟合 %下面开始绘制已经求出的直线a1x+a2 xi=linspace(0,1,50); yi=polyval(a,xi); %将xi的每一个元素作为横坐标带入 a1x+a2的表达式中,得出xi对应的纵坐 标并赋给yi plot(x,y, o,xi,yi,b); 注意:当拟合次数过高时,会造成曲线的振荡 拟合的次数不允许超过点数,即此例中n=5 插值拟合 (1)插值的定义是在给定的原始数据点之间用某些 特定的数学算法插入一些数据点,当原始数据点和插入数 据点连线后得到穿过原始数据点的光滑曲线。 (2)当不能很快地求出所需中间点的函数时,插值是一 个非常有价值的工具。 (3)Matlab提供了线性插值、三次插值和三次样条插值3 种选择。 直线插值:在原始数据点之间用直线拟合 三次插值及三次样条插值:在原始数据点之间用三 次多项式曲线分段连接 三次插值和三次样条插值的区别 样条插值得到的曲线一阶、二阶导数连 续,而一般的三次插值可能会有一阶和 二阶导数的间断,在有些问题如高速飞 机的机翼外形、内燃机进排气门的凸轮 曲线上不允许出现这样的情况,必须用 样条插值。 插值函数:interp1 调用格式:interp1(x,y,xi,method) 其中: (1)x、y为离散数据的坐标向量,要求长 度必须相同 (2)xi为插入点的数据向量 (3)Method为插值方法,为字符串变量 有三种方法供选择: linear、cubic、spline 分别表示线性插值、三次插值和三次样条插值 曲线拟合例题2: 将下列离散点用三次样条插值拟合,并绘制: (0,11.2)、(0.2,16.5)、(0.4,20.4)、(0.6,26.3)、(0.8,30.5)、 (1,28.7) 程序: x=0:0.2:1; y=11.2,16.5,20.4,26.3,30.5,28.7; xi=linspace(0,1,20); yi=interp1(x,y,xi,spline); %yi=interp1(x,y,xi,linear); %表示线性插 值 %yi=interp1(x,y,xi,cubic); %表示三次插值 plot(x,y,o,xi,yi,b); MATLAB在积分求导运算中的应用 (1)求单重积分 调用格式: q1=quad(被积函数表达式,积分下限,积分上限) 注意:函数表达式中运算符前面加“.” 例:求积分 q1=quad(4*cos(2*t).2+sin(t).2,0,3*pi); (2)双重积分 调用格式: q2=dblquad(被积函数表达式,xmin,xmax,ymin,ymax); 注意:函数表达式中运算符前面加“.” 例:求 q2=dblquad(y.*sin(x)+x.*cos(y),3*pi,4*pi,pi,2*pi) 用符号变量运算求积分 (1)用符号变量求不定积分 调用格式:int(被积函数表达式,被积变量) 例: syms x y z; %表示声明3个符号变量x、y、z %注意:变量用空格隔开 int(sin(x*y+z),x) 因为是符号变量运算,所以运算符前不用加 “.” (2)用符号变量求定积分 调用格式:int(被积函数表达式,被积变量,积分下限,积分上限 ) 例:syms x; a=int(cos(x),0,pi/6) 例:syms x y; b=int(xy,y,0,pi/6) pretty(b) 注:pretty()可以使结果更加整齐 (3)用符号变量求广义积分 当积分限某一具体数值变为正负无穷时定积分转变为 广义积分,在MATLAB中也只需将积分限变为inf或-inf即 可。 例:求函数g(x)=1/(1+x2)在1到正无穷的广义积分 程序:syms x; g=1/(1+x2); int(g,1,inf) 例:求函数f(x)=1/(x2+2x+3)在负无穷到正无穷的广义积 分 程序:syms x; f=1/(x2+2*x+3); int(f,-inf,inf) 函数的求导 1、求一次导数 函数的导数可有diff命令来完成 格式为diff(f) 例: syms x %表示将x声明为符号变量, 对x进行符号运算,也就是把x作为函数的自 变量 f=log(x); %将x的函数表达式赋值给f变 量 result=diff(f) 注意:因为是符号变量运算,所以运算符前不 用加“.” 如:f=2*x2 多项式求导与符号运算求导的区别 (1)多项式求导例子 a=1,2,3; % x2+2x+3 polyder(a) 结果:ans = 2 2 %代表2x+2 (2) syms x; f=x2+2*x+3; diff(f) 结果:ans=2*x+2 例:求f(x)=(x+exsinx)1/2的导数 程序 syms x; f=(x+exp(x)*sin(x) )(1/2) diff(f) pretty(ans) 2、求高阶导数 格式:diff(f,n) 其中n为求导的阶数 例

温馨提示

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

评论

0/150

提交评论