【MATLAB第75期】#源码分享 | 基于MATLAB的不规则数据插值实现时间序列数据扩充

2023-09-15 11:34:18

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则数据插值实现时间序列数据扩充

如时间数据以单位1为间隔排序, 可插间隔为0.5的数据 。

一、实现效果

1.规则间隔数据

在这里插入图片描述
在这里插入图片描述

2.非规则间隔数据

在这里插入图片描述
在这里插入图片描述

二、主程序代码

1.插值测试效果

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据(时间序列的单列数据)
y= xlsread('数据集.xlsx');
N=size(y,1);
x=1:1:N;   % x也可以为不规则间隔插值  , 如x=sort(rand(N,1))
d=0.5;%间隔设置  ,根据x变量的间隔设置
p=0.01;%插值密度大于0,p值越小精度越高。

%% 测试插值效果
xt1=(x)';%测试样本 插值扩充后的x轴
xt2=xt1+p;%测试样本  插值偏移位置为 xt1和xt2坐标的中点
yti=cuts(x,y,xt2,xt1);%测试样本 插值结果
error = sqrt(sum((yti -y ).^2) ./ N);
  %绘图 
  figure()
  plot(x,y,'b-x',reshape([xt1 xt2]',[],1),reshape([yti yti]',[],1),'ro',mean([xt1 xt2],2),yti,'ro', 'LineWidth', 2)
  legend('实际值','插值')
xlabel('x')
ylabel('y')
string = {'测试集插值误差';['RMSE=' num2str(error)]};
title(string)
grid

2.正式插值

%% 正式插值
x1=(0.5:1:N-0.5)';%测试样本 插值扩充后的x轴
x2=x1+p;%测试样本  插值偏移位置为 xt1和xt2坐标的中点
yi=cuts(x,y,x2,x1);%测试样本 插值结果
  %绘图 
  figure()
  plot(x,y,'b-x',reshape([x1 x2]',[],1),reshape([yi yi]',[],1),'ro',mean([x1 x2],2),yi,'ro', 'LineWidth', 2)
  legend('实际值','插值')
xlabel('x')
ylabel('y')
string2 = {'插值效果'};
title(string2)
grid

3.非规则数据插值

自定义x区间范围,比如同样是100个样本,x轴编号通过随机在1:500中抽取100个数字作为x轴,y不变。也可以包含小数 ,或者自己随机定义。

xx = randperm(500); %
x=sort(xx(1:N));   % x也可以为不规则间隔插值

正式插值时x1改为:

x1=(1:10:500)';%测试样本 插值扩充后的x轴

三、代码获取

CSDN后台私信回复“75期”即可。

更多推荐

基于卷积神经网络的手写字体识别(详细笔记)

主要参考博客:1、基于卷积神经网络的手写数字识别(附数据集+完整代码+操作说明)2、用PyTorch实现MNIST手写数字识别(最新,非常详细)基于卷积神经网络的手写字体识别——目录1前言1.1实现效果1.2学习背景1.3关于MNIST手写数据集2残差网络2.1深度学习中的退化问题2.2残差网络结构2.3残差块的网络模

【网络】计算机网络基础

Linux网络对网络的理解在网络传输中存在的问题:找到我们所需要传输的主机解决远距离数据传输丢失的问题怎么进行数据转发,路径选择的问题有问题,就有解决方案;我们把相同性质的问题放在一起,做出解决方案解决方案设计成为层状结构,层内部高内聚,层于层之间低耦合。层状结构有利于减少后期维护成本,只需要对某一层的错误进行处理在L

VRP基础及操作

通用路由平台ARP是华为公司数据通信产品的通用操作系统平台实现统一用户界面和管理界面实现控制平面功能实现网络接口层相关技术说明:交换技术:vlan,trunk,stp,vtp,三层交换,以太网通道路由技术:静态路由,默认路由,hsrp,rip,ospf,单臂路由,nat安全技术:ACL,防火墙,vpn各种技术的作用:v

Go 工具链详解(五):竞态条件检测神器 Race Detector

并发编程可以提高程序的性能和稳定性,但也带来了一些挑战,如竞态条件。竞态条件是指并发程序中的多个线程同时访问共享资源,导致程序行为不确定的问题。为了避免竞态条件的产生,需要使用同步机制(如互斥锁、条件变量等)来协调线程之间的访问。然而,在复杂的程序中,竞态条件可能难以察觉,因此Golang提供了竞态条件检测工具Race

Vue.js路由及Node.js的坏境配置--超详细

一,Vue路由1.1路由是什么路由是用来管理应用程序中不同页面之间导航的概念。VueRouter是Vue.js官方提供的路由管理器,它允许我们通过定义路由规则和视图组件来配置路由1.2路由给我们带来的好处有哪些?单页应用(SinglePageApplication):路由使得我们能够在单个页面中展示多个视图,而不必每次

超详细-Vivado配置Sublime+Sublime实现VHDL语法实时检查

目录一、前言二、准备工作三、Vivado配置Sublime3.1Vivado配置Sublime3.2环境变量添加3.3环境变量验证3.4Vivado设置3.5配置验证3.6解决Vivado配置失败问题四、Sublime配置4.1Sublime安装PackageControl4.2Sublime安装VHDL插件4.3语法

STM32单片机中国象棋TFT触摸屏小游戏

实践制作DIY-GC0167-中国象棋一、功能说明:基于STM32单片机设计-中国象棋二、功能介绍:硬件组成:STM32F103RCT6最小系统+2.8寸TFT电阻触摸屏+24C02存储器+1个按键(悔棋)游戏规则:1.有悔棋键,点击后悔棋一步。2.有绿色提示线,提示当前该哪一方走棋了。3.不按照游戏规则走棋时,比如让

LabVIEW开发气动悬浮系统教学平台

LabVIEW开发气动悬浮系统教学平台目前,通过使用可编程逻辑控制器,几乎可以实现任何工业生产过程的自动化。工业自动化可以提高流程效率,提高生产水平并减少损失。在此背景下,介绍了工业自动化教育系统的设计和实现以及气动悬浮过程中的控制应用。该自动化系统基于PLCS7-1500和LabVIEW中设计的人机界面,用于监测气动

游戏开发之路

最近即将大四,面临实习和就业的问题,学校只想尽快把我们推出去,却不管前方是刀山还是火海。如果没有梦想,去哪里都是流浪。如果怀有梦想,你是否迷茫?我不是985也不是211,我不想使用Unity或Unreal,明明什么都没有我却想做出惊艳的3A作品。但现在实现不了梦想没关系,十年后也许可以实现梦想,二十年后也许可以实现梦想

Ae 效果:CC Hair

模拟/CCHairSimulation/CCHairCCHair(CC毛发)可以在源图像上模拟生成毛发、绒线等,并可调整它们的长度、方向、重量等属性,从而创建出非常独特的效果。CCHair本质上是基于Alpha通道来生成毛发,无毛发处将变为透明。比如,对于文本等矢量图层,它会基于Alpha通道的轮廓来生成毛发。◆◆◆效

企业怎么优化固定资产管理

在优化固定资产管理的过程中,不仅要关注硬件设备和设施的维护,还要重视软件系统和数据管理。一些可能的方法:需要建立一套完整的资产管理系统。这个系统应该包括资产的采购、登记、使用、维修、报废等各个环节的管理流程。通过这个系统,可以实时了解每个资产的状态,及时发现并解决潜在的问题。应该对固定资产进行定期的盘点和维护。这不仅可

热文推荐