matlab用牛顿差值计算三次差值多项式,计算方法用Newton插值多项式求函数的近似值.docx...

计算方法用Newton插值多项式求函数的近似值

计算方法课程设计题 目: 用Newton插值多项式 处理磁化曲线学 院: 理学院班 级: 学 生 姓 名: 学 生 学 号: 指 导 教 师: 2017年 06 月 19 日课程设计任务书姓名班级数学15-1学号设计题目用Newton插值多项式求函数的近似值理论要点通过差商及差商的基本性质,推导出牛顿插值多项式,并编写Matlab程序,执行结果既可得到近似值。设计目标分析Newton插值多项式的构造方法及构造过程;编写Newton插值多项式求函数的Matlab程序;解决一个具体的实际问题。研究方法步骤第一步:通过已知数据,构造差商表;第二步:构造牛顿插值多项式,编写程序;第三步:解决实际问题,检查整理。预期结果由给出的插值节点的函数值,构造出差商表,通过程序的执行求出近似的被插值函数的插值多项式,与函数在某点的近似值。计划与进步的安排课程安排一周,分四次完成:第一次:查找质料,并开始考虑设计的方法;第二次:写论文的摘要、理论依据和问题的描述;第三次: 写论文的分析、求解计算以及程序内容;第四次:完成课程设计,老师审核打印。目录摘 要I第1章 前 言11.1 牛顿差值多项式算法在计算方法课程中地位11.2牛顿差值多项式算法的发展状况和具体应用领域11.3本文主要研究思路与结构安排1第2章牛顿差值多项式算法基本原理及Matlab程序12.1 牛顿差值多项式算法的基本原理12.2 牛顿差值多项式算法的构造方法………………….………...32.3牛顿差值多项式算法的Matlab程序….. …………………....4第3章 利用牛顿差值多项式算法解决实际问题(处理磁化曲线)73.1 问题提出73.2 问题的分析与模型建立73.3 数据处理73.4 结果分析与误差估计9结论11参考文献11附录12摘要在我们生活中,许多实际问题都都可以利用函数来表示某种内在规律的数量关系,但是在很多应用领域,函数有时不能直接写出表达式或者过于复杂不易计算,而只能给出函数在若干个点上的函数值或导数值,通常也是造一张函数表,当遇到要求表中未列出的变量的函数值时,就必须做数值逼近.例如给定了函数在几个特定点上的函数值,为了研究函数的变化规律,就要根据这个表,将其公式化寻求某一函数去逼近,在给定点上等于函数值,在其他点上约等于函数值,这样既能反映的函数特性,又便于计算.称的插值函数,为被插值函数.我们可以求一个待定函数来近似反映函数的特性,使得待定函数在给定点上等于函数值,在其它点上的函数的值作为函数的近似值,这种方法称为插值法.利用差值函数很容易得到Lagrange插值多项式,公式结构紧凑,在理论分析中甚为方便.由于公式中的每一项与所有的插值结点有关.因此,如果需要增加一个插值结点,则Lagrange插值公式中的每一项都需要改变计算量大,为了克服这一缺点,于是产生了Newton插值法.有的要求更高需要在某些点处的导数也相同于是前两种方法达不到精度于是产生了Hermite插值法.本文只讨论牛顿插值法,通过均差的推导引出差值公式,建立Matlab程序,意在用牛顿插值法处理磁化曲线。 关键词:插值函数,牛顿插值,均差 ,Matlab程序第1章 前言1.1牛顿差值多项式算法在计算方法课程中地位 Newton插值法是数值逼近中的一个重要部分,它向前继承了Lagrange插值法,向后引出了Hermite插值法,可以看作对多项式插值作了一个简单的统一。Newton插值公式具有形式简单,便于计算等优点。因此,在插值中得到广泛的应用。Newton插值公式余项更具有一般性,它对于列表函数或导数不存在的情形也同样适用。1.2牛顿差值多项式算法的发展状况和具体应用领域插值法是一种古老的数学方法,他来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也逐步增多。特别是在计算机软件中,许三多库函数.等的计算实际上归结于它的逼近函数的计算。在工程的实际问题中,由于航空、造船、精密机械加工等实际问题的需要,插值方法在实践上和理论上显得更为重要,并得到了进一步的发展和广泛的应用。因此我们希望能够得到一个“简单函数”逼近被计算函数的函数值.于是就得到了一种方法。叫做插值逼近或者插值法.1.3本文主要研究思路与结构安排文思路是通过均差的定义及性质,导出牛顿插值公式及其误差公式,建立关于牛顿差值的Matlab程序。在通过具体实际数学问题,用牛顿插值法磁化曲线和铁损曲线。通过本文的研究既加深了对Newton插值法的理解,同时又了解它的的优缺点。第2章 牛顿差值多项式算法基本原理及Matlab程序2.1牛顿差值多项式算法的基本原理 2.1.1差商的定义:设函数在互异节点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,可以使用拉格朗日插值多项式求函数近似值。以下是一个使用三次拉格朗日插值多项式Matlab代码示例: ```matlab % 定义待插值函数 f = @(x) exp(x).*sin(x); % 定义插值节点 x = linspace(-2, 2, 5); % 可根据需要调整节点数量和范围 % 计算插值节点的函数值 y = f(x); % 定义插值多项式的次数 n = length(x) - 1; % 定义插值多项式的变量 syms t; L = sym(ones(n+1, 1)); % 计算拉格朗日插值基函数 for i = 1:n+1 for j = 1:n+1 if j ~= i L(i) = L(i) * (t - x(j)) / (x(i) - x(j)); end end end % 定义插值多项式 P = sum(y .* L); % 定义待求近似值的点 x_approx = 0; % 可根据需要调整近似点的值 % 计算近似值 f_approx = vpa(subs(P, t, x_approx)); % 输出结果 disp(['函数的近似值为:', num2str(f_approx)]); ``` 在上述代码中,首先定义了待插值的函数`f`和插值节点`x`,然后计算插值节点的函数值`y`。接下来,使用符号计算工具箱定义了拉格朗日插值多项式的变量`t`和基函数`L`。通过双重循环计算了每个插值基函数的值,并将它们相乘得到插值多项式`P`。最后,定义了待求近似值的点`x_approx`,通过将`t`替换为`x_approx`计算了函数的近似值`f_approx`。最后,通过disp函数输出了结果。 这个代码示例可以帮助你使用拉格朗日插值多项式求函数近似值。你可以根据需要调整插值节点的数量和范围,并修改待求近似值的点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值