【MATLAB第28期】源码分享 您所在的位置:网站首页 线性插值计算器 【MATLAB第28期】源码分享

【MATLAB第28期】源码分享

2023-04-19 07:59| 来源: 网络整理| 查看: 265

## 【MATLAB第28期】源码分享| 基于MATLAB的五种插值方法合集(线性、三次、三次样条、最邻近、分段三次Hermite),解决多变量样本空值插值,以及零值插值

**免费提供试用版代码,可自行运行计算结果。**

## 1.数据要求

(1)数据均为数值格式。

(2)每行为不同变量的值。

(2)首尾数据得有值,不能空缺。

## 2.插值方法

(1)线性插值

(2)三次插值

(3)三次样条插值

(4)最邻近插值

(5)分段三次Hermite插值

## 3.插值思路

(1)提取非零或者非空对应的数据进行插值

(2)找到对应非零或者非空的行以及列

(3)使用五种方法,用for循环分别对提取后的残缺合集进行插值

(4)对插值结果赋值为datanew1~5

(5)将插值的结果替换原来的非零或者非空数据

(6)判断插值结果是否为负

## 4.插值数据

(1)空值插值

(2)零值插值

## 5.插值结果

插值结果不一一举例,选取线性插值结果进行展示。

(1)空值插值

(2)零值插值

## 6.主程序代码展示(部分)

(1)空值插值

clc,clear; data=xlsread('randNaNExample.xlsx','Sheet1'); %提取数据分析1数据 data1=data(:,1:end);% [M,p1,p2,p3,p4,p5] = mynan(data); finaldata1=data1;% 线性插值结果 finaldata2=data1;% 三次插值结果 finaldata3=data1;% 三次样条插值法结果 finaldata4=data1;% 最邻近插值法结果 finaldata5=data1;% 分段三次Hermite插值预测结果 %判断p有没有负数 for i=1:size(M,1) cc1{i,1}=find(p1{i,1}


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有