Математические зарисовкиДругие темы о русской словесности и культуре

Модератор: Penguin

Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Вчера прочитал задачу-ловушку для учеников 6-го класса. Это из "Всероссийских проверочных работ". Вот ее текст:

Муравьи несли бревнышко, выстроившись цепочкой, но быстро устали и позвали на помощь других муравьев, которые встали в каждый промежуток между идущими в цепочке муравьями. Это помогло мало, и они позвали еще муравьишек, которые встали снова во все промежутки в цепи муравьев. Когда бревнышко донесли, их было уже 2017. Сколько муравьев первоначально несло бревнышко?

Конечно, эту задачу я решил за минуту, набросав текст проги и запустив ее:

dim n(50)
n(1)=2017
n=1
print n,n(1)
for i=2 to 10
n(i)=(n(i-1)+1)/2
print i,n(i)
next i

Вся хитрость - в выделенной строке. Она есть обратный ход задачи. До него и нужно додуматься шестикласснику.
На мой взгляд - это издевательство над детьми.
Сначала нужно теорию подобного рода задачи объяснять на уроке.
Как это обычно делают в институтах.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Реклама
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Сегодня важное событие в моей прикладной математике.
Доцент ВГТУ (это Воронежский университет), д.т.н. Олейникова С.А. прислала экспериментальные точки функции распределения

1 0.0001
2 0.0003
3 0.0008
4 0.0022
5 0.0067
6 0.0126
7 0.0226
8 0.0436
9 0.0725
10 0.1222
11 0.1864
12 0.2736
13 0.3783
14 0.5079
15 0.6479
16 0.7820
17 0.8903
18 0.9618
19 0.9930
20 0.9999

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

Изображение

(заданные точки лежат точно на кривой).

Ее производная - функция плотности вероятности:

Изображение

Олейникова осталась довольна результатом, поскольку точность моей аппроксимации оказалась на порядок выше, нежели у ее команды программистов. Между нами установился хороший контакт, надеемся в дальнейшем сотрудничать.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 01 май 2019, 00:21 Дело в том, что известные законы не совсем удовлетворительно соответствовали точкам,
А по мне, так вполне соответствует.
rusak: 01 май 2019, 00:21 Отослал свою методику и следующие рисунки:
Мой рисунок тоже отправьте. У меня формула менее искусственная.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

В инете по ссылке https://studfiles.net/preview/3497962/ (Приложение 3) нашел интересную гистограмму (генерация по закону Пуассона). Надо будет попытаться найти свою хорошую формулу. Вот данные с этой статьи:

Изображение

Я принял следующие 24 точки функции распределения F (уменьшил значения первого столбца в 10 раз, чтобы кривая плотности вероятности не оказалась слишком сплюснутой):

0.1 0.000057
0.2 0.001357
0.3 0.004886
0.4 0.013543
0.5 0.033114
0.6 0.070443
0.7 0.132429
0.8 0.220329
0.9 0.331357
1.0 0.454214
1.1 0.579571
1.2 0.691686
1.3 0.787057
1.4 0.861257
1.5 0.912414
1.6 0.948
1.7 0.971171
1.8 0.984671
1.9 0.991757
2.0 0.995686
2.1 0.998071
2.2 0.999171
2.3 0.9997
2.4 0.999914

Лучшими аппроксимациями оказались такие формулы:

Изображение

Для формулы F1:
a=0.943352; b=2.47949 ; c=2.08233
Сумма квадратов отклонений 0,0000414

Для формулы F2:
a=1.18794 ; b=3.47668 ; c=0.838218 ; d=1.15868
Сумма квадратов отклонений 0,00000993

Для формулы F3:
a=1.96492 ; b=3.1938 ; c=7.98792 ; d=1.46225
Сумма квадратов отклонений 0,0000147

Для формулы F4:
a=7.22021 ; b=1.5273 ; c=1.1119 ; d=4.25221
Сумма квадратов отклонений 0,0000150

Как видим, победила вторая формула.

Но тут - ВНИМАНИЕ!
Всегда нужно проверять формулы графически. Когда я стал строить сопоставление точек со второй кривой, у меня плоттер выдал только заданные точки. А кривую не дал. Стал разбираться, оказывается во второй формуле появляются мнимые величины. Тут непонятно, по какой причине оказался сбой. Но мне было ясно - победила третья формула. Вот сопоставление и вид функции:

Изображение

Тут слов нет - совпадение просто отличное! И это несмотря на то, что аппроксимировал я интегральную функцию F.
Убеждаюсь все больше и больше: мои четыре функции обладают столь высокой гибкостью, что практически повторяют все известные традиционные законы распределения.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Вчера ко мне обратились математики-химики, которые тоже занимаются вопросами аппроксимации. Дали ссылку на сайт, где показали свой пример решения:
https://www.algoritmist.ru/obschie-vopr ... enija.html
Там оказался у них только график сопоставления точек и кривой, построенной по аппроксимирующей формуле. Вот скрин этого примера:
Изображение
Я связался с авторами работы и попросил дать значения экспериментальных точек, так как график мелкий, и точность оцифровки очень грубая.
Они прислали мне 22 точки:
0.8 0.0024
1.0 0.25
1.2 3.7
1.4 16.9
1.6 40.1
1.8 67.1
2.0 92.6
2.2 114.4
2.4 132.1
2.6 146.2
2.8 157.4
3.0 166.2
3.2 173.3
3.4 178.9
3.6 183.5
3.8 187.2
4.0 190.3
4.2 192.8
4.4 194.9
4.6 196.6
4.8 198.1
5.0 199.4
Они поинтересовались: сумею ли я найти самые оптимальные параметры для их формулы и можно ли найти более точную формулу?
На исследование мне потребовалось всего около часа.
Для формулы которую они предложили, оптимальными будут такие коэффициенты
208.419
0.598806
2.20276
3.15907

и в этом случае сумма квадратов отклонений 0.1995

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

V=209.346
a=1.1017
b=5.19128
c=0.581204
d=4.63729

сумма квадратов отклонений 0.0243. То есть почти на порядок точнее.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

На просторах интернета нашел интересную гистограмму. Она очень полная и гладкая, а потому достойна интересной аппроксимации. Вот картинка:

Изображение

Функция распределения ( файл "x-F.txt" ):
0.9 0.00003
1.5 0.00241
2.1 0.02466
2.7 0.10732
3.3 0.27824
3.9 0.50652
4.5 0.72048
5.1 0.86929
5.7 0.94933
6.3 0.98365
6.9 0.99560
7.5 0.99902
8.1 0.99981
8.7 0.99997
9.3 0.99999

Расчеты по четырем формулам дал результаты:
Изображение

Первое место заняла, на мое удивление, четвертая формула, где арктангенс. Сумма квадратов отклонений всего 0,00000072
Программа, по которой был получен этот отличный результат:
open #1,"x-F.txt","r"
dim x(200),y(200)
n=15
nn=20000000
for i=1 to n
input #1 x(i),y(i)
print x(i),y(i)
next i
a0=1:b0=1:c0=1:d0=1
s=10^50
z=0.001
for j=1 to nn
a=a0*(1+z*(ran()-.5))
b=b0*(1+z*(ran()-.5))
c=c0*(1+z*(ran()-.5))
d=d0*(1+z*(ran()-.5))
s1=0
for i=1 to n
x=x(i)
f=1-exp(-a*(atan(((x)/b)^c))^d)
s1=s1+(f-y(i))^2
next i
if s1<=s then print a,b,c,d,s1
s=s1:a0=a:b0=b:c0=c:d0=d
fi
next j
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 19 май 2019, 17:05 нашел интересную гистограмму (генерация по закону Пуассона)
Это не распределение Пуассона.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Таланов: 22 май 2019, 16:26 Это не распределение Пуассона.
Все претензии к автору статьи - он так заявил, а не я. Я просто намного лучше аппроксимировал распределением Александрова. Пуассон для меня - что папуаса сон. Вот Вы себя считаете более знающим в данной области. Так найдите более лучшую аппроксимацию! Покажите хоть раз своё превосходство.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

На прошлой неделе изучал интересную диссертацию о бактериях в толще океана. О том, как они распределены по глубине. Чтобы более подробно понимать суть, даю ссылку на популярную работу (ее нашел в списке литературы этой диссертации): http://ecosystema.ru/07referats/ocean_bio/ocean_bio.htm
В этой довольно неплохой работе меня заинтересовал график. Автор диссертации сумел аппроксимировать только сплайнами, причем выражение получилось столь длинное, что поленился даже переписать. График такой (вместе с таблицей). Z - это глубина в метрах, а B - относительное количество бактерий в 1 мл. воды.
Изображение

Предварительные результаты я получил, нужно только более тонкие расчеты произвести. Думаю, вечером смогу дать свою формулу, более компактную.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 23 май 2019, 10:25 Автор диссертации сумел аппроксимировать только сплайнами, причем выражение получилось столь длинное, что поленился даже переписать.
Покажите что получилось.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Таланов, никак не могу уже. Диссертацию сдал неделю назад. Мобильник с собой хоть и был, но фоткать формулу в три строки желания не было. Сфоткал только рисунок. В любом маткаде или математике получить несложно. В ютубе видел ролик, там доходчиво показано было. Но я сплайны из принципа не признаю - это же какое-то папье-маше.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Перелопатив более 4 тыс. структур формул, нашел-таки идеальное пятипараметрическое выражение (с меньшим числом параметров такое осуществить невозможно):

Изображение

Сумма квадратов отклонений 0.000078

Товарищу Таланову советую даже не пытаться искать аппроксимацию удесятиренной грубости. Все-таки 19 век за его плечами, а на дворе давно 21-й.

Скорее для себя пишу текст программы по аппроксимации методом Монте Карло:

open #1,"bakter.txt","r"
n=13
dim x(30),F(30)
for i=1 to n
input #1 x(i),F(i)
rem print x(i),F(i)
next i
nn=5000000
s1=10^20
z=0.001
a0=1:b0=1:c0=1:d0=1:v0=1
for j=1 to nn
a=a0*(1+z*(ran()-0.5))
b=b0*(1+z*(ran()-0.5))
c=c0*(1+z*(ran()-0.5))
d=d0*(1+z*(ran()-0.5))
v=v0*(1+z*(ran()-0.5))
s=0
for i=1 to n
x=x(i)
y=(x^a+b)/(c*x^d+v)
s=s+(F(i)-y)^2
next i
if s<s1 then s1=s
v0=v:a0=a:b0=b:c0=c:d0=d
vk=v:ak=a:bk=b:ck=c:dk=d
print a,b,c,d,v,s
if s<7.82/10^5 then z=0.000001:fi
fi
next j

Файл исходных данных "bakter.txt":
0 1.36
0.2 1.86
0.4 2.91
0.6 3.96
0.8 3.3
1.0 1.55
1.2 0.62
1.4 0.27
1.6 0.13
1.8 0.07
2.0 0.04
2.2 0.02
2.4 0.01

Программа построения точек и аппроксимирующей кривой:
open #1,"bakter.txt","r"
dim x(200),y(200),x1(200),y1(200)
n=13:k=.6:p=0.4
for i=1 to n
input #1 x1(i),y1(i)
next i
open window 1000,750
line 70,630 to 950,630
line 70,630 to 70,70
for i=1 to n:for v=1 to 5
circle 70+k*600*x1(i),630-p*200*y1(i),v
next v:next i
for x=0.2 to 2.4 step 0.2
line 70+k*600*x,630 to 70+k*600*x,50
next x
for y=0.5 to 4.5 step 0.5
line 70,630-p*200*y to 950,630-p*200*y
next y
a=1.18794:b=3.47668:c=0.838218:d=1.15868
dx=0.01
for i=1 to int(2.5/dx)
x=i*dx
f=(x^1.64312+0.19248)/(0.628624*x^7.17571+0.14158)
x1=x+dx
f1=(x1^1.64312+0.19248)/(0.628624*x1^7.17571+0.14158)
line 70+k*600*x,630-p*200*f to 70+k*600*x1,630-p*200*f1
line 70+k*600*x,630-p*200*f+1 to 70+k*600*x1,630-p*200*f1+1
next i
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

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

Изображение

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

Изображение

Завтра продолжу тему и опишу подробно процесс аппроксимации довольно хитрой зависимости.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Программа с функцией, которая лучше всего подошла:

open #1,"bak.txt","r"
n=11:nn=5000000:s1=10^20
dim x(30),F(30)
for i=1 to n
input #1 x(i),F(i)
next i
z=0.001
a0=1:b0=1:c0=1:d0=1:v0=1
for j=1 to nn
a=a0*(1+z*(ran()-0.5))
b=b0*(1+z*(ran()-0.5))
c=c0*(1+z*(ran()-0.5))
d=d0*(1+z*(ran()-0.5))
v=v0*(1+z*(ran()-0.5))
s=0
for i=1 to n
x=x(i)
y=(x^a+b)/(c*x^d+v)
s=s+(F(i)-y)^2
next i
if s<s1 then s1=s
v0=v:a0=a:b0=b:c0=c:d0=d
vk=v:ak=a:bk=b:ck=c:dk=d
print a,b,c,d,v,s
if s<1/10^4 then z=0.000001:fi
fi
next j

где файл данных "bak.txt":

0 1.42
0.1 1.45
0.2 1.58
0.3 1.85
0.4 2.28
0.5 2.86
0.6 3.4
0.7 2.47
0.8 0.71
0.9 0.16
1 0.04

Вот результат расчетов и график, который выдал Вольфрам Альфа:

Изображение

Как видим, симметрию графика легко сделать, если брать икс по модулю.
Сумма квадратов отклонений 0.000084 что совсем неплохо.

Вспомнил, что я как-то делал лекцию по поводу построения логотипа И там тоже была буква М. Но формула совсем иная:

Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 25 май 2019, 00:21 где он приводил результаты взаимодействия волн друг с другом. На основе экспериментов он построил следующий график:
Не буду углубляться, что это конкретно, а отмечу только, что мы с ним пытались аппроксимировать симметричную кривую наиболее простой формулой.
А математическую модель физического процесса не пытались найти? Возможно она описывалась бы пусть не простой, но хотя бы не отфанарной формулой.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Таланов, посмотрите в Википедии "волны-убийцы". В этой проблеме до сих пор много неясностей, много эмпирики. Даже статистика весьма скудная.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

По ссылке http://oplib.ru/yadernaya_tehnika/view/ ... nym_dannym
привлекла экспериментальная С(t) кривая, которая получается при подаче на вход аппарата импульсного возмущения в виде d-функции и представляет собой изменение концентрации трассера во времени (рис. 3.6.1)
Для нее нашел точки функции распределения F
0.5 0.06989
1.0 0.2493
1.5 0.45006
2.0 0.6183
2.5 0.74282
3.0 0.83482
3.5 0.89428
4.0 0.93164
4.5 0.95756
5.0 0.97332
5.5 0.98907
6.0 0.9939
6.5 0.99873
7.0 0.99924
7.5 0.99975
Все мои четыре формулы показали практически одинаковую точность (сумму квадратов отклонений):
Формула 1 : 0.0000794
Формула 2 : 0.0000744
Формула 3 : 0.00007993
формула 4 : 0.00007987

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

Сопоставление аппроксимации и точек:

Изображение

Координаты принял более удобные для анализа (на поиск оптимального закона распределения это не влияет).
Считаю данное решение идеальным для 15 экспериментальных точек.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Наконец-то создан программный продукт по поиску наилучшей функции распределения F по четырем формулам Александрова. Это по сути революционное событие после средневековых вейбуллов, пирсонов, релеев, пуассонов, гауссов, больцманов, стьюдентов и тому подобных слабеньких формул. Суть в том, что найден универсальный подход к аппроксимации методом Монте Карло, способный перелопачивать самые сложные математические структуры с любым количеством параметров. Покажу на примере Лабораторной работы №2, которую сделал один из моих студентов. Полная распечатка:

ZADANNAJA GISTOGRAMMA CHASTOT

0.5 112
1.5 1622
2.5 2547
3.5 2207
4.5 1523
5.5 930
6.5 522
7.5 276
8.5 138
9.5 67
10.5 31
11.5 14
12.5 6
13.5 3
14.5 1

VSEGO NABLUDENIY N = 9999

POSTROENIE OBESPECHENNOSTY (delim na N+1)

1 0.0112
2 0.1734
3 0.4281
4 0.6488
5 0.8011
6 0.8941
7 0.9463
8 0.9739
9 0.9877
10 0.9944
11 0.9975
12 0.9989
13 0.9995
14 0.9998
15 0.9999

POSTROENIE GISTOGRAMMI

0.5 0.0112
1.5 0.1622
2.5 0.2547
3.5 0.2207
4.5 0.1523
5.5 0.093
6.5 0.0522
7.5 0.0276
8.5 0.0138
9.5 0.0067
10.5 0.0031
11.5 0.0014
12.5 0.0006
13.5 0.0003
14.5 0.0001

FORMULA 1 1.71239 1.0586 4.7847 8.48036e-05
FORMULA 2 1.57832 3.559 3.66403 0.2872 1.40129e-05
FORMULA 3 376.859 1.06921 315.929 4.70412 8.65182e-05
FORMULA 4 0.00854961 0.320709 0.464213 20.11 8.80429e-05

F1=(1-exp(-(x/a)^b))^c
F2=1-(((x/a)^b+1)^(-(x/c)))^d
F3=(1-((x/a)^b+1)^(-c))^d
F4=1-exp(-a*atan((x/b)^c)^d)

Текст программы:
open #1,"LAB2.txt","r"
open #2,"LAB20.txt","w"
nn=50000
input #1 n
dim x(3000),F(3000),FF(3000),xf(3000),xFF(3000),f0(3000)
print "ZADANNAJA GISTOGRAMMA CHASTOT"
print #2, "ZADANNAJA GISTOGRAMMA CHASTOT"
print
print #2
for i=1 to n
input #1 xf(i),F(i)
print xf(i),F(i)
print #2, xf(i),F(i)
FF=FF+F(i)
FF(i)=FF
next i
print
print #2
print "VSEGO NABLUDENIY N = ";:PRINT FF
print #2, "VSEGO NABLUDENIY N = ";:PRINT #2, FF
print
print #2
print "POSTROENIE OBESPECHENNOSTY (delim na N+1)"
print #2, "POSTROENIE OBESPECHENNOSTY (delim na N+1)"
print
print #2
dx=xf(2)-xf(1)
for i=1 to n
FF(i)=FF(i)/(FF+1)
xFF(i)=xf(i)+dx/2
print xFF(i),FF(i)
print #2, xFF(i),FF(i)
next i
print
print #2
print "POSTROENIE GISTOGRAMMI"
print #2, "POSTROENIE GISTOGRAMMI"
print
print #2
f0(1)=FF(1)/dx
print xf(1),f0(1)
print #2, xf(1),f0(1)
for i=2 to n
f0(i)=(FF(i)-FF(i-1))/dx
print xf(i),f0(i)
print #2, xf(i),f0(i)
next i
print
print #2
for v=1 to 4
s1=10^20
z=0.001
a0=1:b0=1:c0=1:d0=1
for j=1 to nn
a=a0*(1+z*(ran()-0.5))
b=b0*(1+z*(ran()-0.5))
c=c0*(1+z*(ran()-0.5))
d=d0*(1+z*(ran()-0.5))
s=0
for i=1 to n
x=xFF(i)
if v=1 then y=(1-exp(-(x/a)^b))^c:fi
if v=2 then y=1-(((x/a)^b+1)^(-(x/c)))^d:fi
if v=3 then y=(1-((x/a)^b+1)^(-c))^d:fi
if v=4 then y=1-exp(-a*atan((x/b)^c)^d):fi
s=s+(FF(i)-y)^2
next i
if s<s1 then s1=s
a0=a:b0=b:c0=c:d0=d
ak=a:bk=b:ck=c:dk=d:sk=s
rem if v=1 then print a,b,c,s else print a,b,c,d,s:fi
fi
next j
print "FORMULA ";:print v;:print " ";
print #2, "FORMULA ";:print #2, v;:print #2, " ";
if v=1 then print ak,bk,ck,sk:fi
if v<>1 then print ak,bk,ck,dk,sk:fi
if v=1 then print #2, ak,bk,ck,sk:fi
if v<>1 then print #2, ak,bk,ck,dk,sk:fi
next v
print #2
print #2, "F1=(1-exp(-(x/a)^b))^c "
print #2, "F2=1-(((x/a)^b+1)^(-(x/c)))^d "
print #2, "F3=(1-((x/a)^b+1)^(-c))^d "
print #2, "F4=1-exp(-a*atan((x/b)^c)^d) "
Осталось только добавить графику. Дело это не очень быстрое, но важное.

Здесь же лучшая вторая формула так сочетается с точками:

Изображение

Сумма квадратов отклонений 0.000014

Программа построения этого графика:
open #1,"gistog-f.txt","r"
dim x(200),y(200),x1(200),y1(200)
n=15
k=.10:p=8
for i=1 to n
input #1 x1(i),y1(i)
print x1(i),y1(i)
next i
print
open window 1000,750
line 70,630 to 950,630
line 70,630 to 70,70
for i=1 to n
for v=1 to 5
circle 70+k*600*x1(i),630-p*200*y1(i),v
next v
next i
for x=0.5 to 15 step 0.5
line 70+k*600*x,630 to 70+k*600*x,50
next x
for y=.02 to 0.28 step .02
line 70,630-p*200*y to 950,630-p*200*y
next y
a=1.57832:b=3.559:c=3.66403:d=0.2872
dx=0.01
for i=1 to int(15.0/dx)
x=i*dx
f=(d*(b*(x/a)^b+(x/a)^b*log((x/a)^b+1)+log((x/a)^b+1))*(((x/a)^b+1)^(-x/c))^d)/(c*((x/a)^b+1))
x1=x+dx
f1=(d*(b*(x1/a)^b+(x1/a)^b*log((x1/a)^b+1)+log((x1/a)^b+1))*(((x1/a)^b+1)^(-x1/c))^d)/(c*((x1/a)^b+1))
line 70+k*600*x,630-p*200*f to 70+k*600*x1,630-p*200*f1
line 70+k*600*x,630-p*200*f+1 to 70+k*600*x1,630-p*200*f1+1
next i
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Еще один прекрасный пример, взятый из инета. Красивая красная гистограмма с проставленными цифрами.
Результаты расчетов:
ZADANNAJA GISTOGRAMMA CHASTOT

0.1 1
0.2 2
0.3 5
0.4 14
0.5 45
0.6 59
0.7 100
0.8 210
0.9 289
1 454
1.1 642
1.2 875
1.3 1047
1.4 1296
1.5 1400
1.6 1341
1.7 1083
1.8 715
1.9 312
2 69
2.1 18
2.2 5
2.3 1

VSEGO NABLUDENIY N = 9983

POSTROENIE OBESPECHENNOSTY (delim na N+1)

0.15 0.00010016
0.25 0.000300481
0.35 0.000801282
0.45 0.00220353
0.55 0.00671074
0.65 0.0126202
0.75 0.0226362
0.85 0.0436699
0.95 0.0726162
1.05 0.118089
1.15 0.182392
1.25 0.270032
1.35 0.3749
1.45 0.504708
1.55 0.644932
1.65 0.779247
1.75 0.88772
1.85 0.959335
1.95 0.990585
2.05 0.997496
2.15 0.999299
2.25 0.9998
2.35 0.9999

POSTROENIE GISTOGRAMMI

0.1 0.0010016
0.2 0.00200321
0.3 0.00500801
0.4 0.0140224
0.5 0.0450721
0.6 0.0590946
0.7 0.10016
0.8 0.210337
0.9 0.289463
1 0.454728
1.1 0.643029
1.2 0.876402
1.3 1.04868
1.4 1.29808
1.5 1.40224
1.6 1.34315
1.7 1.08474
1.8 0.716146
1.9 0.3125
2 0.0691106
2.1 0.0180288
2.2 0.00500801
2.3 0.0010016

FORMULA 1 1.63145 7.88209 0.610339 1.78082e-05
FORMULA 2 6.49613 4.70025 0.0399173 22.9624 0.00103982
FORMULA 3 2.29231 8.50724 17.3383 0.559682 2.61229e-05
FORMULA 4 29.7271 2.78309 10.8832 0.523522 0.0010336

F1=(1-exp(-(x/a)^b))^c
F2=1-(((x/a)^b+1)^(-(x/c)))^d
F3=(1-((x/a)^b+1)^(-c))^d
F4=1-exp(-a*atan((x/b)^c)^d)
Тут - вся инфа для построения графика. Победила первая формула (трехпараметрическая!). Вот результат:

Изображение

Точность такая ( 0.0000178 ), что настырный Talanov не выдержит и лапки поднимет кверху.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

Это точность такая чего?
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Таланов, сумма квадратов отклонений
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Потрясающе интересную работу выполнил по рекомендации коллеги из Германии Анны Третьяк. Ее заинтересовала форма функции плотности вероятности роста известных женщин. Открытый вопрос: будет ли это нормальное распределение?
Два дня потратил на столь забавную задачу. Вчера при помощи Яндекса набрал статистику по росту 351 известных российских и зарубежных красоток и талантищ. Получил такую частотную гистограмму:

0.525 6
0.575 24
0.625 61
0.675 97
0.725 104
0.775 53
0.825 5
0.875 1

Первая колонка - середина интервала. Например, что такое 0.525 ? Это 152.5 см. Просто от роста вычел 1 метр. Это для удобства расчетов и построения графика.
Вторая колонка - число женщин, рост которых попал в соответствующий интервал шириной 5 см.
В результате функция распределения F(x):

0.55 0.0170455
0.6 0.0852273
0.65 0.258523
0.7 0.534091
0.75 0.829545
0.8 0.980114
0.85 0.994318
0.9 0.997159

и точки для аппроксимации функции плотности вероятности f(x):

0.525 0.340909
0.575 1.36364
0.625 3.46591
0.675 5.51136
0.725 5.90909
0.775 3.01136
0.825 0.284091
0.875 0.0568182

Аппроксимация функции F(x) моим четырем формулам:

FORMULA 1 0.685036 9.25481 1.77572 0.000196494
FORMULA 2 0.782025 13.1589 0.428486 2.24866 0.000324903
FORMULA 3 1.18696 9.36794 170.597 1.74695 0.000199535
FORMULA 4 1.6765 0.544795 1.40822 18.2694 0.000169681

F1=(1-exp(-(x/a)^b))^c
F2=1-(((x/a)^b+1)^(-(x/c)))^d
F3=(1-((x/a)^b+1)^(-c))^d
F4=1-exp(-a*atan((x/b)^c)^d)

Самая лучшая тут - последняя четвертая формула. Но она четырехпараметрическая. Немного уступает по точности первая трехпараметрическая формула. Я выбрал первую, как более простую. Сопоставление точек с кривой:

Изображение

Прекрасно видно, что распределение вовсе не соответствует нормальному. Как можно объяснить заметную левостороннюю асимметрию? Я думаю, что наиболее удачными с точки зрения обретения известности оказываются женщины ростом чуть выше среднего (на мой взгляд - выше 167 см).
Забавно, что рост 167 см был как раз у Александра нашего Сергеевича Пушкина!
Конечно, настырный сибиряк Таланов, взглянув на точки, сразу воскликнул бы: "Это нормальное распределение!". И получил бы кривую, которая похуже выглядит, чем моя, но зато он бы проверил соответствие через мудрёные критерии, и эти мудрёные кряки непременно дали бы отмашку...
Вот так в большой и честной науке некоторые протаскивают неверный вывод.
В науке очень важна тонкая настройка, а не таланова топорность.
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 02 июн 2019, 12:57 Прекрасно видно, что распределение вовсе не соответствует нормальному.
Математическая статистика наука точная и на глазок не делается. Гипотезу о принадлежности выборочного распределения нормальному проверяли?
rusak: 02 июн 2019, 12:57 Как можно объяснить заметную левостороннюю асимметрию?
Статистическую значимость отличия выборочного коэффициента асимметрии от нуля проверяли или опять от фонаря ляпнули?
rusak: 02 июн 2019, 12:57 В науке очень важна тонкая настройка...
А почему не пользуетесь?
Аватара пользователя
rusak
ВПЗР
ВПЗР
Всего сообщений: 2645
Зарегистрирован: 24.11.2014
Образование: высшее техническое
Профессия: художник
Откуда: Москва
Возраст: 43
 Re: Математические зарисовки

Сообщение rusak »

Таланов, у меня есть глаза и логический блок, а не сомнительная гипотеза принадлежности.
Статистическая значимость - всего лишь высокопарный термин какого-то магистра допотопного века.
Сумма квадратов отклонений - вот об'ективный математический критерий. Сможете его уменьшить, -- сниму чепчик. Но ведь пень ясен - не сможете! Нет такого таланта у Вас! Только талан какой--то крупнозернистый.
'
Мы все в океан попадем бесконечного будущего, но прошлого миг повторить никому не дано.
Аватара пользователя
Таланов
по чётным - академик
по чётным - академик
Всего сообщений: 1200
Зарегистрирован: 29.08.2013
Образование: высшее естественно-научное
Профессия: инженер
Откуда: Дивногорск
Возраст: 66
 Re: Математические зарисовки

Сообщение Таланов »

rusak: 02 июн 2019, 18:00 у меня есть глаза и логический блок
Слабый аргумент для математического доказательства.
rusak: 02 июн 2019, 18:00Сумма квадратов отклонений - вот об'ективный математический критерий.
Если вас не смущает тот факт, что для аппроксимации функций распределения он, кроме вас, никем не применяется.
Ответить Пред. темаСлед. тема
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение