Cody matlab

Problem 72. Interpolator

You have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).

Note that va can land exactly on a value of a as well.

分析:你有两个向量,a和b,它们是单调的,长度相同。给定一个值va,其中va在a(1)和a(end)之间,求出a(n)和它旁边的a(n+1)。现在对值vb进行插值,使其在b(n)和b(n+1)之间成比例。请注意,va也可以精确地落在a的值上。

例如:

va = 3;  %差值点为3

a = [0 1 5 6 7 10];  %对应在1-5之间,所以a(2)-a(3)

b = [2 3 5 7 9 100];  %vb应该在b(2)-b(3)中间

vb = 4;  %(3+5)/2=4 线性插值

vb=interpolator(va, a, b)

 varargin指代的是一个函数的变输入参数列表。所谓的变输入参数列表:即varargin可以等价于任意不定个数的输入参数。

y=interp1(varargin{[2,3,1]})=interp1(v第二个参数,第三个参数,第一个参数)

y=interp1(a,b,va,'method'):a,b,为插值点,y为在被插值点va处的插值结果,method:nearest 最邻近插值,linear 线性插值,spline 三次样条插值,pchip立方插值,缺省为线性插值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值