У меня есть две функции, определенные парами [x,y]
, где y = f(x). Это результаты двух разных решателей оды. Я могу легко построить их, но меня интересует разница между ними. Поскольку они поступают из разных решателей, они имеют разные векторы x и длины. Мне было интересно, есть ли в MATLAB какой-либо инструмент для этого. Потребуется некоторое усреднение для интерполяции значений f(x) для x другой функции.
Разница между значениями функций для двух функций, заданных парами чисел
Ответы (1)
Я поступил бы примерно так, как сказал Дэн. Скажем, ваши 2 функции заданы (x1,y1)
и (x2,y2)
. Если вы не хотите экстраполировать, вам следует посмотреть на пересечение двух диапазонов.
a=max(min(x1), min(x2));
b=min(max(x1),max(x2));
CommonX=linspace(a,b,100);
plot(CommonX,interp1(x1,y1,CommonX)-interp1(x2,y2,CommonX))
person
tchnvkng
schedule
12.06.2014
interp1
, это должно быть прямолинейно. Вы бы назвали это как-то так:Yb_interpolated = (Xb, Yb, Xa)
, а затем вы можете вычестьYb_interpolated
изYa
. - person Dan   schedule 12.06.2014