Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Графика

Графика

Мнениеот lamp » 03 Авг 2014, 17:29

Здравейте математици.

Искам да попитам, ако имаме дадена графика, от числа, има ли начин да се определи някаква зависимост, за да мога да пресъздам графиката, без да описвам число по число?

Благодаря.



П.С Понеже ме съмнява, че няма как да стане точно, поне ако е приблизително и описва някаква зависимост,тоест, голям брой числа от нея, автоматично, аз останалите числа ще ги добавя - ръчно.
Прикачени файлове
grafica.jpg
Графика
grafica.jpg (94.52 KiB) Прегледано 495 пъти
lamp
Нов
 
Мнения: 2
Регистриран на: 03 Авг 2014, 17:11
Рейтинг: 0

Re: Графика

Мнениеот Anubis » 03 Авг 2014, 20:35

Да, аз се сещам за два начина.

1. Интерполационен полином. При него, знаейки n на брой точки, можеш с явна формула да построиш полином от степен n-1, който минава през тези точки.

2. Метод на най-малките квадрати. Тук не е задължително графиката на построявания полином да минава през всичките точки, а достатъчно добре да се приближава до тях. Разполагаме с опцията да изберем степента да приближаващия полином и чрез "наслагване" на графиката му и на експерименталните данни да определим дали удовлетворява нашите критерии.

В случай че разполагаш с конкретните точки, мога да ти покажа как става.
Аватар
Anubis
Напреднал
 
Мнения: 286
Регистриран на: 05 Авг 2010, 17:45
Рейтинг: 166


Re: Графика

Мнениеот Anubis » 04 Авг 2014, 09:20

Ще ти дам един пример. За целта ще напиша програма, която демонстрира намирането на интерполационен полином.
Код: Избери целия код
myList = {{-6, 1.50197}, {-5.5,
    1.42357}, {-5, -1.30058}, {-4.5, -1.60757},
   {-4, 1.07315}, {-3.5, 1.75939}, {-3,
    0.824237}, {-2.5, -1.876}, {-2, 0.55883}, {-1.5,
    1.95506}, {-1, -0.28224}, {-0.5, -1.99499}, {0, 0}, {0.5,
    1.99499}, {1, 0.28224}, {1.5, -1.95506}, {2, -0.558831}, {2.5,
    1.876}, {3, 0.824237}, {3.5, -1.75939}, {4, -1.07315}, {4.5,
    1.60757}, {5, 1.30058}, {5.5, -1.42357}, {6, -1.50197}};
plotMyList = ListPlot[myList, PlotStyle -> {Blue, PointSize -> 0.0150}]
lp = InterpolatingPolynomial[myList,
   x]; (* интерполационен полином на Лагранж *)
Expand[lp];
Simplify[%];
TraditionalForm[%]
plotLP = Plot[lp, {x, -6.5, 6.5}, PlotStyle -> Green]
Show[plotMyList, plotLP]

Разполагаме с n=25 точки (това е списъкът myList). Построяваният полином на Лагранж минава през всичките тези точки и степента му е с единица по-малка от броя на точките (вижда се, че degP=24, когато програмата изпише явния му вид; в линка, който Добромир Глухаров ти е дал, е обяснено доста разбираемо).
При много голям брой на точките е по-интуитивно да построиш такъв полином, който да се "движи" измежду точките и да е близко до тях, а не непременно да минава през тях. В този случай трябва да използваш метода на най-малките квадрати, където вече ти избираш степента на апроксимация с полином.
Прикачени файлове
poly.png
poly.png (9.7 KiB) Прегледано 473 пъти
Аватар
Anubis
Напреднал
 
Мнения: 286
Регистриран на: 05 Авг 2010, 17:45
Рейтинг: 166

Re: Графика

Мнениеот lamp » 05 Авг 2014, 05:43

Благодаря ви, момчета.


Макар и с математиката да съм на ВИЕ,ще се опитам да намеря самостоятелно някаква зависимост в моите графики.И все пак, ако ми се стори доста мъчително, в което не се съмнявам, ще питам пак във форума.До скоро!


P.S Между другото, явно има нещо кофти в програмирането на форума.Когато отвориш нова тема, за редактиране или отговор и се забавиш някакво определено време х, не много дълго и след това решиш да изпратиш написаното, губиш това което си написал и иска на ново да влезеш като регистриран потребител? Това нa няколко пъти мe изкара извън равновесие и ми разби нервите.
lamp
Нов
 
Мнения: 2
Регистриран на: 03 Авг 2014, 17:11
Рейтинг: 0


Назад към Вероятности, статистика



Кой е на линия

Регистрирани потребители: Google Adsense [Bot], Google [Bot]

Форум за математика(архив)