- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab数计算与符号计算
第4章 MATLAB数值计算与符号计算 4.1曲线拟合与插值运算 4.2 数值微积分 4.3 线性方程组求解 4.4 常微分方程的数值求解 4.5 MATLAB符号计算 4.6 级数 4.7 实验五 数值工具箱与符号工具箱的应用 4.1 曲线拟合与插值运算 1.多项式的建立与表示方法 在MATLAB中,n次多项式用一个长度为n + 1的行向量表示,其元素为多项式的系数,按降幂排列,缺少的幂次项系数为0。 例如,多项式 在MATLAB中用向量p=[1 -12 0 25 116]表示。 2.多项式的运算 (1) 多项式的加减运算 多项式的加减运算就是其所对应的系数向量的加减运算。相加减的多项式必须表示成相同的次数,如果次数不同,应该把低次的多项式不足的高次项用0补足。 (2) 多项式的乘除运算 命令w=conv(u, v)表示多项式u和v相乘,例如在MATLAB中输入 u=[1 2 3 4],v=[10 20 30],c=conv(u, v) 返回 c= 10 40 100 160 170 120 conv指令可以嵌套使用,如conv(conv(a, b), c)。 命令[q, r]=deconv(v, u)表示u整除v。 向量q表示商,向量r表示余, 即有v=conv(u, q)+r。 (3) 多项式的导函数 对多项式求导数的函数有 k=polyder(p),返回多项式p的导函数; k=polyder(a, b),返回多项式a与b的乘积的导函数; [q, d]=polyder(b, a),返回多项式b整除a的导函数,其分子多项式返回给q,分母多项式返回给d。 (4) 多项式求值 MATLAB中提供了两种求多项式值的函数。 y=polyval(p, x),代数多项式函数求值,若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。 Y=polyvalm(p, x),矩阵多项式求值,要求x为方阵。设A为方阵,p代表多项式x3-5x2+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)) 例4.1 多项式P = x4-29x3 + 72x2 - 29x + 1,以4阶pascal矩阵为自变量分别用polyval和polyvalm计算该多项式的值。 在命令窗口输入如下命令: p= [1 -29 72 -29 1]; X=pascal(4); A=polyval(p, X), B=polyvalm(p, X) 返回 A= 16 16 16 16 16 15 -140 -563 16 -140 -2549 -12089 16 -563 -12089 -43779 B= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (5) 多项式的根 使用函数roots可以求出多项式等于0的根,根用列向量表示,其调用格式为 r=roots(p) 若已知多项式等于0的根,函数poly可以求出相应多项式,调用格式为 p=poly(r) 例4.2 求多项式x4 + 8x3 - 10的根。 命令如下: A=[1, 8, 0, 0, -10]; x=roots(A) 返回 x= -8.0194 1.0344 -0.5075 + 0.9736i -0.5075 - 0.9736i 再输入 p=poly(x) 返回 p= 1.0000 8.0000 -0.0000 -0.0000 -10.0000 3.曲线拟合 在MATLAB中用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给出的点上的函数近似值。 polyfit函数的调用格式为 [P, S]=polyfit(X, Y, m) 函数根据采样点X
文档评论(0)