插值应用案例1

简介: 插值应用案例1

案例1 一阶线性插值

待加工零件外形根据工艺要求在一组数据(x,y)给定(如下表),用程控铣床加工时每一刀只能沿着x方向或y方向走非常小的一步,需要从已知数据得到加工步长很小的(x,y)的坐标。

下表中所给x,y数据位于机翼断面的下轮廓线上,假设需要得到x坐标改变值为0.1的y坐标,试完成加工所需数据,画出曲线,并求出x=0处曲线斜率和13≤x≤15范围内的y的最小值。

要求: (1)用分段线性插值法;        (2)三次样条插值法.

                                                                        插入点数据表

x

0

3

5

7

9

11

12

13

14

15

y

0

1.2

1.7

2.0

2.1

2.0

1.8

1.2

1.0

1.6

【符号设置】

  • x0,y0 插入节点,即表1中已知数据;
  • 待插数据,x=0:0.1:15;
  • y     待插数据对应的纵坐标值;
  • k0    表示x=0处的曲线斜率(即导数);
  • Ymin   表示13≤x≤15范围内的y的最小值。

【数学模型1】线性插值公式

在x=0出的斜率的计算公式为

【模型1求解】

x0=[0 3 5 7 9 11 12 13 14 15];
y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x=0:0.1:15;
y=interp1(x0,y0,x);
plot(x0,y0,'*',x,y,'+-')
dy=diff(y);
dx=diff(x);
dy_dx=dy./dx;
k0=dy_dx(1);
x1=x(x<=15&x>=13);
y1=y(x<=15&x>=13);
Ymin=min(y1);
yindex=find(y1==Ymin);
Xmin=x1(yindex);
[Xmin,Ymin,k0]

注:`dy = diff(y)` 是一个求解差分的函数,用于计算给定向量 y 的差分。

差分是指计算向量中相邻元素之间的差异。通过对 y 中的元素进行逐个相减,可以得到一个新的向量 dy,其长度比 y 少 1。换句话说,dy 中的每个元素都是 y 中相邻元素的差值。

差分常用于处理时间序列数据或离散数据,可以提供关于数据趋势、变化率和离散程度等方面的信息。通过计算差分,我们可以获得连续数据点之间的变化量,从而进行进一步的数据分析和处理。

根据计算,x=0处的斜率为k0=0.4;

当13<x<15时,y的最小值是Ymin=1,此时对应的横坐标为Xmin=14.

【数学模型2及其求解】三次样条插值

x0=[0 3 5 7 9 11 12 13 14 15];
y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x=0:0.1:15;
y1=interp1(x0,y0,x,'spline');
pp1=csape(x0,y0);
y2=fnval(pp1,x);
pp2=csape(x0,y0,'second');
y3=fnval(pp2,x);
subplot(2,1,1);
plot(x,y1,'*-');
title('spline');
subplot(2,1,2);
plot(x,y3,'+-');
title('second');
dy=diff(y1);
dx=diff(x);
dy_dx=dy./dx;
k0=dy_dx(1);
yf=y1(131:end);
xf=x(131:end);
Ymin=min(yf);
Xmin=xf(yf==Ymin);
[Xmin,Ymin,k0]

注:`y1 = interp1(x0, y0, x, 'spline')` 和 `pp1 = csape(x0, y0)` 都是用于进行数据插值的函数,但是它们使用不同的插值方法和返回不同的结果。

`interp1` 函数使用的是插值方法中的样条插值,通过在已知数据点之间构建光滑的曲线来进行插值。在代码中,`'spline'` 是插值方法的参数,表示使用三次样条曲线进行插值。`interp1` 函数根据已知数据点 `(x0, y0)` 和待插值的自变量 `x`,计算对应的插值结果 `y1`。

`csape` 函数则使用的是样条插值的另一种形式,称为分段样条插值。它通过构建一组分段的三次多项式曲线来进行插值。在代码中,`csape` 函数的返回值 `pp1` 是一个样条插值对象,它包含了构建的分段样条曲线的相关信息。

相比较而言,`interp1` 函数使用起来更加简单,直接给出了插值结果。而 `csape` 函数则返回一个对象,需要进一步使用其他函数或方法来进行插值计算或求导等操作。使用 `csape` 函数可以更加灵活地控制插值过程,例如可以进行边界条件的设定或者选择不同的插值方法等。

根据计算,x=0处的斜率为k0=0.4986;

当13<=x<=15时,y的最小值为Ymin=0.9828,对应的横坐标Xmin=13.8.

案例2 利用插值法求积分

已知速度曲线v(t)上的四个点数据,如下表,用三次样条插值求位移S(t)。

t

0.15

0.16

0.17

0.18

V(t)

3.5

1.5

2.5

2.8

【符号设置】

  • T   时间;
  • V   速度;
  • S   位移(路程);

【数学模型】

其中,v(t)函数并不知道,只能靠四个节点插值生成。

【模型求解】

(1)利用三次样条插值,得到速度函数v(t)的表达式。

(2)求位移

=0.068625

 


相关文章
|
负载均衡 Java Maven
Spring Cloud Gateway 源码剖析之配置初始化
Spring Cloud Gateway 源码剖析之配置初始化
540 0
|
开发框架 架构师 Devops
什么是质量工程?(上)
什么是质量工程?
722 0
|
定位技术 开发工具 Android开发
Leaflet开发入门
Leaflet开发入门
594 0
|
存储
[simulink] --- simulink模块(三)
[simulink] --- simulink模块(三)
1757 0
|
8月前
|
存储 Java 数据库
Spring Boot 注册登录系统:问题总结与优化实践
在Spring Boot开发中,注册登录模块常面临数据库设计、密码加密、权限配置及用户体验等问题。本文以便利店销售系统为例,详细解析四大类问题:数据库字段约束(如默认值缺失)、密码加密(明文存储风险)、Spring Security配置(路径权限不当)以及表单交互(数据丢失与提示不足)。通过优化数据库结构、引入BCrypt加密、完善安全配置和改进用户交互,提供了一套全面的解决方案,助力开发者构建更 robust 的系统。
273 0
|
10月前
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
缓存 监控 druid
对比各大数据库连接池技术-Jdbc-Dbcp-C3p0-Druid-Hikaricp
对比各大数据库连接池技术-Jdbc-Dbcp-C3p0-Druid-Hikaricp
463 0
|
机器学习/深度学习 人工智能 自然语言处理
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
|
存储 并行计算 测试技术
NumPy 性能优化:提升 Python 数值计算的速度
【8月更文第30天】Python 是一种广泛使用的编程语言,在科学计算领域尤其受欢迎。然而,由于 Python 的动态类型和解释执行机制,其在处理大规模数值数据时可能会显得相对较慢。为了克服这一限制,NumPy(Numerical Python)库提供了高性能的多维数组对象以及一系列用于操作这些数组的函数。本文将探讨如何利用 NumPy 来提高 Python 中数值运算的效率。
1234 1
|
开发框架 JSON API
Python中FastAPI项目使用 Annotated的参数设计
Python中FastAPI项目使用 Annotated的参数设计