Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Полиномы
СообщениеДобавлено: 05 сен 2016, 23:24 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 13534
Откуда: Москва
Cпасибо сказано: 1290
Спасибо получено:
3616 раз в 3175 сообщениях
Очков репутации: 678

Добавить очки репутацииУменьшить очки репутации
Произвел интересное исследование Ваших данных (второй ряд).
На Рис 1 показана сплайновая кривая, которую выполнил Excel. Обратим внимание, что эта кривая образуется как суперпозиция синей прямой и известной кривой [math]y=\frac{\sin(x)}{x}[/math] - см Рис.2. Я вручную поварьировал коэффициентами этой суперпозицией и мне удалось эскизно повторить Вашу первоначальную линию (см. Рис.3). Итак, будем искать аппроксимацию вида

[math]y= \frac{c\,\sin \left [d\, (x-f) \right ]}{x-f}+b+a\,x[/math]

Осталось найти методом наименьших квадратов оптимальные значения пяти параметров: [math]a, b, c, d, f[/math]

Я уже давно разработал и успешно применяю программу аппроксимации методом Монте-Карло. Вот текст на языке Yabasic
open #1,"data.txt","r"
open #2,"k.txt","w"
dim x(105),y(105)
for i=1 to 20
input #1 x(i),y(i)
print x(i),y(i)
next i
a0=1:b0=1:c0=1:d0=1:f0=1
w=.01:s1=10^50:nn=9000000
for j=1 to nn
a=a0*(1+w*(ran()-.5))
b=b0*(1+w*(ran()-.5))
c=c0*(1+w*(ran()-.5))
d=d0*(1+w*(ran()-.5))
f=f0*(1+w*(ran()-.5))
k=k0*(1+w*(ran()-.5))
s=0
for i=1 to 20
x=x(i):y=y(i)
r=a*x+b+c*sin(d*(x^k-f))/(x-f)
s=s+(y-r)^2
next i
if s<=s1 then
print a,b,c,d,f,s1
ak=a:bk=b:ck=c:dk=d:fk=f
sk=s:s1=s
a0=a:b0=b:c0=c:d0=d:f0=f
next j
print #2,ak,bk,ck,dk,fk,sk


Здесь текстовой файл "data.txt"

1 22.6
2 27.4
3 32.1
4 35.1
5 35.8
6 34.5
7 31.9
8 28.8
9 26.1
10 24.4
11 24.1
12 25
13 26.9
14 29.3
15 31.3
16 32.5
17 32.7
18 32.1
19 32.3
20 36.1

В итоге получил следующие значения параметров:

a=0.8286957775
b= 17.7796220711
c= 20.7934388629
d=0.6737595204
f=4.5467179901

Cумма квадратов отклонений 11.1613

Сделал сопоставление (см. Рис 4). Все бы ничего, но последняя точка портит всю картину. Из-за этого и сумма квадратов отклонений получилась великоватой. Если предположить, что последняя двадцатая точка ошибочна, и проделать аппроксимацию для 19 точек, то полчим параметры

a=0.7471921027
b=18.6113556460
c=19.8756914262
d=0.6873937489
f=4.6073430133

Cумма квадратов отклонений 0.584028 (это в 19 раз меньше!). Сопоставление на Рис. 5.

Изображение

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Полиномы
СообщениеДобавлено: 06 сен 2016, 09:44 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 13534
Откуда: Москва
Cпасибо сказано: 1290
Спасибо получено:
3616 раз в 3175 сообщениях
Очков репутации: 678

Добавить очки репутацииУменьшить очки репутации
PS при копировании текста проги пропустил операнд fi. Правильная концовка:
if s<=s1 then
print a,b,c,d,f,s1
ak=a:bk=b:ck=c:dk=d:fk=f
sk=s:s1=s
a0=a:b0=b:c0=c:d0=d:f0=f
fi
next j
print #2,ak,bk,ck,dk,fk,sk

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Полиномы
СообщениеДобавлено: 26 сен 2016, 08:13 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 13534
Откуда: Москва
Cпасибо сказано: 1290
Спасибо получено:
3616 раз в 3175 сообщениях
Очков репутации: 678

Добавить очки репутацииУменьшить очки репутации
Получается, что последняя экспериментальная точка сомнительна. При x=20 скорее всего y=32.37 а не 36.1

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

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Разложение функции в полиномы

в форуме Ряды

marinaqwert

6

1094

12 янв 2018, 22:18

Полиномы Чебышева-Лагерра

в форуме Функциональный анализ, Топология и Дифференциальная геометрия

Nevereth

5

749

19 дек 2015, 23:20

Поделить многочлены(полиномы) между собой

в форуме Линейная и Абстрактная алгебра

Padawan

10

560

22 янв 2018, 20:07

Интерполяция, полиномы Лагранжа в паскале. Недочет в коде

в форуме Численные методы

Nichtswisser

0

1312

21 апр 2014, 23:57

Связанные полиномы четвёртой степени - полные квадраты

в форуме Теория чисел

3axap

2

228

17 ноя 2020, 13:11


Часовой пояс: UTC + 3 часа [ Летнее время ]



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

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


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

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved