Помощь - Поиск - Пользователи - Календарь
Полная версия: Реализация линейной интерполяции на паскале
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Max2012
Здравствуйте!
такая проблема.

Заданы функции таблично, отличающиеся друг от друга на параметр p=0,6,p=0,8,p=1,p=1,2,p=1,4 (они заранее известны)
Допустим в процессе вычислений оказалось p =0.7
нужно что бы алгоритм выстроил функцию (т.е она должна быть где то м/у 0,6 и 0,8) а потом снял значения функции при заданных значениях аргумента (аргументы в которых вычисляется известны)

TarasBer
Что-то я не врубился.
Первая функция известна, известно, что вторая больше неё на 0.7, надо вычислить вторую? В чём проблема?
Max2012
Цитата(TarasBer @ 31.01.2012 14:53) *

Что-то я не врубился.
Первая функция известна, известно, что вторая больше неё на 0.7, надо вычислить вторую? В чём проблема?



p это просто параметры. Есть несколько функций (заданы таблично) отличаются друг от друга параметром p. Т.е это значит вычисляется параметр p (допустим он равен 0,8) , то можно взять и начать интерполировать по x . Но если в p получается 0,9 , то значения этой функции (Те значения функций которые которые надо найти интерполяцией) будут лежать м/ у значениями функц с параметром p=0,8 (задана) и p=1 (задана)
Т.е тут два раза интерполяция происходит сначала строится функц. которая м/у двумя близкими кривыми, потом интерполяция по x.

Алгоритм примерно такой
-сначала вычисляется параметр p , допустим он равен (p=0,9) .
-По кривым (методом интерполяции) с параметром p=0,8 и 1, алгоритм строит функцию которая соответствует функц. с парам p=0,9
-Далее нужно что бы алгоритм снял те значения f(x) в заданных зачениях х, этой интерполяц функци. Значения х они то же вычисляются заранее.

Нагляднее когда смотреть на графики.
TarasBer
> Есть несколько функций (заданы таблично) отличаются друг от друга параметром p.

То есть есть fp(x)? Читаем дальше...

> Т.е это значит вычисляется параметр p (допустим он равен 0,8) , то можно взять и начать интерполировать по x .

Ошибка понимания: слову "то" не соответствует ни одного "если". Чтение текста прервано.
Max2012
Цитата(TarasBer @ 1.02.2012 9:40) *

> Есть несколько функций (заданы таблично) отличаются друг от друга параметром p.

То есть есть fp(x)? Читаем дальше...

> Т.е это значит вычисляется параметр p (допустим он равен 0,8) , то можно взять и начать интерполировать по x .

Ошибка понимания: слову "то" не соответствует ни одного "если". Чтение текста прервано.



Просто, взгляните на графики. Есть несколько функций . По ним пострjены графики.

Мне нужно снять несколько f(x).

Как я снимаю.
1)Вычисляю параметр p
2) Если он совпадает с каким то данным графиком (а каждый график соответствует отдельному p-число парметр), я должен в нескольких x (которые заранее вычисляются) снять f(x)
3) Если p не совпадает с теми что есть?
надо достроить (проинтерполировать) м/у двумя f(x), построить новую.
4) Снять с новой (построенной) кривой несколько f(x) в заранее вычесленных х
TarasBer
> я должен в нескольких x (которые заранее вычисляются) снять f(x)

Путём интерполяции fp по икс? Ну ладно.

> 3) Если p не совпадает с теми что есть?
надо достроить (проинтерполировать) м/у двумя f(x), построить новую.

Всё, я понял.
Надо интерполировать f по p во всех точках x, что даны.

То есть какой-нибуд икс, для которого в таблице есть fp.
Фиксируем этот икс.
И интерполируем по p. Вычисляем значение при том p, которое надо.

Получив несколько f(x) при том p, что нам надо, мы уже может fp ещё раз проинтерполировать и получить её значение при нужном нам иксе.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.