【matlab】代码库-一维线性插值

interp_1D函数:一维线性插值

摘要:该MATLAB函数interp_1D实现一维线性插值功能。首先检查输入点数组和值数组的维度一致性并统一转换为列向量。通过遍历查找给定点是否与查找表(LUT)中的点匹配,若未找到则进行线性插值计算:确定相邻上下界点,按比例计算插值结果。还处理了超出LUT范围的情况,直接返回边界值。函数支持非均匀间隔的输入点,并包含零斜率情况的特殊处理。

matlab 复制代码
function out = interp_1D(point,lut_ponit,lut_value)
% 查找当前绑点point对应的线性插值
% V1_20251202

%判断维度是都一致
[V,H,~]=size(lut_ponit);
[v,h,~]=size(lut_value);
num_1=max(V,H);
num_2=max(v,h);
if num_1~=num_2
    disp('数组大小不一致')
end

num=num_2;

if H>V
    lut_ponit=lut_ponit';
end

if h>v
    lut_value=lut_value';
end
%都转换成竖向的表格



%检查point是否和LUT列表数值某一个一样
for i=1:num
    if point==lut_ponit(i)
         out=lut_value(i);
    end
    
end


%筛选上下绑点
for i=1:num-1
    if point>lut_ponit(i) && point<lut_ponit(i+1)
        if (lut_value(i+1)-lut_value(i))~=0
        out=lut_value(i)+(point-lut_ponit(i))*(lut_value(i+1)-lut_value(i)) / (lut_ponit(i+1)-lut_ponit(i));
        else
            out=lut_value(i);
       end
    end

    if point>lut_ponit(num)
        out=lut_value(num);
    end

end
相关推荐
Zootopia6266 小时前
飞行力学知识梳理1|飞行性能与稳定性
人工智能·python·算法·机器学习·无人机·学习方法·信息与通信
longlongzihan6 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?
c++·算法·leetcode·动态规划
2601_960356387 小时前
2027校招采购岗解析:数学基础如何迁移到需求预测、成本与供应商分析
人工智能·算法
h_a_o777oah7 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO97 小时前
指针的算术运算详解
java·数据结构·算法
Coder-magician7 小时前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
垆边人似月.7 小时前
VLAN 资源池(100~200 分档)
数据结构·算法
潼心1412o8 小时前
C++初阶(长期更新)第6讲:类和对象(下)
开发语言·c++·算法
星光开发者9 小时前
基于决策树随机森林算法的小说推荐系统的设计与实现-计算机毕设【课程设计】78485
vue.js·算法·微信小程序·django·php·课程设计·express
-森屿安年-9 小时前
按身高排序
c++·算法