当前位置: 服务支持 >  技术文档 >  MATLAB数值分析:Neville插值法详解

MATLAB数值分析:Neville插值法详解

阅读数 71
点赞 97
copyright 著作权
article_banner

cut-off

前言:

        近来发现龚纯、王正林编著《MATLAB语言常用算法程序集》附带的程序跑起来特别费时,所以参考众家之所长,优化了计算时间,随即公布分享出来交流学习。

        此举非盈利目的,只愿中文互联网能多一点干货,也同时营造一下B站的学习氛围。

        有任何问题欢迎在评论或者私信交流讨论!随缘回复!随缘更新!

cut-off

1.3 Neville插值方法

function y = NevilleInterpolation(X,Y,x)
%% Neville插值计算
%输入的量:  X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量;
%                Y是纵坐标向量;
%                x是以向量形式输入的m个插值点;
%输出的量:  y为m个插值构成的向量.
%% 注意
% Neville方法和Aitken方法大同小异,区别自己搜索答案吧!
%http://leonfocus.github.io/neville-interpolation/
%% 范例
% x=0:0.5:3;
% y=[0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411];
% x0=0.1:0.5:2.9;
% NevilleInterpolation(x, y, x0)
%% 检错
if(length(X) == length(Y))
    n = length(X);
    m = length(x);
    y=x;
else
    error('▲▼▲▼▲▼▲▼警报: X和Y的维数不相等▲▼▲▼▲▼▲▼▲▼');
end
%% 计算
for z=1:m
    P=Y;
    for i=1:n
        P1=P;
        k=1;
        for j=i+1:n
            k=k+1;
            P(j)=P1(j-1) + (P1(j)-P1(j-1)) * (x(z)-X(k-1)) / (X(j)-X(k-1));
        end
    end
   y(z)=P(n);
end
end

cut-off

程序文件分享指路👉: https://www.aliyundrive.com/s/x36qNtk6jnC 

欢迎【点赞】👍【投币】💴【收藏】✬【充电】⚡支持一下up主!

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空