LINUX.ORG.RU

Интерполирование несвязанных полиномов (?)

 


1

1

Есть 6 экспериментальных кривых для различных температур. В Excel можно построить линии тренда, описанные полиномами 5 и 6 степени.

Нужно находить Y при заданном X для промежуточных значений температур.

В каком направлении гуглить?

Перемещено leave из talks

Ответ на: комментарий от Deleted

Линию тренда можно добавить к существующей кривой. А как быть, если есть кривая для 500 градусов, 600 градусов, а мне нужны значения при 521 градусе?

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

если есть кривая для 500 градусов, 600 градусов, а мне нужны значения при 521 градусе?

Считаешь для 500, считаешь для 600, интерполируешь для 521 межу 500 и 600.

Deleted
()
Ответ на: комментарий от the_real_kinik

Т.е. характер протекания у кривых подобен.

Как это отменяет мои слова:

P500 = F(T=500,...)
P600 = F(T=600,...)
P521 = (79*P500 + 21*P600)/100
Deleted
()
Ответ на: комментарий от Deleted

Да, спасибо за подсказку, так и попробую делать.

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

Линейная интерполяция, думаю, вполне прокатит.

Не, ну можешь таким же макаром коэффициенты двух трендов синтерполировать и получишь тренд для 521градуса.

Deleted
()
Ответ на: комментарий от Deleted

Я поначалу и думал о том, чтобы получать тренды для каждой температуры, но это более геморно, потому и создал тему, чтоб узнать более простые варианты.

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

но это более геморно

Зато можно иметь нелинейную интерполяцию коэффициентов для более чем 2х трендов:

a0(T)=b00+b01*T+b02*T^2
a1(T)=b10+b11*T+b12*T^2
a2(T)=b20+b21*T+b22*T^2
...
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не совсем понял вашу формулировку. a – это коэффициенты при X для искомого полинома, а b – коэффициенты при X исходных полиномов? Прошу прощения за тупняк.

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

Не совсем понял вашу формулировку

Попробую устранить лишние трактовки.

У тебя набор из трёх трендов:

T=400: f400(X)=a0+a1*X+a2*X^2+...
T=500: f500(X)=a0+a1*X+a2*X^2+...
T=600: f600(X)=a0+a1*X+a2*X^2+...

В каждом уравнении тренда коэффициенты свои. Заносим их в таблицу и строим график по каждому коэффициенту:

T   a0 a1 a2
400 .. .. ..
500 .. .. ..
600 .. .. ..

Для каждого коэффициента строим тренд от T (a0(T), a1(T), a2(T),...). Для конкретного T по полученным трендам получаем коэффициенты: a0(521), a1(521), a2(521). По полученным коэффициентам получаем конкретные значения для конкретных X.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от the_real_kinik

Зачем линейная? Возьми функцию, описывающую твой процесс, ей и интерполируй. Коэффициенты возьми с опорных точек. Ошибка будет меньше, чем при линейной интерполяции.

aiqu6Ait ★★★★
()
Ответ на: комментарий от aiqu6Ait

Возьми функцию, описывающую твой процесс

У ТС нет такой функции.

Ошибка будет меньше

Меньше чего? (см. выше)

Deleted
()
Ответ на: комментарий от the_real_kinik

Специализированный софт

Какой к чорту «специализированный»? Обычный gnumeric.

Deleted
()
Ответ на: комментарий от the_real_kinik

Я не знаю, как их строить

А как же гугол: «Mathcad Б - сплайны»:

Функции > Анализ данных > Интерполяция и прогнозирование > Интерполяция B-сплайном

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Да. Ты таки быстро «сэрегировал» :)

Потом прочитал уже...

Я к стати не в курсе (нужно ли/можно ли) применять именно сплайны Бизье в случае ТС. Это только сравнение с более точными данными опытов может показать.

Совершенно точно знаю, что они очень хорошо работают для отрисовки кривых в компьютерной графике. Всякое векторное моделирование. Так же Б-сплайны успешно используются для некоторых типов сжатия изображений.

HIS
()
Ответ на: комментарий от the_real_kinik

Что-то я не додумался. Линейная интерполяция, думаю, вполне прокатит.

Студенческая лаба? Тогда, конечно, прокатит. Там и из пальца можно данные высосать, и тоже прокатит.

Чтобы интерполировать данные тебе нужна математическая модель. Вот ты сказал красивую фразу

В Excel можно построить линии тренда, описанные полиномами 5 и 6 степени.

А, собственно, почему ты считаешь что твои данные должны быть описаны именно полиномом? Да еще и нетвердо уверен полиномом какой именно степени. Чем такая интерполяция, по твоему, будет отличаться от такого зарекомендовавшего себя метода интерполяции как «пальцем в небо»? Тем, что ее сделал компьютер, и следовательно она верна?

morse ★★★★★
()
Ответ на: комментарий от morse

Студенческая лаба?

Как бы ни было это смешно или грустно , но это не лаба.

А, собственно, почему ты считаешь что твои данные должны быть описаны именно полиномом? Да еще и нетвердо уверен полиномом какой именно степени.

Любой полином неправильно описывает эту зависимость, поэтому буду разбираться со сплайнами, как и рекомендовал @HIS.

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

поэтому буду разбираться со сплайнами

Так он предлагал B-сплайны, а можно пробовать и обычными сплайнами. И то, и то в MathCad-е на равных.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от the_real_kinik

Разобраться в их соответствии для твоих нужд - это хорошо. Но я не настаиваю именно на них. Просто предложил как вариант.

HIS
()
Ответ на: комментарий от the_real_kinik

Любой полином неправильно описывает эту зависимость, поэтому буду разбираться со сплайнами

При чем здесь вообще сплайны? Тебе нужна физическая модель. У тебя данные описывают результаты физического эксперимента, а значит тебе их надо положить на физическую модель. А ты все пытаешься красивую картинку нарисовать.

morse ★★★★★
()
Ответ на: комментарий от morse

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

А ТС головой не двинется, подгоняя данные под некую «теорию»?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

А ТС головой не двинется, подгоняя данные под некую «теорию»?

Если у ТСа плохо с головой, пусть идет мести улицы, там голова не нужна. А вот если он собирается интерполировать результаты физических экспериментов, тут без головы никуда.

morse ★★★★★
()
Ответ на: комментарий от morse

Если у ТСа плохо с головой

Нет. Это не у ТС плохо с головой. У него графики связи давления на образец к деформации. Имеются участки «псевдоупругой», «пластической» и «остаточной» деформации. В каждой зоне процесс отличается. Попробуй объедини всё в одну физмодель?

Deleted
()
Ответ на: комментарий от Deleted

Попробуй объедини всё в одну физмодель?

А попробовать заинтерполировать это без физ модели тебя, значит, не напрягает? Берем первое попавшееся среднее и подставляем, так? Узнаем новое прикольное слово «сплайн», и используем его, потому что а почему бы и нет? Ну тогда зачем вообще все это, давай по-дедовски, логарифмической линейкой, раз-два-промахнулись! Ну подумаешь там плюс-минус лапоть, все равно работяги пилить «на глаз» будут.

morse ★★★★★
()
Ответ на: комментарий от morse

А попробовать заинтерполировать это без физ модели тебя, значит, не напрягает?

Открою секрет, именно так и делают, особенно доктора наук. Потому что с головой дружат.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Именно как делают? Используют первый попавшийся метод, не потому что он применим, а потому что им лень делать по нормальному? Ну может такие и есть, вот только про голову их я бы выводы делал другие.

morse ★★★★★
()
Ответ на: комментарий от morse

Именно как делают?

Используют P-E кривые испытания образцов, применяя различные методы интерполяции, в том числе и линейные.

Deleted
()
Ответ на: комментарий от morse

только про голову их я бы выводы делал другие

Ты просто не в «теме». Потому и выводу у тебя сломиголовые.

Deleted
()
Ответ на: комментарий от Deleted

применяя различные методы интерполяции, в том числе и линейные.

Ну хоть «различные» а не всегда одни и те же, и то радует. Теперь осталось самую малость: понять на основании чего же они решают какой именно метод и в каком случае применить. Сразу предупрежу, что основания «потому что он простой» или «потому что эксель других не поддерживает» являются плохими, никуда не годными основаниями.

morse ★★★★★
()
Ответ на: комментарий от morse

Тебе нужна физическая модель

Физической моделью может являться обособленная установка, устройство или приспособление, позволяющее производить физическое моделирование путём замещения изучаемого физического процесса подобным ему процессом той же физической природы.

Это же дикий оверхэд!

Тысячами (или даже сотнями тысяч) раз проверенный экспериментами ANSYS Mechanical вполне довольствуется пятью - шестью кривыми деформаций для различных температур интерполируя их при необходимости.

the_real_kinik ★★
() автор топика
Ответ на: комментарий от the_real_kinik

интерполируя их при необходимости.

Так и как? Каким образом? Тут весь тред именно об этом и идет спор: на основании чего выбрать метод интерполяции?

morse ★★★★★
()
Ответ на: комментарий от morse

Так и как? Каким образом?

А это уже зависит от «распущенности» «автора», т.к. ни под один метод интерполяции (ни под один!) толково «физику» не подведёшь.

PS: Ты не сможешь доходчиво объяснить значения коэффициентов.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Shadow

Взять питон, взять scipy

Тред не читал. Тогда, к чему твой пост?

Deleted
()
Ответ на: комментарий от Deleted

Процедура, которую Вы предлагаете, может быть неустойчивой.

Если ТС-у не хватает линейной интерполяции по Т, то можно сделать кубическую/теми же бета-сплайнами интерполяцию по T.

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

Идеальный вариант - юзать какую то F(X) если точно известен ее вид. Если не известен - это уже скорее искусство чем наука (зависит от всяких доп требований, чего там именно ТС-у надо).

Ваш К.О.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

можно сделать кубическую/теми же бета-сплайнами интерполяцию по T
Интерполяции высокого порядка могут давать ложные экстремумы

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

Deleted
()
Ответ на: комментарий от Deleted

Высокий порядок по X (у ТС-а) а не по T - коэффициенты полинома могут оказаться несогласованы для промежуточной температуры и упс. Это к вопросу о неустойчивости той процедуры которую Вы предложили.

Остальное было про интерполяцию по T. Все таки параболическую интерполяцию используют редко, она несимметрична (по трем точкам - какую именно доп. точку брать, слева или справа?). Если только на границе области... Для четного числа точек получается полином нечетной степени.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

Это к вопросу о неустойчивости той процедуры которую Вы предложили.

Как какие то цифры сделают параболу неустойчивой? Можно вообще рандомные значения пхать и ничего не «сломается».

Для четного числа точек получается полином нечетной степени.

Можно и кубическую, но здесь зависит от того какие графики P-E есть в наличии. Но лепить сплайн не вижу смысла, четыре кривые проинтерполировал кубической параболой и хорош.

Deleted
()
Ответ на: комментарий от Deleted

Как какие то цифры сделают параболу неустойчивой? Можно вообще рандомные значения пхать и ничего не «сломается».

Параболу сложно «сломать». Но то что дает парабола потом подставляется в полином 5-6й степени (как ТС писал в исходном посте) - вот его сломать как нефиг делать.

Но лепить сплайн не вижу смысла, четыре кривые проинтерполировал кубической параболой и хорош.

Это и есть сплайн, только локальный;-) Более того, линейная интерполяция - это локальный сплайн первого порядка.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

Но то что дает парабола потом подставляется в полином 5-6й степени

Да. Только ТС «забыл», а скорее никто не обратил внимания, что для самих P-E кривых используется не интерполянт, а апроксимация. Улавливаешь куда я клоню?

Это и есть сплайн, только локальный;-)

В том то и дело, но нет необходимости в решении системы «звеньев».

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.