【问题标题】:Matlab using Interp1 for interpolation of matrx data setMatlab 使用 Interp1 对 matrx 数据集进行插值
【发布时间】:2016-04-08 15:45:22
【问题描述】:

我有一个包含离线和在线数据的大型数据集,离线数据仅每两个小时采集一次,因此希望在间隙之间进行插值。缺少数据的地方用 -9.999 代替。我希望插值以估计这些值。我的想法是找到集合中的缺失值以与时间间隔进行比较,但我无法让它工作

这是我目前所拥有的:

iv = 33; % column which holds cell weight
ind = find (Data(:,iv)<0);  % find the indices of missing values
Interp_iv = interp1 (Data(ind,2),Data(ind,2),Data(:,2),'spline')

【问题讨论】:

  • 第一个参数和第二个参数是一样的。 data 包含什么?您能否提供有关其结构的更多详细信息?
  • 数据是一个 4750 x 49 的数值数组,它有在线变量,如时间、温度、饲料等,以不同的时间间隔(大约每 0.2 小时)进行多批次,它也有离线变量,这些变量是每 2 小时取一次,这意味着在两个小时之间我有 -9.990 又名不是 NaN(这些是我想用插值替换的值,

标签: matlab interpolation missing-data


【解决方案1】:

你的 x 和 v 是一样的试试这个:

interp1 (Data(ind,2),Data(ind,iv),Data(:,2),'spline')

【讨论】:

  • 这是我不断收到的错误消息:使用 griddedInterpolant 时出错 网格向量必须包含唯一点。 interp1 中的错误(第 161 行) F = griddedInterpolant(X,V,method); DataTreatment 中的错误(第 10 行) D = interp1 (Data(ind,2),Data(ind,iv),Data(:,2),'spline')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2015-07-01
相关资源
最近更新 更多