《第4章函数与方程.ppt》由会员分享,可在线阅读,更多相关《第4章函数与方程.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、E-mail:Tel:49936260数数 学学 建建 模模 第四章第四章 函数与方程函数与方程函数零点函数零点多项式多项式v Matlab多项式运算多项式运算q 在在 Matlab 中中,n 次多项式是用一个长度为次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为的向量来表示,缺少的幂次项系数为0。例如:。例如:在在 Matlab中中表示为相应的向量:表示为相应的向量:q 例:例:注:系数中的零不能省!注:系数中的零不能省!q 多项式四则运算多项式四则运算 多项式加减运算:多项式加减运算:Matlab没有提供专门进行多项式没有提供专门进行多项式加减运算的函数,事实上,多项式的加减
2、就是其所对加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算。应的系数向量的加减运算。例例:对于次数相同的多项式,可以直接对其系数向量对于次数相同的多项式,可以直接对其系数向量进行加减运算;进行加减运算;如果两个多项式次数不同,则应该把低次多项式如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用中系数不足的高次项用0补足,然后进行加减运算。补足,然后进行加减运算。多项式乘法运算:多项式乘法运算:k=conv(p,q)例例1 计算多项式计算多项式 和和 的乘积的乘积p=2,-1,0,3;q=2,1;k=conv(p,q)多项式除法运算:多项式除法运算:k,r=dec
3、onv(p,q)其中其中 k 返回的是多项式返回的是多项式 p 除以除以 q 的商,的商,r 是余式。是余式。k,r=deconv(p,q)p=conv(q,k)+rp=1 2 0-5;q=1-1 2;k,r=deconv(p,q)conv(k,q)+r多项式的导数:多项式的导数:polyderk=polyder(p):多项式多项式 p 的导数;的导数;k=polyder(p,q):p*q 的导数;的导数;k,d=polyder(p,q)p/q 的导数,的导数,k是分子,是分子,d是分母。是分母。k1=polyder(2,-1,0,3);k2=polyder(2,-1,0,3,2,1);k,d
4、=polyder(2,-1,0,3,2,1)例例3 已知已知 求求多项式求值多项式求值 代数多项式求值:代数多项式求值:y=polyval(p,x):计算多项式计算多项式 p 在在 x 点的值点的值注:若注:若 x x 是向量或矩阵,则采用数组运算(点运算)!是向量或矩阵,则采用数组运算(点运算)!p=2,-1,0,3;x=2;polyval(p,x)x=-1,2;-2,1;polyval(p,x)例例4 已知已知 ,分别取,分别取 x=2和一个和一个2 2矩阵,矩阵,求求 p(x)在在 x 处的值处的值多项式求根 p=2,-1,0,3;x=roots(p)x=roots(p):若若p是是n次
5、多项式,则输出次多项式,则输出x为包为包含含p=0的的n个根的个根的n维向量。维向量。例:已知例:已知 ,求,求p(x)的零点。的零点。非线性方程的非线性方程的根根q Matlab 非线性方程的数值求解非线性方程的数值求解fzero(f,x0):求方程求方程 f=0 在在 x0 附近的根。附近的根。l 方程可能有多个根,但方程可能有多个根,但 fzero 只给出距离只给出距离 x0 最近的一个最近的一个l fzero 先找出一个包含先找出一个包含 x0 的区间,使得的区间,使得 f 在这个区间在这个区间两个端点上的函数值异号,然后再在这个区间内寻找方程两个端点上的函数值异号,然后再在这个区间内
6、寻找方程 f=0 的根;如果找不到这样的区间,则返回的根;如果找不到这样的区间,则返回 NaN。l x0 是一个标量,不能缺省是一个标量,不能缺省l 由于由于 fzero 是根据函数是否穿越横轴来决定零点,因是根据函数是否穿越横轴来决定零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点,如此它无法确定函数曲线仅触及横轴但不穿越的零点,如|sin(x)|的所有零点。的所有零点。非线性方程的根q fzero 的另外一种调用方式的另外一种调用方式fzero(f,a,b)l 方程在方程在 a,b 内可能有多个根,但内可能有多个根,但 fzero 只给出一个只给出一个l 求方程求方程 f=0 在在 a,b 区间内区间内的根的根。l f 不是方程!也不能使用符号表达式!不是方程!也不能使用符号表达式!fzero(sin(x)-0.1*x,6)fzero(sin(x)-0.1*x,2,6)x,f,h=fsolve(F,X0)F为字符串表示的函数;x返回F在x0附近的一个零点,f返回F在x的函数值;h返回值如果大于0,说明计算结果可靠。非线性方程组求解非线性方程组求解 例例 解方程组解方程组 x,y,h=fsolve(4*x(1)-x(2)+exp(x(1)/10-1,-x(1)+4*x(2)+x(1).2/8,0,0)