切比雪夫插值

news2025/1/13 0:38:56

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法,其优势是减少插值误差(特别是龙格现象:表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。


1. 切比雪夫节点

切比雪夫插值的核心是使用切比雪夫节点作为插值点。切比雪夫节点是切比雪夫多项式的零点,在区间[-1,1]上定义为:
x k = c o s ( ( 2 k + 1 ) π 2 n ) , k = 0 , 2 , . . . , n − 1 (1) x_k=cos(\frac{(2k+1)\pi}{2n}),k=0,2,...,n-1 \tag{1} xk=cos(2n(2k+1)π),k=0,2,...,n1(1)
其中 n n n是插值点数。
若将插值区间由[-1,1]变化为 [ a , b ] [a,b] [a,b],则切比雪夫节点可以表示为
x k = a + b 2 + b − a 2 c o s ( ( 2 k + 1 ) π 2 n ) , k = 0 , 2 , . . . , n − 1 (2) x_k=\frac{a+b}{2}+\frac{b-a}{2}cos(\frac{(2k+1)\pi}{2n}),k=0,2,...,n-1 \tag{2} xk=2a+b+2bacos(2n(2k+1)π),k=0,2,...,n1(2)


2. 切比雪夫插值步骤

切比雪夫插值包含以下步骤:
(1)计算切比雪夫节点
根据插值区间 [ a , b ] [a,b] [a,b]和插值个数n,根据(2)式计算切比雪夫节点 x k x_k xk;
(2)计算函数值
在切比雪夫节点处计算目标函数 f ( x ) f(x) f(x)的值,得到数据点 ( x k , f ( x k ) ) (x_k,f(x_k)) (xk,f(xk))
(3)构建插值多项式
使用拉格朗日插值法或牛顿插值法,基于切比雪夫数据点 ( x k , f ( x k ) ) (x_k,f(x_k)) (xk,f(xk)),构建插值多项式 P ( x ) P(x) P(x)
(4)插值结果验证
比较其他插值点选取方式和切比雪夫插值的结果差异。


3. 仿真验证

假设我们需要在区间[-5,5]上对函数 f ( x ) = 1 1 + 25 x 2 f(x)=\frac{1}{1+25x^2} f(x)=1+25x21进行插值,插值算法为拉格朗日插值(原理见《拉格朗日插值原理推导》)。按均匀点和切比雪夫节点分别进行插值,结果如下(代码见附录):

在这里插入图片描述

图1. 线性插值示意图

从上图可见,采用均匀分布的点进行插值,在两端会有明显的震荡,插值误差很大(称为龙格现象),而采用切比雪夫节点进行插值,则没有该现象。切比雪夫节点抑制龙格现象的原因主要为:

  • 切比雪夫节点在区间端点附近更加密集,这种分布方式能够有效抑制插值多项式在区间端点附近的振荡。相比之下,均匀分布的节点在区间端点附近较为稀疏,容易导致插值多项式在这些区域产生剧烈振荡。
  • 切比雪夫节点的分布是基于最小最大准则(Minimax Criterion)的,即通过选择节点位置,使得插值多项式与目标函数之间的最大误差最小化。这种优化方式能够确保插值多项式在整个区间内均匀逼近目标函数,而不会在某些区域(如区间端点)产生过大的误差。

【附录】:仿真代码

clc;close all;clear;

a=-5;
b=5;
interp_x = linspace(a,b,100);   % 期望的插值坐标
ref_y=test_func(interp_x);      % 真实函数值

n=20;   % 已知插值点数
k=0:n-1;
uniform_x=linspace(a,b,n);
uniform_y=test_func(uniform_x);  % 等间隔分布的已知插值点
chebyshev_x=0.5*(a+b)+0.5*(b-a)*cos((2*k+1)*pi/(2*n));
chebyshev_y=test_func(chebyshev_x);  % 切比雪夫插值点

uniform_interp_y=lagrange_interpolation(uniform_x, uniform_y, interp_x);
chebyshev_interp_y=lagrange_interpolation(chebyshev_x, chebyshev_y, interp_x);


figure;
hold on;
plot(interp_x,ref_y, 'r');
plot(uniform_x,uniform_y, 'bo');
plot(interp_x,uniform_interp_y, 'b');
plot(chebyshev_x,chebyshev_y, 'ko');
plot(interp_x,chebyshev_interp_y, 'k');
legend('ideal', 'uniform points', 'uniform interp.', 'chebyshev points', 'chebyshev interp.');
box on;
grid on;



function y = test_func(x)
   % 函数说明:用于测试的目标函数
   % x:横坐标
   % y:函数返回值
   y=1./(1+25*x.^2);
end

function P = lagrange_interpolation(x, y, xi)
    % x: 已知数据点的 x 坐标
    % y: 已知数据点的 y 坐标
    % xi: 需要插值的点
    % P: 插值结果

    n = length(x);
    P = zeros(size(xi));

    for k = 1:n
        L = ones(size(xi));
        for i = 1:n
            if i ~= k
                L = L .* (xi - x(i)) / (x(k) - x(i));
            end
        end
        P = P + y(k) * L;
    end
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2275729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ELK的搭建

ELK elk:elasticsearch logstatsh kibana统一日志收集系统 elasticsearch:分布式的全文索引引擎点非关系型数据库,存储所有的日志信息,主和从,最少需要2台 logstatsh:动态的从各种指定的数据源,获取数据…

【物联网原理与运用】知识点总结(上)

目录 名词解释汇总 第一章 物联网概述 1.1物联网的基本概念及演进 1.2 物联网的内涵 1.3 物联网的特性——泛在性 1.4 物联网的基本特征与属性(五大功能域) 1.5 物联网的体系结构 1.6 物联网的关键技术 1.7 物联网的应用领域 第二章 感知与识别技术 2.1 …

英文字体:复古八十年代优雅品牌邀请函电影标题设计衬线字体 Eighties Nostalgia Font

嘿,大家好,我希望你们一切顺利,考虑到现在世界上发生的一切,你们在生活的各个方面都取得了进步。过去 3 年对我们所有人来说都是过山车,我一直非常怀念美好的时光。怀旧之情将我带到了 Pinterest,自然而然地…

GPT大模型下,如何实现网络自主防御

近年来,随着GPT大模型的出现,安全领域的攻防对抗变得更加激烈。RSAC2023人工智能安全议题重点探讨了人工智能安全的最新发展,包括人工智能合成器安全、安全机器学习以及如何利用渗透测试和强化学习技术来确保人工智能模型的安全性和可靠性。 …

Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)

1、下载jdk安装并配置环境变量(自行百度) https://www.oracle.com/java/technologies/downloads/#java8 2、下载spring-framework源码,切换分支到5.3.x https://github.com/spring-projects/spring-framework.git 备用地址 https://gitco…

韩顺平老师Linux学习笔记【持续更新...】

1、课程内容 1.1、课程大纲 1.2、Linux使用在哪些地方 Linux运维工程师Linux嵌入式工程师Linux下开发项目:JavaEE、大数据、Python、PHP、C/C、Go 1.3、Linux的应用领域 个人桌面领域服务器领域(最强领域)嵌入式领域 2、Linux入门 2.1、…

代码随想录算法训练营day27

代码随想录算法训练营 —day27 文章目录 代码随想录算法训练营前言一、贪心算法理论基础二、455.分发饼干三、376. 摆动序列53. 最大子数组和总结 前言 今天是算法营的第27天,希望自己能够坚持下来! 今日任务: ● 贪心算法理论基础 ● 455.…

浅谈容灾技术方案详解

一、什么是容灾? 容灾指的是,在异地搭建一套或多套和主生产系统一样的IT系统,用于应对在系统因发生意外(自然灾害、人为灾害、设备系统故障等)造成业务影响的情况,达到尽量让生产业务损失最小的目的。 二…

《框架程序设计》期末复习

目录 Maven 简介 工作机制(★) 依赖配置(★) Maven命令 MyBatis 入门 单参数查询(★) 多参数查询(★★★) 自定义映射关系(★★★) 基本增删改查操…

SDK调用文心一言如何接入,文心一言API接入教程

一、前期准备 注册百度智能云账号: 前往百度智能云官网注册一个账号。这是接入文心一言API的基础。 了解API接口: 在百度智能云开放平台中,找到文心一言API的详情页,了解提供的API接口类型(如云端API、移动端API、离线…

刚体变换矩阵的逆

刚体运动中的变换矩阵为: 求得变换矩阵的逆矩阵为: opencv应用 cv::Mat R; cv::Mat t;R.t(), -R.t()*t

<style lang=“scss“ scoped>: 这是更常见的写法,也是官方文档中推荐的写法

这两种写法在大多数情况下是没有区别的&#xff0c;它们都是 Vue.js 单文件组件 (.vue 文件) 中用来定义组件私有样式的方式。 两种写法&#xff1a; <style lang"scss" scoped>: 这是更常见的写法&#xff0c;也是官方文档中推荐的写法。<style scoped l…

ai,seo,关键词

什么是AI在SEO中的应用 在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;在搜索引擎优化&#xff08;SEO&#xff09;领域的应用正变得愈发重要。AI技术能够处理和分析大量的数据&#xff0c;通过识别用户行为和搜索模式&#xff0c;帮助优化网站内容和结构。…

git - 用SSH方式迁出远端git库

文章目录 git - 用SSH方式迁出远端git库概述笔记以gitee为例产生RSA密钥对 备注githubEND git - 用SSH方式迁出远端git库 概述 最近一段时间&#xff0c;在网络没问题的情况下&#xff0c;用git方式直接迁出git库总是会失败。 失败都是在远端, 显示RPC错误。 但是git服务器端…

slurm部署安装

slurm部署安装 管理节点和计算节点 在所有节点执行 安装系统工具 apt install -y build-essential curl wget munge将hosts文件 vim /etc/hostsxxx.xxx.xxx.xxx xxx分发到其他计算节点创建slurm用户 useradd -m slurm mkdir /var/spool/slurmd /var/spool/slurmctld chow…

初识Java 2

目录 一.方法&#xff08;函数&#xff09; 1.方法的定义 2.方法的调用过程 3.实参与形参的关系 4.方法的重载 5.方法签名&#xff08;了解&#xff09; 6.递归&#xff08;常用于数列&#xff0c;阶乘&#xff09; 二.数组 1.定义方法&#xff1a; 2.初始化&#xff…

react-quill 富文本组件编写和应用

index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…

关于扫描模型 拓扑 和 传递贴图工作流笔记

关于MAYA拓扑和传递贴图的操作笔记 一、拓扑低模: 1、拓扑工作区位置: 1、准备出 目标 高模。 (高模的状态如上 ↑ )。 2、打开顶点吸附,和建模工具区,选择四边形绘制. 2、拓扑快捷键使…

【Rust自学】11.9. 单元测试

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 11.9.1. 测试的分类 Rust把测试分为两类&#xff0c;一个是单元测试&#xff0c;一个是集成…

【竞技宝】CS2:HLTV2024选手排名TOP4-NiKo

北京时间2025年1月11日,HLTV年度选手排名正在持续公布中,今日凌晨正式公布了今年的TOP4选手为G2(目前已转为至Falcons)战队的NiKo。 选手简介 NiKo是一名来自波黑的CS职业选手,现年26岁。作为DOTA2饱负盛名的职业选手,NiKo在CS1.6时代就已经开始征战职业赛场。2012年,年仅15岁…