【Matlab】线性插值

例:

有一组函数,x=0:10:100,y=f(x),想线性插值的方式求函数值,例如:

x=2.5,根据x=0、f(0)、x=10、f(10)插值求x=2.5时的值

x=-10,根据x=0、f(0)、x=10、f(10)插值求x=-10时的值

x=55,根据x=50、f(50)、x=60、f(60)插值求x=55时的值

x=101,根据x=90、f(90)、x=100、f(100)插值求x=101时的值

注:此情况下,内插精度较高

代码:

主代码:

matlab 复制代码
%线性插值只有内插时精度是最好的
clc
clear
close all
%%
x=0:1:100;
y=sin(x);
x0=9.05;
y0=ChaZhi(x,y,x0)
%%
figure(1)
plot(x,y,'b-')
hold on
plot(x0,y0,'r*')

插值函数:

matlab 复制代码
function y0=ChaZhi(x,y,x0)%x是行矩阵
%%
xx=sort([x,x0]);
label=find(xx==x0);%找到x0的标签
label=label(1);
%% 找最近的两个数,超范围了就取最小/大的两个值
if label==1
    x1=xx(2);y1=y(1);
    x2=xx(3);y2=y(2);
elseif label==length(xx)
    x1=xx(length(xx)-1);y1=y(length(y));
    x2=xx(length(xx)-2);y2=y(length(y)-1);
else
    x1=xx(label-1);y1=y(label-1);
    x2=xx(label+1);y2=y(label);
end
%% 线性插值
y0=y2-(y2-y1)/(x2-x1)*(x2-x0);
相关推荐
fengfuyao9852 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
极客数模4 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab
天涯铭10 小时前
线控与斩控MATLAB分析
matlab·simulink·线控·斩控·fft分析
调皮连续波(rsp_tiaopige)10 小时前
毫米波雷达 : OpenRadar(Matlab版本)正式发布
开发语言·matlab
起风的蛋挞15 小时前
Matlab提示词语法
前端·javascript·matlab
然哥依旧1 天前
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
算法·支持向量机·matlab·cnn
jllllyuz2 天前
基于MATLAB的锂电池物理对象建模实现
开发语言·matlab
Evand J2 天前
【MATLAB例程】无人机三维路径规划|A*,RRT(快速随机树算法), APF(人工势场法)算法对比|可自定义起终点、障碍物坐标。附下载链接
算法·matlab·无人机·astar·路径规划·rrt·apf
cici158742 天前
基于MATLAB的四旋翼无人机三维动态仿真实例
开发语言·matlab·无人机
小文数模2 天前
2026年美赛数学建模C题完整参考论文(含模型和代码)
python·数学建模·matlab