Как с минимумом вычислительных операций построить линейную интерполяцию по двум точкам?
Линейная интерполяция
Сообщений 1 страница 9 из 9
Поделиться22010-03-11 21:16:56
2 суммы и одно умножение устроит ?
Поделиться32010-03-12 09:53:36
конечно устроит потому что это и есть минимум операций при линейной интерполяции
Поделиться42010-03-16 21:09:25
Напишите пожалуйста формулу. У меня всегда получается два деления. (это всё равно что два умножения по моему, или я не прав?)
Поделиться52010-03-16 22:03:55
Напишите пожалуйста формулу. У меня всегда получается два деления. (это всё равно что два умножения по моему, или я не прав?)
Y=(Y2-Y1)*dX+Y1,
где Y2,Y1 - ординаты функции
dX - разница аргументов
Поделиться62010-03-16 23:27:10
всё же немного непонятно что здесь означает dX?
Допустим имеем X1 = 4;
X2 = 7;
Y1 = 2;
Y2 = 3;
Нужно найти Y в точке X = 6;
по этой формуле Y = (Y2-Y1)*dX + Y1;
Есть формула лин. интерполяции http://ru.wikipedia.org/wiki/Линейная_интерполяция
здесь одно деление и одно умножение. Как уменьшить кол-во операций?
Может если учесть, что интервал аргумента разбит на равные части между двумя известными значениями, тогда удасться снизить кол-во операций?
Поделиться72010-03-16 23:35:28
всё же немного непонятно что здесь означает dX
dX = 1/ (X2-X1)
Может если учесть, что интервал аргумента разбит на равные части между двумя известными значениями, тогда удасться снизить кол-во операций?
Количество операций для линейной интерполяции не зависит от интервала разбиения. Посмотрите сплайн-аппроксимацию
Поделиться82010-03-16 23:54:13
По вашей формуле выходит Y = (Y2-Y1)/(X2-X1) + Y1;
что-то нето)))
вы забыли кое что. Нужно так: Y = ((Y2-Y1)/(X2-X1))*(X-X1) + Y1
но это тот же самый линейный Лагранж... видать уменьшить кол-во операций нельзя...
Поделиться92010-03-17 00:02:20
вы забыли кое что. Нужно так: Y = ((Y2-Y1)/(X2-X1))*(X-X1) + Y1
Да. забыл про смещение