- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二、 多项式的运算 1.、求根运算 roots(P) P是多项式 p(x)的系数向量,该函数返回 p(x)=0 的全部根(含重根,复根) 例 已知一个多项式 (1)计算f (x)=0 的全部根 (2)由方程f (x)=0的根构造一个多项式 g(x),并与 f (x) 进行对比 (3)计算f (5)、f (7.8)、f (9.6)、f (12.3)的值 3. 多项式的四则运算 (1)多项式的加减法 例 设有两个多项式,计算: (1)求f(x)+g(x)、f(x)-g(x)。 (2)求f(x)·g(x)、f(x)/g(x)。 例 求有理分式的导数 程序: x=[-2 -1 0 1 3]; y=[-56 -16 -2 -2 4]; n=length(x); A=zeros(n,n); A(:,1)=y; for j=2:n for i=j:n A(i,j)=(A(i,j-1)- A(i-1,j-1))/(x(i)-x(i-j+1)); end end A 定义中的一阶导数连续意味着曲线没有急弯,二 阶导数连续意味着曲线每一点的曲率半径有意义。 三、Lagrange插值多项式 1、给定 n+1 个数据点: 插值基函数: 满足插值条件: 的次数不超过n的lagrange多项式 g(x) 为: function y = lagrange1(x0,y0,x) np=length(x0); y=zeros(size(x)); for i=1:np z=ones(size(x)); for j=1:np if j~=i z=z.*(x-x0(j))/(x0(i)-x0(j)); end end y= y+y0(i)*z end 2、MATLAB程序(法1): 调用格式: y = lagrange1(x0,y0,x) clear x0 = [1.1, 2.3, 3.9, 5.1]; y0=[3.887, 4.276, 4.651, 2.117]; x = [2.101, 4.234]; y = lagrange1(x0,y0,x) 例:写出拟合下面四个数据点的Lagrange插值公式,并计算 x=2.101、4.234时 y 的值。 4.651 3.9 2.117 5.1 4.276 2.3 3.887 1.1 y0 x0 结果为 y = 4.1457 4.3007 由于lagrange插值基函数li(x)在节点xk(k=1,2,…,n)处满足 又由于过 n+1个数据点的 n 次插值多项式是唯一的,故 li(x)也可看做是拟合下列数据点的n次多项式 可编写程序求出 2、MATLAB程序实现(法2): 进而求出lagrange插值公式 function p = lag_base(x) np = length(x); for j=1:np y = zeros(1,np); y(j) = 1; p(j,:)=polyfit(x,y,np-1); end 其调用格式为: p=lag_base(x) 其中: x 是数据点的横坐标数组, p 是一个矩阵,它的第 i 行 为li(x) 的幂系数。 先编写程序求出 如前例也可求解如下: x = [1.1, 2.3, 3.9, 5.1]; y = [3.887, 4.276, 4.651, 2.117]; xi = [2.101 ,4.234]; p=lag_base(x); np = length(x); s=0; for i=1:np s = s+p(i,:) .*y(i); end s yi=polyval(s,xi) 结果为: yi= 4.1457 4.3007 3、 Lagrange 插值公式的微分 插值公式 微分 为计算Lagrange插值多项式的一阶导数,可用polyder 函数将 p 的每一行转换为一阶导数的系数数组。 例:求出拟合下面四个数据点的Lagrange插值多项式在x=2.101、4.234处的一阶导数值。 4.651 3.9 2.117 5.1 4.276 2.3 3.887 1.1 y0 x0 x = [1.1, 2.3, 3.9, 5.1]; y = [3.887, 4.276, 4.651, 2.117]; xi = [2.101 ,4.23
文档评论(0)