Rozwiązywanie równań nieliniowych w C++

0

Witam wszystkich. Poszukuję biblioteki numerycznej która umożliwiłaby rozwiązywanie równań i układów równań nieliniowych, przykładowo takiego wielomianu (poszukiwane t):

s1 - s0 = g1 * t(-2) - g2 * t(-1) + g3 + g4 * t + g5 * t2 + g6 * t3

Z góry dzięki za pomoc.</image>

0

Nie wyda - pracuję pod Windą na Visual C++. Lipa, bo widzę że GSL spełniałby moje wymagania. Na tę chwilę jestem w stanie napisać algorytm rozwiązywania równania nieliniowego, jednak układu równań nieliniowych już nie. Jakieś pomysły ?

0

Ale jaki to jest problem ze pracujesz pod windą? o_O
Ściągasz tą bibliotekę, ustawiasz ścieżki w ustawieniach kompilatora i już. Jaki tu widzisz problem?

A compiled version of GSL is available as part of Cygwin on Windows

0

Spróbowałem, kompilator sypał jakimiś błędami. Skompilowałem wersję 1.08 dla Visual C++ z http://gnuwin32.sourceforge.net/packages/gsl.htm i wyskakuje błąd przy linkowaniu. Zaangażowałem znajomego ze sporym doświadczeniem w C++ by mi to wszystko poustawiał, gdyż jestem nowicjuszem i nic nie wyszło. Także to nie takie hop - siup. Znalazłem bibliotekę C/C++ Minpack ( http://devernay.free.fr/hacks/cminpack.html ) i teraz będę z tym kombinował, z tym że muszę już sobie radzić sam. Byłbym wdzięczny za wskazówki co i jak po kolei mam zrobić.

0

Ale nie mogłeś po prostu ściągnąć sobie tej wersji bez źródeł? Ustawić tylko ścieżki dla linkera i dla include i już? Czemu ludzie tak muszą kombinować? o_O

0

Ściągnąłem wersję bez źródeł, podpiąłem odpowiednie pliki, ale przy kompilacji program się wysypywał. Właściwie to robił to mój znajomy, nie pamiętam co dokładnie było nie tak. W każdym razie zdecydował się ściągnąć wersję źródłową przystosowaną do Windowsa i mającą plik sln dla Visuala, a następnie skompilować. Po tej operacji linker wysypywał jakiś błąd, możliwe że byłoby to do naprawienia. Shalom jeśli korzystasz z Visuala, masz chwilę i chęć by to sprawdzić, załaduj tę bibliotekę z Cygwina, napisz jakiś prosty program ją wykorzystujący (np. znajdujący pierwiastek jakiegoś wielomianu trzeciego stopnia), i daj znać czy działa.

0

Nie mam pod ręką Visuala w tej chwili, ale pod Code::Blocks wszystko dziala bez problemów ;]

0

Wypróbuj bibliotekę numerical recipes.
A jeśli nie musisz tego robić w C/C++ to może MATLAB tam napisanie takiego programy zajmuję 5 minut.

0

Numerical recipes ? Zarzuć linkiem do tej biblioteki, nie mogę znaleźć. Nigdy nie słyszałem o takiej bibliotece, a trochę już w tym "siedzę" ;] . Może słabo szukałem. Tworzę samodzielną aplikację, nie chcę tego robić w Matlabie. Zresztą program jest już napisany w Mathcadzie, a to co podałem to tylko promil. W Mathcadzie napisanie programu znajdującego miejsce zerowe np. podanej przeze mnie funkcji zajmuje mi minutę :-P

0

Trochę tzn. kilka dni na dobrą sprawę :d

1 użytkowników online, w tym zalogowanych: 0, gości: 1