Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2023, 23:27   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию Найти формулу графика по точкам

Доброго времени суток!

Просьба ногами сразу не бить, школу я закончил в 1997, с тех пор знания о которых сейчас пойдёт речь, ни разу не использовал. Так что подзабыл. Просьба разъяснить или направить на пусть истины.

Есть данные измерения уровня воды в скважине. Нужно получить формулу которая позволит узнать уровень воды в зависимости от времени. Число точек может быть разным от 4 до 10. Время можно представить в виде числа секунд прошедших с начала измерения.
Код:
м	15,1	26,5	39	40,3	40,8	40,95	43,6
Время	0:00:00	0:01:08	0:11:08	0:16:08	0:22:08	0:30:08	1:31:00
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 20.05.2023, 11:16   #2
Steelcraft
Форумчанин
 
Регистрация: 13.03.2023
Сообщений: 111
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Просьба разъяснить или направить на пусть истины.
Посмотрите в сторону интерполяции.
Steelcraft вне форума Ответить с цитированием
Старый 20.05.2023, 11:52   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от Steelcraft Посмотреть сообщение
Посмотрите в сторону интерполяции.
Разбить на линейные части, и отработать каждую в отдельности с нужны шагом?
Так сейчас и делаю. Но:
1) процесс громоздкий. Как сами расчёты так и хранимые данные.
2) он не учитывает, что параметры меняются не линейно и скорость движения водяного столба каждой точке, отлична от любой соседней. Например, водяной столб на отметка 39,2 от опускается быстрее, чем в отметке 40,0. Но обе это отметки сейчас лежат в одном линейном участке.
3) если придётся выходить за границы ранних измерений, расчёт можно провести только по данным ближайшего линейного куска, по сути искусственно продлевая его.

Я надеюсь разрешить эти проблемы при переходе к расчёту параболы. Но парабола получается не симметричная, точек больше 3, и пока не удалось найти материал как рассчитать её формулу в таких условиях.
С уважением, Алексей.

Последний раз редактировалось tae1980; 20.05.2023 в 11:54.
tae1980 вне форума Ответить с цитированием
Старый 20.05.2023, 12:20   #4
Steelcraft
Форумчанин
 
Регистрация: 13.03.2023
Сообщений: 111
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Разбить на линейные части, и отработать каждую в отдельности с нужны шагом?
Так сейчас и делаю.
В чем смысл спрашивать советов, если Вы их все равно не читаете?

По ссылке, что я привел, приведено множество вариантов интерполяции разной степени сложности и затрат на вычислительные ресурсы и, как следствие, различной гладкости результата. Линейная интерполяция - лишь самый простой и грубый способ. Посмотрите, к примеру, те же сплайны.

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Я надеюсь разрешить эти проблемы при переходе к расчёту параболы. Но парабола получается не симметричная, точек больше 3, и пока не удалось найти материал как рассчитать её формулу в таких условиях.
Похоже, Вы уверенно движетесь к тому, чтобы переизобрести интерполяционный многочлен Лагранжа. Я бы не стал, это уже сделано пару веков с изрядным хвостиком тому назад. Только у параболы маловата степень полинома, возьмите хотя бы куб. Кубические сплайны уже выглядят достаточно гладко.

Материала уймища. Возьмите любой вузовский учебник по вычислительным методам, там обязательно будет изрядная глава по методам интерполяции с готовыми рецептами. Ну и на гитхабе этого добра валом.
Steelcraft вне форума Ответить с цитированием
Старый 20.05.2023, 12:46   #5
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Steelcraft, так и хочется процитировать "папа, а с кем ты сейчас разговариваешь?" (с)
Я просмотрел вашу ссылку и ответил в меру моего понимания, из вашего ответа понял что оно явно не достаточное.
Я землеустроитель, геодезист, кадастровый инженер, скриптописатель на нескольких языках и бла,бла, бла. То есть кто угодно, только не математик. Из вашего ответа вынес следующие тезисы: не линейная интерполяция, интерполяционный многочлен Лагранжа и что-то про кубические сплайны. Кроме первого, обо всём слышу впервые. Но постараюсь разобраться.

Если у вас есть возможность в решении вопроса на коммерческой основе, готов рассмотреть такое решение вопрос.
Сейчас есть данные по двум скважинам (опускание и подъём водяного столба). Но нужен универсальный, простой механизм для получения формул для "любого" числа скважин. Подробности могу рассказать в личку.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 20.05.2023, 13:30   #6
Steelcraft
Форумчанин
 
Регистрация: 13.03.2023
Сообщений: 111
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Я землеустроитель, геодезист, кадастровый инженер, скриптописатель на нескольких языках и бла,бла, бла. То есть кто угодно, только не математик.
...
Но постараюсь разобраться.
OK. Тогда постараюсь пояснить менее формально.

У Вас есть несколько точек некоторой функции (скажем, уровень воды в разные моменты времени), полученных экспериментально. Вы нанесли их на график и хотите провести через них достаточно гладкую кривую, как по лекалу, которая даст приблизительные значения функции в произвольные моменты времени, а не только в те, когда производились измерения.

Представьте себе, что Вы забили по гвоздику в каждую из измеренных точек, а потом проложили по этим гвоздикам упругую стальную линейку. Это и есть сплайн в реальном мире. За счет упругости линейка не желает переламываться в точке, а проходит гладко и слева, и справа от нее. Если я Вас правильно понял, это именно то, что Вы желаете получить.

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Если у вас есть возможность в решении вопроса на коммерческой основе, готов рассмотреть такое решение вопрос.
tae1980, у меня есть ценный ресурс в виде группы студентов, у которых я веду занятия. Могу предложить им эту задачу. Если их заинтересует Ваше предложение, я сообщу.
Steelcraft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти формулу которы бы смог найти через сколько тиражей повторяется одно итоже цифра Jasur_z Microsoft Office Excel 6 03.04.2018 13:23
Найти центр сферы по 4 точкам на ее поверхности Excalibur921 Общие вопросы C/C++ 3 29.06.2014 01:35
построение графика по заданым пользователем точкам Olga02.02 Компоненты Delphi 1 09.06.2014 13:44
Построение графика по заданным точкам Delphi anthonyk Помощь студентам 7 26.12.2012 13:03
построение графика по точкам Delphi Ilya_L Помощь студентам 1 22.11.2010 13:56