Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > GNU для С++: решение уравнений. С чего начать? |
Автор: valeriyzf 17.7.2010, 16:55 |
Как использовать функции и методы GNU в Visual C++ для решения математических задач? Перечитал весь ихний сайт, а конкретно, с чего начать, какие куда библиотеки устанавливать и т.д., так и не нашел. Конкретно интересует реализация следующего примера: http://www.gnu.org/software/octave/doc/interpreter/Nonlinear-Equations.html (решение системы нелинейных уравнений). Начиная со слов: "Here is a complete example..." Все очень аппетитно выглядит, но как довести этот пример до реального кода в С++? У кого есть опыт, пожалуйста поделитесь.. |
Автор: valeriyzf 17.7.2010, 19:58 |
Не дописал в первом случае "..Octave". И все же ![]() Я сам написал процедуры для решения систем нелинейных уравнений. Но они выглядят довольно громоздко и в некоторых случаях (от 3х ур-й) работают довольно долго. Так что начал поглядывать на уже готовые библиотеки. Спс |
Автор: Фантом 17.7.2010, 20:08 |
Octave - это, вообще говоря, не библиотека, а пакет со своим встроенным языком. В принципе, его можно прицепить к C++, но пока что непонятно, зачем Вам это нужно, да и "реальный код на C++" при этом все равно не получится. |
Автор: valeriyzf 17.7.2010, 23:26 |
Мне конкретно нужна процедура, решающая системы нелинейных уравнений (как в примере выше). Три строчки - и ответ готов! Идеально! Потому что сейчас я пользуюсь своей, которая считает довольно долго (по времени: иногда до 10 сек), и в некоторых частных случаях не очень хорошо работает. Соответственно, если уже есть готовая стандартная процедура, то я с удовольствием бы ею пользовался. Но, честно говоря, думал, что это все легко подключается к С++ ... |
Автор: Фантом 18.7.2010, 15:16 | ||
Тогда лучше пользоваться не Octave. Это хорошая штука, но все-таки она в первую очередь ориентирована на программирование на ее собственном языке. Если же Вам нужна библиотечная функция к программе на C++, воспользуйтесь, например, GSL. Описание есть http://www.gnu.org/software/gsl/, посмотрите мануал по ссылке, там все достаточно детально объясняется. |
Автор: W4FhLF 18.7.2010, 15:45 |
По ссылке можно прочесть, что Octave использует solver из пакета MINPACK. Его версия на С++ легко ищется в гугле и выведет вас на вполне достойную реализацию: http://devernay.free.fr/hacks/cminpack.html |