Как получить полином из аналитической функции?

Форум для обсуждения вопросов математики

Модератор: Admin

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Как получить полином из аналитической функции?

Сообщение RomanB » Ср апр 16, 2014 3:01 pm

Добрый день всем!Встал такой вопрос. Мне задана аналитическая функция от 4-5 неизвестных, хотелось бы представить ее в виде полинома..линейного или второй степени. Например, F(x1,x2,x3,x4) и нужно представить ее в виде y=b0+b1*x1+b2*x2+b3*x3+b4*x4. Видится способ:перебрать множество значений, а потом по МНК представить в виде полинома. Но хотелось бы узнать есть ли еще какие-либо способы конвертирования функции? Предпочтительнее было бы чтобы все происходило не численно, а аналитически. Всем спасибо!

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Re: Как получить полином из аналитической функции?

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 7:18 pm

RomanB писал(а):Добрый день всем!Встал такой вопрос. Мне задана аналитическая функция от 4-5 неизвестных, хотелось бы представить ее в виде полинома..линейного или второй степени. Например, F(x1,x2,x3,x4) и нужно представить ее в виде y=b0+b1*x1+b2*x2+b3*x3+b4*x4. Видится способ:перебрать множество значений, а потом по МНК представить в виде полинома. Но хотелось бы узнать есть ли еще какие-либо способы конвертирования функции? Предпочтительнее было бы чтобы все происходило не численно, а аналитически. Всем спасибо!
Пожалуйста, уточните формулировки: Что Вы называете аналитической функцией? Как вы понимаете "перебрать множество значений"? Вопрос может и упасть.

Kitonum
Сообщения: 2080
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: Как получить полином из аналитической функции?

Сообщение Kitonum » Ср апр 16, 2014 7:36 pm

RomanB писал(а):Добрый день всем!Встал такой вопрос. Мне задана аналитическая функция от 4-5 неизвестных, хотелось бы представить ее в виде полинома..линейного или второй степени. Например, F(x1,x2,x3,x4) и нужно представить ее в виде y=b0+b1*x1+b2*x2+b3*x3+b4*x4. Видится способ:перебрать множество значений, а потом по МНК представить в виде полинома. Но хотелось бы узнать есть ли еще какие-либо способы конвертирования функции? Предпочтительнее было бы чтобы все происходило не численно, а аналитически. Всем спасибо!

Аналитическая функция в окрестности любой точки хорошо приближается своим рядом Тейлора по соответствующим степеням.

Пример:

mtaylor(sqrt(4+x1+3*x2^2-2*x3^2+x4^2),[x1=1,x2=1,x3,x4], 2);
expand(%);


Изображение

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Определение

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 7:45 pm

Функция sqrt(4+x1+3*x2^2-2*x3^2+x4^2) не является аналитической согласно http://ru.wikipedia.org/wiki/%C0%ED%E0% ... A%F6%E8%FF

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Re: Как получить полином из аналитической функции?

Сообщение RomanB » Ср апр 16, 2014 8:16 pm

Эээмм..может я неправильно выразился,простите если что.Вот,я ее прикрепил. А про перебор я подразумевал написать программу и в выбранных диапазонах вычислить значения этой функции при разных значениях переменных, а потом на основании этих данных по МНК получить полином.
Изображение

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Re: Как получить полином из аналитической функции?

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 8:27 pm

RomanB писал(а):Эээмм..может я неправильно выразился,простите если что.Вот,я ее прикрепил. А про перебор я подразумевал написать программу и в выбранных диапазонах вычислить значения этой функции при разных значениях переменных, а потом на основании этих данных по МНК получить полином.
Изображение
Пожалуйста, сообщите Ваши "выбранные диапазоны". Как говорила одна моя знакомая "я любопытна и интересна".

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Re: Как получить полином из аналитической функции?

Сообщение RomanB » Ср апр 16, 2014 8:59 pm

Markiyan Hirnyk писал(а):
RomanB писал(а):Эээмм..может я неправильно выразился,простите если что.Вот,я ее прикрепил. А про перебор я подразумевал написать программу и в выбранных диапазонах вычислить значения этой функции при разных значениях переменных, а потом на основании этих данных по МНК получить полином.
Изображение
Пожалуйста, сообщите Ваши "выбранные диапазоны". Как говорила одна моя знакомая "я любопытна и интересна".



Да,конечно. Это выражение для определения собственных частот системы с двумя степенями свободы. В частности нужно будет рассмотреть первый обертон(получается если подставить знак "+"). Диапазоны изменения будут такими:
для М1 и М2=10..100
для К1 и К2=300000..800000

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Встречный вопрос

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 9:16 pm

Вы имеете дело с достаточно простой формулой. Что в ней Вас не удовлетворяет?

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Re: Встречный вопрос

Сообщение RomanB » Ср апр 16, 2014 9:32 pm

Markiyan Hirnyk писал(а):Вы имеете дело с достаточно простой формулой. Что в ней Вас не удовлетворяет?


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

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Re: Встречный вопрос

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 9:49 pm

RomanB писал(а):
Markiyan Hirnyk писал(а):Вы имеете дело с достаточно простой формулой. Что в ней Вас не удовлетворяет?


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

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Re: Встречный вопрос

Сообщение RomanB » Ср апр 16, 2014 10:04 pm

Markiyan Hirnyk писал(а):
RomanB писал(а):
Markiyan Hirnyk писал(а):Вы имеете дело с достаточно простой формулой. Что в ней Вас не удовлетворяет?


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


Величина W зависит от m1,m2.k1,k2. Преобразовав выражение для W в полином вида W=b0+b1*m1+b2*m2+b3*k1+b4*k2, можно будет оценить влияние каждого отдельного фактора(m1,m2,k1,k2) на величину W

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 10:28 pm

Спасибо, понял. Сомневаюсь в эфективности такого подхода. Дело в том, что линейная функция не будет хорошим приближением omega, т. к. диапазоны изменения переменных велики. Посмотрите http://ru.wikipedia.org/wiki/%DD%EB%E0% ... 8%EA%E0%29 .
В Вашем случае
omega := sqrt((m2*k2+m2*(k1+k2))/(2*m1*m2)+sqrt(((m2*k2+m2*(k1+k2))/(2*m1*m2))^2-k1*k2/(m1*m2))):
evalf(eval((diff(omega, k1))*k1/omega, [m1 = 20, m2 = 20, k1 = 400000, k2 = 500000]))
0.1107284964
означает, что для указанных значений параметров при возрастании k1 на один процент значение omega возрастает на 0.11 процента. Подобным образом считается эластичность по другим переменным для иных значений параметров.
Последний раз редактировалось Markiyan Hirnyk Ср апр 16, 2014 10:34 pm, всего редактировалось 1 раз.

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Сообщение RomanB » Ср апр 16, 2014 10:34 pm

Markiyan Hirnyk писал(а):Спасибо, понял. Сомневаюсь в эфективности такого подхода. Дело в том, что линейная функция не будет хорошим приближением omega, т. к. диапазоны изменения переменных велики Посмотрите http://ru.wikipedia.org/wiki/%DD%EB%E0% ... 8%EA%E0%29
В Вашем случае
omega := sqrt((m2*k2+m2*(k1+k2))/(2*m1*m2)+sqrt(((m2*k2+m2*(k1+k2))/(2*m1*m2))^2-k1*k2/(m1*m2))):
evalf(eval((diff(omega, k1))*k1/omega, [m1 = 20, m2 = 20, k1 = 400000, k2 = 500000]))
0.1107284964
означает, что для указанных значений параметров при возрастании k1 на один процент значение omega возрастает на 0.11 процента. Подобным образом считается эластичность по другим переменным для иных значений параметров.


О,спасибо огромное,так и правда выглядит лучше!

Markiyan Hirnyk
Сообщения: 1348
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Сообщение Markiyan Hirnyk » Ср апр 16, 2014 10:41 pm

RomanB писал(а):О,спасибо огромное,так и правда выглядит лучше!

Относительно Вашего косноязычного красноречия: "Хотели как лучше, а получилось как всегда."

RomanB
Сообщения: 13
Зарегистрирован: Чт мар 27, 2014 3:25 pm

Сообщение RomanB » Ср апр 16, 2014 10:45 pm

Markiyan Hirnyk писал(а):
RomanB писал(а):О,спасибо огромное,так и правда выглядит лучше!

Относительно Вашего косноязычного красноречия: "Хотели как лучше, а получилось как всегда."


И не говорите :D Почему-то я редко могу объяснить на словах, что именно нужно))