2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Аппроксимация
Сообщение10.01.2011, 12:54 
Аватара пользователя


23/05/10
41
Киев
В диелектриках проводимость сильно зависит от температури и пропорциональна, в простейшем случае,$\exp(E_a/KT)$, но подумав , можно вывести такую формулу: $\sigma=$\sigma_0  * \exp(E_a/KT)*\sh(B/KT).
У меня есть графики зависимости проводимости от температуры, и мне надо с них узнать константы $E_a и $B. Иначе говоря мне надо аппроксимировать Экспериментальные точки моей зависимостью.
В первом случае, когда самая, експонента, то нет ничего сложного и все стандартно. А вот когда умножения двоих функций, то не все понятно и однозначно. Меня интересует сам принцип как ето сделать, так как потом буду писать код на С++.

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 14:19 
Заблокирован
Аватара пользователя


21/04/06

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

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 15:12 
Аватара пользователя


23/05/10
41
Киев
Шимпанзе в сообщении #397573 писал(а):
Попробуйте вначале взять логарифм Вашей функции - получится сумма логарифмов, затем разложите их в ряд Тейлора. Сгруппируйте члены по параметрам с необходимой точностью их определения. Ну и дальше стандартно...

Ок.
возьмем натуральний логарифм от зависимочти $\sigma=\sigma_0 exp(ax)sh(bx)$
$ln \sigma =ln [\sigma_0 exp(ax)sh(bx)]$
$ln \sigma =ln {\sigma_0}+ln [exp(ax)sh(bx)] =ln {\sigma_0}+ln [exp(ax)] +ln [sh(bx)]=ln {\sigma_0}+ax +ln[sh(bx)]$
Позначу:
$\ln {\sigma_0}=c=const$
$\ln {\sigma}=y$
тогда:
$y=c+ax +\ln{sh(bx)}$
В результате я получу суму двоих функций:
$y=y_1+y_2$
1)линейная зависимость
$y_1=ax+c$
2)не линейная зависимость.
$y_2=ln [sh(bx)]$
Теперь, по идее, я могу сначала аппроксимировать $y$ одной функцией $y_1$ , потом аппроксимировать $y$ второй фун. $y_2$ , а потом просто их сложить и буду иметь искавшую зависимость. Или я не прав?

-- Пн янв 10, 2011 15:24:56 --

Не линейная зависимость.
$y_2=ln [sh(bx)]$
положем $y_2=y$
поднесу все в $exp$
$exp(y)=sh(bx)$
возьму $arcsh$
$arcsh[exp(y)]=bx$
позначу $arcsh[exp(y)]=y^'$
И того буду иметь, опять , линейную зависимость $y^{'} =bx$
:mrgreen: Задача полностью свелась к линейной. :D
Если правильно предположения:
Цитата:
Теперь, по идее, я могу сначала аппроксимировать одной функцией , потом аппроксимировать второй фун. , а потом просто их сложить и буду иметь искавшую зависимость. Или я не прав?

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 15:28 
Заслуженный участник


09/08/09
3438
С.Петербург
Ubuntu_linux в сообщении #397549 писал(а):
А вот когда умножения двоих функций, то не все понятно и однозначно. Меня интересует сам принцип как ето сделать, так как потом буду писать код на С++.
В общем случае такие задачи сводятся к задаче нелинейной оптимизации методом наименьших квадратов. Наиболее распространенные численные методы: Гаусса-Ньютона и Левенберга-Марквардта.

Почитать можно, например, здесь: Ф. Гилл, У. Мюррей, М. Райт. Практическая оптимизация (4.7. Методы решения задач о наименьших квадратах).

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 15:30 
Аватара пользователя


23/05/10
41
Киев
А в ряд Тейлора не получится, так как , вылезет степень неизвестного коеф. b , а мне этого не надо.

$bx+(bx)^2 +(bx)^3+.....$

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 15:47 
Аватара пользователя


23/07/08
401
Новосибирск
Ubuntu_linux в сообщении #397549 писал(а):
Меня интересует сам принцип как ето сделать, так как потом буду писать код на С++.
Я обычно в таких случаях читаю документацию к ROOT. Там подобные вещи уже реализованы.

Немного про этот пакет анализа на русском тут. Примеры различных аппроксимаций тут (в основном гораздо более сложные случаи, чем ваш).

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 16:22 
Аватара пользователя


23/05/10
41
Киев
Как я понял, для упрощения исходной зависимости можно пользоваться такими способами:
1) Записать обратную функцию, например:
$ln(x)<-->exp(x)$
$sin(x) <--> arcsin(x)$
$\sqrt{x}< --> x^2$
......

2) Если у выражении произведения функций, то можно взять логарифм что преобразует произведения в сумму функций.
2.1) Разбиваем сумму на две задачи.

Таким образом, задача упростилась и дальше все стандартно.

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 16:58 
Заслуженный участник
Аватара пользователя


30/01/06
72407

(Ubuntu_linux)

Ubuntu_linux
LaTeX на форуме поставлен в том числе для того, чтобы не писать уродливые обозначения для синуса и арксинуса. И стрелочки в нём тоже есть нормальные.

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 17:18 
Заслуженный участник


09/08/09
3438
С.Петербург
Ubuntu_linux в сообщении #397648 писал(а):
2.1) Разбиваем сумму на две задачи.

Таким образом, задача упростилась и дальше все стандартно.
А на примере можете показать, как Вы собираетесь "разбивать сумму на две задачи"?

Допустим, есть нелинейная зависимость
$y = 2^{k_1 x} + 3^{k_2 x}$
и набор экспериментальных данных
$y(0) = 2$
$y(1) = 5$
$y(2) = 13$
$y(3) = 35$
("Правильные" значения параметров: $k_1 = 1, k_2 = 1$)

На какие две задачи Вы разобьете эту сумму?

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 17:35 
Экс-модератор


26/10/10
286
К участникам темы, особенно к топикстартеру: почему тема в разделе "Физика"? Может, в "Программирование" или в "Помогите решить / разобраться (М)"?

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 18:21 
Заблокирован
Аватара пользователя


21/04/06

4930
pittite в сообщении #397696 писал(а):
К участникам темы, особенно к топикстартеру: почему тема в разделе "Физика"? Может, в "Программирование" или в "Помогите решить / разобраться (М)"?


Все правильно- к физике. К экспериментальной физике. Математики не сразу поймут о чем идет речь. Есть такой предмет "планирование эксперимента".

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 18:44 
Заслуженный участник


11/05/08
32166
Шимпанзе в сообщении #397722 писал(а):
Есть такой предмет "планирование эксперимента".

Есть, только к предложенному вопросу он отношения не имеет. Вопрос был поставлен сугубо математический: как наилучшим образом аппроксимировать имеющиеся экспериментальные данные вполне конкретной математической моделью: $f(\alpha,\beta,\gamma)=\alpha(e^{\beta/T}-e^{\gamma/T})$. И тут уж, как ни крутись -- задача останется математически нетривиальной.

Другое дело, что здесь есть одно облегчающее обстоятельство. По смыслу задачи в первом приближении хорошей моделью является всё-таки чистая экспонента: $g(\alpha,\beta)=\alpha\,e^{\beta/T}$. Эта модель уже линеаризуется, и вот если для неё найти оптимальную пару $(\alpha_0,\beta_0)$, то можно надеяться, что и для более продвинутой модели (с добавочной экспонентой) хорошим начальным приближением будет тройка $(\alpha_0,\beta_0,0)$. Настолько хорошим, что, скорее всего, даже метод Ньютона с этого приближения уже быстро сойдётся. А метод Ньютона с точки зрения объёма вычислений -- штука крайне дешёвая для трёх параметров.

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 18:50 
Аватара пользователя


23/05/10
41
Киев
Maslov в сообщении #397685 писал(а):
Ubuntu_linux в сообщении #397648 писал(а):
2.1) Разбиваем сумму на две задачи.

Таким образом, задача упростилась и дальше все стандартно.
А на примере можете показать, как Вы собираетесь "разбивать сумму на две задачи"?

Допустим, есть нелинейная зависимость
$y = 2^{k_1 x} + 3^{k_2 x}$
и набор экспериментальных данных
$y(0) = 2$
$y(1) = 5$
$y(2) = 13$
$y(3) = 35$
("Правильные" значения параметров: $k_1 = 1, k_2 = 1$)

На какие две задачи Вы разобьете эту сумму?

Вот на быструю руку, проверил моим способом:
$k_1=1.79$
$k_2=1.13$

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 19:45 
Заслуженный участник


09/08/09
3438
С.Петербург
Ubuntu_linux в сообщении #397732 писал(а):
Вот на быструю руку, проверил моим способом:
$k_1=1.79$
$k_2=1.13$
Ваше решение "на быструю руку" дает $y(3) \approx 82.8$ (вместо 35).
На мой взгляд, это не очень хороший результат.

 Профиль  
                  
 
 Re: Аппроксимация
Сообщение10.01.2011, 20:16 
Заблокирован
Аватара пользователя


21/04/06

4930
ewert в сообщении #397727 писал(а):
Шимпанзе в сообщении #397722 писал(а):
Есть такой предмет "планирование эксперимента".

Есть, только к предложенному вопросу он отношения не имеет. Вопрос был поставлен сугубо математический: как наилучшим образом аппроксимировать имеющиеся экспериментальные данные вполне конкретной математической моделью: $f(\alpha,\beta,\gamma)=\alpha(e^{\beta/T}-e^{\gamma/T})$. И тут уж, как ни крутись -- задача останется математически нетривиальной.

Другое дело, что здесь есть одно облегчающее обстоятельство. По смыслу задачи в первом приближении хорошей моделью является всё-таки чистая экспонента: $g(\alpha,\beta)=\alpha\,e^{\beta/T}$. Эта модель уже линеаризуется, и вот если для неё найти оптимальную пару $(\alpha_0,\beta_0)$, то можно надеяться, что и для более продвинутой модели (с добавочной экспонентой) хорошим начальным приближением будет тройка $(\alpha_0,\beta_0,0)$. Настолько хорошим, что, скорее всего, даже метод Ньютона с этого приближения уже быстро сойдётся. А метод Ньютона с точки зрения объёма вычислений -- штука крайне дешёвая для трёх параметров.


Сразу видно, что Вы такой же экспериментатор как я химик. :-)

-- Пн янв 10, 2011 21:36:43 --

Maslov в сообщении #397773 писал(а):
Ubuntu_linux в сообщении #397732 писал(а):
Вот на быструю руку, проверил моим способом:
$k_1=1.79$
$k_2=1.13$
Ваше решение "на быструю руку" дает $y(3) \approx 82.8$ (вместо 35).
На мой взгляд, это не очень хороший результат.


Вы меня извините, четыре экспериментальные точки при двух неизвестных параметрах (!?)- считайте что никакого эксперимента вообще не было. Удивительно, что какой -то результат вообще есть....

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group