• Nie Znaleziono Wyników

Układy równań nieliniowych

N/A
N/A
Protected

Academic year: 2021

Share "Układy równań nieliniowych"

Copied!
5
0
0

Pełen tekst

(1)

Układy równań nieliniowych

Marcin Orchel

1 Zadania

1.1 Zadania na 3.0

Napisać skrypt w R. W skrypcie:

• rozwiązać przykładowe równania nieliniowe, wyświetlić dokładność wyliczenia

• rozwiązać problem wyznaczania wartości funkcji odwrotnej za pomocą rozwiązania równania nieliniowego

• dla wybranych układów równań nieliniowych (z jednym równaniem oraz z wieloma) znaleźć rozwiązanie dwoma wybranymi metodami.

• znaleźć rozwiązania dla układu równań wielomianowych

• wykonać testy dla różnej liczby rozwiązań (zero, jedno, kilka, nieskończenie wiele)

• wykonać testy szybkości metod z przekazaniem macierzy Jacobiego do metody np.

nleqslv

• porównać jakość znalezionych rozwiązań

• wyświetlić wykresy dla testowanych układów równań

• rozwiązać układ równań nieliniowych za pomocą metody optymalizacji

• wykonać testy dla różnych warunków stopu

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z badań.

Wskazówki

• jakość możemy porównać za pomocą porównania miejsca zerowego z miejscem zerowym obliczonym metodą symboliczną lub za pomocą porównania błędu dla poszczególnych równań po podstawieniu znalezionych wartości zmiennych

• przykłady układów równań nieliniowychhttp://www.mathworks.com/help/optim/

ug/fsolve.html

(2)

• można wykorzystać następujące równania x5− x + 1 = 0 (x − 1)2(x + 1)3+ 1

x4+ 0.1 − 0.731 = 0 e−x = x

Równanie Keplera

x − ε sin (x) = M

gdzie ε przyjmuje wartości z przedziału [0, 1], równanie van der Waalsa, wyznacze- nie liczby π, wielomian Wilkinsona.

• Dla funkcji f : (0, ∞) → R takiej, że

f (x) = 1

x1,5+ x (1)

obliczamy f−1(5), szukamy x takiego, że f (x) − 5 = 0. Rozwiązanie na wolframal- pha.com http://www.wolframalpha.com/input/?i=1%2F(x%5E(1.5)+%2B+x)+%

3D+5.

• równanie

sin3(x) + cos (3s) = 0 (2)

oraz układ równań

(s3+ 4c3− 3c = 0

s2+ c2− 1 = 0 (3)

• układ równań wielomianowych w postaci łańcucha regularnego

x2− 1 = 0

(x − 1) (y − 1) = 0 y2− 1 = 0

(4)

https://en.wikipedia.org/wiki/System_of_polynomial_equations

• układy wielu równań nieliniowych ,https://cran.r-project.org/web/packages/

BB/vignettes/BBvignetteJSS.pdf

Wskazówki do R

• w uniroot końce przedziału muszą mieć przeciwne znaki, parametr extendInt

• w multiroot nie da się podać kilku punktów startowych

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/uniroot.html

(3)

https://stat.ethz.ch/R-manual/R-devel/library/base/html/polyroot.html

https://www.rdocumentation.org/packages/rootSolve/topics/uniroot.all

https://www.rdocumentation.org/packages/rootSolve/topics/multiroot

http://finzi.psych.upenn.edu/library/NLRoot/html/BFfzero.html

http://finzi.psych.upenn.edu/library/NLRoot/html/NDHfzero.html

http://finzi.psych.upenn.edu/library/NLRoot/html/NIMfzero.html

http://finzi.psych.upenn.edu/library/NLRoot/html/SMfzero.html

https://www.rdocumentation.org/packages/nleqslv/topics/nleqslv

https://www.rdocumentation.org/packages/nleqslv/topics/searchZeros

https://www.rdocumentation.org/packages/nleqslv/topics/testnslv

http://search.r-project.org/library/BB/html/BBsolve.html

http://search.r-project.org/library/BB/html/dfsane.html

http://search.r-project.org/library/BB/html/multiStart.html

http://search.r-project.org/library/BB/html/sane.html

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/optim.html

https://www.rdocumentation.org/packages/systemfit/topics/nlsystemfit Wskazówki do Matlaba

• do wyszukiwania miejsc zerowych metodami numerycznymi użyć funkcji, http:

//www.mathworks.com/help/matlab/ref/fzero.html oraz opcjonalnie http://

www.mathworks.com/help/curvefit/fnzeros.html z curve fitting toolbox lub

http://www.mathworks.com/help/matlab/ref/roots.htmllubhttp://www.mathworks.

com/help/optim/ug/fsolve.html

• do wyszukiwania miejsc zerowych metodami symbolicznymi użyć funkcji http://

www.mathworks.com/help/symbolic/solve.html, jeśli funkcja nie może znaleźć rozwiązania symbolicznego, używany jest solver numeryczny

• można przetestować dodatkowo wyszukiwanie miejsc zerowych w optimtool.

Przykłady do R

• f <- function(x) (x-1)*x^2*(x+2)^3 print(uniroot(f, c(-3, -1)), digits=22)

(4)

• parametry tol (domyślny

εM) i maxiter (domyślnie 1000)

print(uniroot(f, c(-3, -1), tol=.Machine$double.eps)$root, digits=22)

• zapisanie znajdowania miejsca zerowego jako problemu optymalizacji print(optimize(function(x) abs(f(x)), c(-3, -1)),

tol=.Machine$double.eps)$minimum, digits=22)

• zastosowanie polyroot

as.numeric(polyroot(c(0, 0, -8, -4, 6, 5, 1)))

• funkcja ze wskazówek

str(uniroot(function(x) 1/(x^1.5 + x) - 5, c(0.1, 100)))

• zapisanie znajdowania miejsca zerowego układu równań nieliniowych jako problemu optymalizacji, dla układu równań

(x21− x2− 0.5 = 0

−x1+ x22− 0.5 = 0 (5)

Równanie na wolframalpha.com http://www.wolframalpha.com/input/?i=x1%

5E2+-+x2+-+0.5+%3D+0,+-x1%2Bx2%5E2+-+0.5+%3D+0 f1 <- function(x) x[1]^2 - x[2] -0.5

f2 <- function(x) -x[1] + x[2]^2 -0.5 f3 <- function(x) x[1]^2 - x[2] +0.5 f4 <- function(x) -x[1] + x[2]^2 +0.5

optim(c(0,0), function(x) f1(x)^2 + f2(x)^2, control=list(reltol=1e-16))[1:2]

optim(c(0,0), function(x) f3(x)^2 + f4(x)^2, control=list(reltol=1e-16))[1:2]

1.2 Zadania na 4.0

• Zdefiniować wybrane krzywe z radialnymi funkcjami bazowymi (RBF) postaci

n

X

i=1

αiexp −k ~xi− ~xk2

2 = 0 . (6)

Proszę dobrać tak parametry n > 1, σ, punkty ~xi aby w pierwszym przypadku rozwiązanie było funkcją ostatniej współrzędnej, w drugim przypadku rozwiązanie nie było funkcją ostatniej współrzędnej (rozwiązaniem jest krzywa zamknięta).

Wybrać krzywe zarówno dwuwymiarowe jak i trójwymiarowe.

(5)

• Napisać skrypt w Matlabie, który znajduje rozwiązania za pomocą rozwiązywania równań nieliniowych.

• Obliczyć średni błąd za pomocą porównania rozwiązania z prawidłowym rozwią- zaniem lub obliczyć błąd za pomocą porównania lewej strony równania z zerem.

• Wyświetlić wykresy oczekiwanych i znalezionych rozwiązań.

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z badań.

Wskazówki

• Spróbkować wartości zmiennej x bez ostatniej współrzędnej, dla każdej próbki rozwiązać równanie nieliniowe ze zmienną, która jest ostatnią współrzędną.

1.3 Zadania na 5.0

• Dla wybranych zbiorów danych dla regresji np. z UCI Machine Learning Repository lub StatLib - DataSets Archive lub z http://kaggle.com dokonać aproksymacji wielowymiarowej oraz wyszukać miejsca zerowe funkcji aproksymujących. Zinter- pretować te punkty z odwołaniem do znaczenia danych. Można punkty przesunąć w górę lub dół tak aby istniały miejsca zerowe.

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z badań.

Cytaty

Powiązane dokumenty

Macierz główna układu równań A nie jest osobliwa (wyznacznik tej macierzy jest różny od zera)... Zastosowanie macierzy

I dodając do elementów dowolnego wiersza odpowiedne elementy innego wiersza pomnożone przez dowolną stała ¸, doprowadzamy do macierzy, której każda z pierwszych n kolumn składa

Jeśli wszystkie współczynniki wielomianu są nieujemne, to nie ma on zer dodatnich.m.. Dziekuję za

Przejdź do kroku 2 jeśli nie jest spełniony warunek STOPu... Dziekuję za

Przy przekształceniach elementarnych tej macierzy nie zmienia się zbiór rozwiązań układu równań Ax

Przekształcenie polega na tym, że równania, których współczynniki „nie mieszczą” się w minorze zostają skreślone, zaś zmienne, których współczynniki

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z

Macierze pierwszego rodzaju b¸edziemy oznaczć przez U, drugiego roodzaju