首页 > 编程语言 >Python三次样条插值与MATLAB三次样条插值简单案例

Python三次样条插值与MATLAB三次样条插值简单案例

时间:2023-03-19 12:14:07浏览次数:47  
标签:10 样条 插值 MATLAB 三次 ix3

1 三次样条插值

早期工程师制图时,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后沿木条画下曲线,成为样条曲线。

设函数S(x)∈C2[a,b] ,且在每个小区间[xj, xj+1]上是三次多项式,其中a=x0<x1<...<xn=b 是给定节点,则称S(x)是节点x0,x1,...xn上的三次样条函数。若在节点xj上给定函数值yj=f(xj) ( j=0,1,...,n) ,并成立S(xj) =yj ( j= 0, 1, , n) ,则称S(x)为三次样条插值函数

下文分别使用Python和MATLAB实现三次样条插值,待插值的函数如下:

img

2 Python三次样条插值

import numpy as np
import scipy.interpolate as spi
import matplotlib.pyplot as plt

#生成[-10,10]内长度为41的序列
x=np.linspace(-10,10,41)
y=np.sin(x**3)/np.cos(x**2)

#观测数据点
ix3=np.linspace(x[0],x[-1],81)
#三次样条插值
ipo3=spi.splrep(x,y,k=3) #生成模型参数
iy3=spi.splev(ix3,ipo3) #生成插值点

plt.plot(x,y)
plt.plot(ix3,iy3)
plt.legend(['origin','interp'],loc='upper left')
plt.show()

img Python运行结果

3 MATLAB三次样条插值

x=linspace(-10,10,41);
y=sin(x.^3)./cos(x.^2);

ix3=linspace(x(1),x(length(x)),81);
iy3=spline(x,y,ix3); %三次样条插值

plot(x,y,'b-','lineWidth',2)
hold on
plot(ix3,iy3,'r-','lineWidth',2);
legend('origin','interp','loc')

img MATLAB运行结果

​ 声明:本文转自Python三次样条插值与MATLAB三次样条插值简单案例

标签:10,样条,插值,MATLAB,三次,ix3
From: https://www.cnblogs.com/zhyan8/p/17232723.html

相关文章

  • TCP图解: 三次握手与四次关闭
        ......
  • html第三次
    运行效果:  代码:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>淘宝购物页</title> <style> .goods{ width:220px; height:360px; ......
  • 二分法求三次方根
      #include<iostream>usingnamespacestd;intmain(){doublen;cin>>n;intl=1,r=n;while(l+1e-7<r){doublemid=(l+r)/2;if(mid*mid*mid>=n){r=mid;}elsel......
  • TCP 三次握手,给我长脸了噢
    大家好,我是小富~个人资源分享网站:FIRE本文收录在Springboot-Notebook面试锦集前言之前有个小伙伴在技术交流群里咨询过一个问题,我当时还给提供了点排查思路,是个典型......
  • 三次握手和四次挥手
      ......
  • keil在线调试STM32,点三次运行才能跑到main的问题
    遇到的问题是,在include了,并调用对象的pushback()函数,就会出现需要点击3次才能全速运行。目前解决的办法是勾选microlib选项,但会出现警告说microlib不支持C++暂不清楚这......
  • 插值查找——C语言描述
    插值查找——C语言描述目录插值查找——C语言描述0测试用例框架1定义2代码4测试用例0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?......
  • 大咖说・阿里研究院|数实融合的第三次浪潮
    数实融合是什么?它经历了怎样的发展阶段?数实融合的第三次浪潮又会如何演进?本期大咖说,阿里巴巴集团副总裁高红冰,分享数实融合的三次浪潮嘉宾介绍高红冰:阿里巴巴集......
  • 数据包的封装过程 三次握手
     发送端发送数据时数据回从上层传输到下层且每经过一层都会被打上该层的头部信息而且接收端接收数据时数据回从下层传输到上层传输前会把下层的头部信息删除使用TCP......
  • 面试复习总结-tcp三次握手四次挥手
    1.TCP/IP协议:应用层:HTTPFTPTFTPHTTPS会话层表达层传输层:TCPUDP网络层:IPICMPARP 数据链路层:PPP,PPTP物理层:帧 tcp三次握手四次挥手: 1.客户端发送连接......