2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: Аппроксимация
Сообщение10.01.2011, 20:55 
Шимпанзе в сообщении #397811 писал(а):
Сразу видно, что Вы такой же экспериментатор как я химик. :-)

Несолидно. Я вовсе не против того, чтобы мне предъявляли претензии; но уж коли предъявляете -- то конкретно, а не цитируйте всю БСЭ, от первого до последнего тома.

 
 
 
 Re: Аппроксимация
Сообщение10.01.2011, 21:50 
Шимпанзе в сообщении #397811 писал(а):
Вы меня извините, четыре экспериментальные точки при двух неизвестных параметрах (!?)- считайте что никакого эксперимента вообще не было. Удивительно, что какой -то результат вообще есть....
Так лучше?
код: [ скачать ] [ спрятать ]
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
Теперь точек достаточно, и результат аппроксимации методом "разбивки суммы на две задачи" окажется существенно ближе к "экспериментальным" данным?

 
 
 
 Re: Аппроксимация
Сообщение10.01.2011, 22:27 
Аватара пользователя
ewert в сообщении #397826 писал(а):
Шимпанзе в сообщении #397811 писал(а):
Сразу видно, что Вы такой же экспериментатор как я химик. :-)

Несолидно. Я вовсе не против того, чтобы мне предъявляли претензии; но уж коли предъявляете -- то конкретно, а не цитируйте всю БСЭ, от первого до последнего тома.


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

-- Пн янв 10, 2011 23:32:02 --

Maslov в сообщении #397844 писал(а):
Теперь точек достаточно, и результат аппроксимации методом "разбивки суммы на две задачи" окажется существенно ближе к "экспериментальным" данным?


Вы хотите , что бы я проверил?

 
 
 
 Re: Аппроксимация
Сообщение11.01.2011, 01:00 
Аватара пользователя
Maslov в сообщении #397844 писал(а):
Шимпанзе в сообщении #397811 писал(а):
Вы меня извините, четыре экспериментальные точки при двух неизвестных параметрах (!?)- считайте что никакого эксперимента вообще не было. Удивительно, что какой -то результат вообще есть....
Так лучше?
код: [ скачать ] [ спрятать ]
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
Теперь точек достаточно, и результат аппроксимации методом "разбивки суммы на две задачи" окажется существенно ближе к "экспериментальным" данным?


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

Давайте запишем суму квадратов отклонений:

$L=\sum {(y_i -y)^2}$
делаю замену $y=y_1+y_2$
следовательно:
$L=\sum {(y_i -y_1-y_2)^2}$
После раскрытия квадрата и группировки я получаю :
$L=\sum{(y_i-y_1)^2}+\sum{(y_i-y_2)^2}+2\sum{y_1  y_2}-\sum{y_i ^2}$
Последний член у выражении константа и когда я буду брать проиводные по параметрам, от которых зависят $y_1,y_2$, то последний член будут равен 0. Таким образом про него можно забить.
Первый и второй члены отвечают за независемую апроксимацию по $y_1,y_2$ соответственно. (Что я и делал!). А третий член ето миксер между зависимостями $y_1,y_2$ но как с ним бить я не знаю!, может кто то посоветует?

 
 
 
 Re: Аппроксимация
Сообщение11.01.2011, 02:28 
Аватара пользователя
Есть другой вариант алгоритма действий, а именно:
0) Есть зависимость вида $y=A\exp(ax)\sh(bx)$ .
1)Сначала буду думать что $sh(bx)$ константа и соединю с $A$ . В результате буду иметь стандартную зависимость $y=A' \exp(ax)$ , которую быстренько решаю.
2) Вспомню что A' не константа, а зависет от $x$ , тогда $y=A_0 \sh(bx)\exp(ax)$, но теперь я знаю коеф. в экспоненте, то есть она мне теперь не мешает.
3) Заключительный шаг, свожу зависимость к линейной $ arcsh({\frac y {A_0 \exp(ax)}})= bx$
4)Нахожу коеф. $b$.
Что-то в этом роде.

 
 
 
 Re: Аппроксимация
Сообщение11.01.2011, 11:37 
Это не будет оптимальным решением: параметры $A$, $a$ и $b$ не независимы.

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

Ubuntu_linux в сообщении #397942 писал(а):
После раскрытия квадрата и группировки я получаю :

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

Шимпанзе в сообщении #397868 писал(а):
Что тут обидного?

Ничего обидного, просто Ваша предыдущая реплика была бессодержательна.

 
 
 
 Re: Аппроксимация
Сообщение11.01.2011, 12:24 
Аватара пользователя
ewert в сообщении #398002 писал(а):

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

Ubuntu_linux в сообщении #397942 писал(а):
После раскрытия квадрата и группировки я получаю :

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

Я хотел увидеть, почему в меня не получается аппроксимировать отдельными кривыми, и я понял почему. Ок, теперь чтоб узнать приблизительное значения параметров, я сделаю как выше, а потом буду чисельно подбирать новые параметры.

 
 
 
 Re: Аппроксимация
Сообщение11.01.2011, 12:39 
Ubuntu_linux в сообщении #398020 писал(а):
а потом буду чисельно подбирать новые параметры.

Не "чисельно подбирать", а итерировать. По найденному приближению для $b$ заново пересчитываем $A$ и $a$, по вновь полученным -- снова пересчитываем $b$, затем -- снова $A$ и $a$ и т.д. до сходимости.

Да, и у Вас разные точки скорее всего измерены с разной точностью, поэтому лучше использовать весовой вариант МНК.

 
 
 
 Re: Аппроксимация
Сообщение12.01.2011, 16:53 
Аватара пользователя
Да, чисельго получается....
Вот скриншот моей программы. :lol:

Изображение

Изображение

Изображение

 
 
 
 Re: Аппроксимация
Сообщение12.09.2011, 13:46 
Аватара пользователя
Я давно разработал свою систему аппроксимации любых функций. Базируется на методе Монте-Карло. Вот текст для Вашей задачи в Yabasic (дистрибутив легко скачать с инета). Текст настолько прост, что алгоритм уловите. Результат действительно сходится к единицам, хотя начальные k1 и k2 взял 0.1 . Прога отлично работает, если верно угаданы знаки нужных параметров.

dim y(10),x(10),f(10)
z=.01
y(1)=2:y(2)=5:y(3)=13:y(4)=35
x(1)=0:x(2)=1:x(3)=2:x(4)=3
for i=1 to 4
print i,x(i),y(i)
next i
k10=.1:k20=.1
s1=10^100:nn=1000000
for j=1 to nn
k1=k10*(1+z*(ran()-.5))
k2=k20*(1+z*(ran()-.5))
s=0
for i=1 to 4
x=x(i)
f(i)=2^(k1*x)+3^(k2*x)
s=s+(y(i)-f(i))^2
next i
if s<=s1 then
print k1,k2,s
s1=s
k10=k1:k20=k2
fi
next j

Но что удивительно. Если взять начальные параметры k10=10 и k20=10 то найдется тоже великолепная пара коэффициентов:
k1=1.58496
k2=0.630934

Проверьте - числа с огромной точностью ложатся на эксперименты.

 
 
 
 Re: Аппроксимация
Сообщение12.09.2011, 15:25 
Аватара пользователя
Стал анализировать, и пришел к выводу: второе решение получается если решать при довольно большом x (например, x=20) уравнение:

$2^{20}+3^{20}=2^{k_1 \cdot 20}+3^{\frac{20}{k_1}}$

Отсюда можно найти численно $k_1=1.584962501$ ; $k_2=\frac{1}{k_1}=0.6309297535$

Построение графиков показало, что кривые полностью совпадают и эти два решения абсолютно одинаковы.

А строго теоретически так:

$2^{X}+3^{X}=2^{\frac{ln(3)}{ln(2)} X}+3^{\frac{ln(2)}{ln(3)} X}$

Такая вот красивая математика.
Спасибо за задачу!

 
 
 [ Сообщений: 26 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group