我有一个具有相应温度和压力值的时间序列,并且我希望在保持时间序列顺序的同时将每个温度值绘制在相应的压力值下。
我试图按如下方法将温度值插值到压力网格上,
%让我们说
QuestionGroups
Tinterp = interp1(P,T,PO);
给出错误: 使用griddedInterpolant时出错 网格矢量必须包含唯一点。
interp1错误(第149行) F = griddedInterpolant(X,V,method);
我知道我必须在循环遍历所有列的循环中运行interp1函数。
T = temperature (23583 x 11);
P = pressure (23583 x 11);
t = time (23583 x 11);
PO=min(min)(P):1:max(max)(P); (1x52) %PO=pressure grid
但是,这已使Matlab运行了几个小时的continue循环。有人可以解释我在做什么错。
我想用Y轴上的PO和x轴上的时间以及TO作为我的Z值来创建一个填充轮廓图。
答案 0 :(得分:0)
尝试使用unique
函数删除重复项,
T = randi([0 25],1,23583); % random temperature values
P = randi([800 1000],1,23583); % random pressure values
t = [1:1:23583]; % time
PO=min(P):1:max(P); %PO=pressure grid
[P, index] = unique(P);
Tinterp=interp1(P,T(index),PO);