博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插值方法
阅读量:4584 次
发布时间:2019-06-09

本文共 1647 字,大约阅读时间需要 5 分钟。

插值方法有很多,对应到MATLAB里面也有很多函数,和参数选择。

对应的原理分析,嘻嘻,我毕竟不是数学专业的学生,有时间能弄懂就弄懂吧,^_^

 

分段线性插值,拉格朗如插值,样条插值(B样条插值好熟悉的名字啊,图形学里面有哦)。

 

MATLAB实现:

 

插值函数

语法:y = interp1(x0,y0,x,'method');

参数method方法:

  'nearest' :最近项插值

  'linear' :线性插值

  'spline' :立方样条插值(三次样条插值)

  'cubic'  :立方插值

 

三次样条插值

栗子:机床加工(P88)

给出x,y数据,位于机翼断面的下轮廓线。完成插值操作。

线性插值(linear)

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)

y2 = interp1(x0,y0,x,'spline'); % 立方样条插值

 

对于三次样条插值,提倡使用函数csape,返回函数是pp类型。

默认的边界条件,即拉格朗日条件。

pp1 = csape(x0,y0);y3 = fnval(pp1,x); plot(x0,y0,'+',x,y3)

 

参数'second'表示,边界为二阶导数。

pp2 = csape(x0,y0,'second');y4 = fnval(pp2,x);

 

 

栗子:给定曲线v(t)上的四个点,三次样条插值求位移:

x0 = 0.15:0.01:0.18;y0 = [3.5 1.5 2.5 2.8];pp = csape(x0,y0);%format long gXiShu = pp.coefs;s = quadl( @ (t)ppval(pp,t),0.15,0.18);

求出三次样条插值系数,不需要求出那个对应的速度值,也就是不需要使用fnval函数,只需要求积分。

s =

0.0686

二维插值

二维插值,还是这些函数,只不过是加了一维。分为两类:1、插值节点为网格节点   2、插值节点为离散节点。

clear,clcx = 100:100:500;y = 100:100:400;z = [636 697 624 478 450    698 712 630 478 420    680 674 598 412 400    662 626 552 334 310];pp = csape({x,y},z');xi = 100:10:500;yi = 100:10:400;cz = fnval(pp,{xi,yi});mesh(xi,yi,cz');

 

离散点:griddate函数。

clc,clearx = [129 140 103.5 88 185.5 195 105 157 107.5 77 81 162 162 117.5];y = [7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];z = -[4 8 6 8 6 8 8 9 9 8 8 9 4 9];xmm = minmax(x);ymm = minmax(y);xi = xmm(1):xmm(2);yi = ymm(1):ymm(2);zi1 = griddata(x,y,z,xi,yi','cubic');zi2 = griddata(x,y,z,xi,yi','nearest');% mesh(xi,yi,zi1);% zi = zi1;% zi(isnan(zi1)) = zi2(isnan(zi1));

 

转载于:https://www.cnblogs.com/TreeDream/p/8243033.html

你可能感兴趣的文章
直角三角形 (Standard IO)
查看>>
web 12
查看>>
Centos7安装Nginx
查看>>
探讨在线支付平台支付接口的设计
查看>>
【设计模式】常用设计模式总结
查看>>
.NET中的六个重要概念
查看>>
二十九、简谈设计模式
查看>>
js中数组的检测方法
查看>>
[译]GotW #6a: Const-Correctness, Part 1
查看>>
JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)...
查看>>
用Python学分析 - 单因素方差分析
查看>>
2018个人年终总结
查看>>
[编辑排版]小技巧---markdown 转 richText
查看>>
JSON_UNESCAPED_UNICODE
查看>>
bug解决思路
查看>>
Oracle没有WM_CONCAT函数的解决办法
查看>>
消息中间件——RabbitMQ(四)命令行与管控台的基本操作!
查看>>
Eclipse 写代码是自动重启服务
查看>>
3.8 spring - AbstractBeanDefinition 介绍
查看>>
如何在Visual Studio里面查看程序的汇编代码?
查看>>