给定若干点进行线性差值Matlab代码

本文介绍使用Matlab进行一维点线性插值的方法,并通过添加正态分布噪声来模拟真实世界的数据波动。从原始数据点出发,通过linspace函数实现等间距插值,再利用normrnd函数添加随机噪声,最终绘制处理后的数据曲线。
摘要由CSDN通过智能技术生成

给定若干一维点,进行线性差值,增加了正太噪声

Matlab代码

%% 初始数据准备
% 原始数据
x=[-60 -22 -6 0 11 15 70];
y=[0 0.43 1.6 1.89 1.65 0.64 0];

[~,num]=size(x);% 获取数据量

% 对x和y进行分段并且对应
xx=[];
yy=[];
NumPts=150;
for i=1:(num-1)
   newrow=linspace(x(i),x(i+1),NumPts);
   newcol=linspace(y(i),y(i+1),NumPts);
   xx=[xx,newrow];
   yy=[yy,newcol];
end

% 添加随机噪声
[~,ysize]=size(yy);
amp=0.18;
% ynoise=amp*(rand(1,ysize)-1);
ynoise=normrnd(0,amp/6,1,ysize);
yy=yy+ynoise;
yy=yy-yy(1);
figure(1)
plot(xx,yy);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值