Я пытаюсь интерполировать пару смоделированных точек qmu
и qy
, используя координаты оси Y экспериментальных данных qL_nw
.Таким образом, идея состоит в том, чтобы заблокировать значения Y и найти X-корреспондента в моих смоделированных данных.Хотя я получаю сообщение об ошибке, что в моих значениях слишком много дубликатов, я организовал это с помощью [qmu, qy] = unique(qmu,'stable');
, чтобы оно работало.Проблема в том, что не имеет значения, какой метод интерполяции я использую, или я получаю одинаковое значение для всего вектора, или я получаю NaN и некоторые повторяющиеся значения в конце.Пока мой код:
[qmu, qy] = unique(qmu,'stable'); %Excluding duplicate numbers
iq5_2 = interp1(qy/h,qmu/max(qmu),qL_nw,'linear');
Все переменные являются векторами.
Пока linear
возвращает все NaN, pchip
повторные значения и nearest
частичный NaN и конец повторногоценности.Я не могу найти ошибку в этом коде, может кто-нибудь помочь мне с этим?
Простыми словами:
У меня есть пара векторов Xs
и Ys
и третий вектор Ye
, и я хочу найти интерполированный вектор X
, основанный на Ys
и Ye
.Хотя результаты не имеют смысла, независимо от метода интерполяции, или он использует всю Nan или имеет одинаковые значения вдоль вектора, с этим кодом:
Xs = [1 2 3 4];
Ys = [0.5 0.8 1.3 1.8];
Ye = [0 0.5 1 2];
[Xs, Ys] = unique(Xs,'stable');
Xinterpolated = interp1(Ys,Xs,Ye,'linear');
Цель всего этого - сравнить дваисточники (Xs,Ys
и Xe,Ye
), поэтому я могу найти стандартное отклонение и rmse.