IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Реализация линейной интерполяции на паскале
Max2012
сообщение 30.01.2012 23:19
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Здравствуйте!
такая проблема.

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

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 31.01.2012 14:53
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Max2012
сообщение 31.01.2012 22:53
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Цитата(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) в заданных зачениях х, этой интерполяц функци. Значения х они то же вычисляются заранее.

Нагляднее когда смотреть на графики.

Сообщение отредактировано: Max2012 - 31.01.2012 23:13


Прикрепленные файлы
Прикрепленный файл  83.xls ( 18 килобайт ) Кол-во скачиваний: 132
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 1.02.2012 9:40
Сообщение #4


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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

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

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

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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Max2012
сообщение 1.02.2012 17:07
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Цитата(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) в заранее вычесленных х

Сообщение отредактировано: Max2012 - 1.02.2012 17:36
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 2.02.2012 8:48
Сообщение #6


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> я должен в нескольких x (которые заранее вычисляются) снять f(x)

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

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

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

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

Получив несколько f(x) при том p, что нам надо, мы уже может fp ещё раз проинтерполировать и получить её значение при нужном нам иксе.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 3:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"