Решение систем нелинейных уравнений https://www.mapleprimes.com/users/one%20man/posts?page=1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Инструкции 3.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Компиляция
  2. Тестирование сделано в ubuntu 14.10, linux mint 17.1
  3. Для компиляции ginac необходим cln, g++, ряд других библиотек. Также необходимо заменить файл lexer.cpp Версия тестируемой библиотеки ginac 1.6.3
  4. cln:
  5. gmp-dev
  6. mathgl:
  7. zlib-dev
  8. libpng-dev
  9. libgl-mesa-dev
  10. libfltk-dev
  11. fluid
  12. ljpeg-dev
  13. lXft-dev
  14. lfontconfig-dev
  15. lXinerama-dev
  16. Mathgl вер. 2.3.2 компилируется согласно https://groups.google.com/forum/#!topic/mathgl/BbQ0aVnXkng
  17. 1. Set CMAKE_CXX_FLAGS to "-std=c++11"
  18. 2. Set MGL_HAVE_TYPEOF to 0 in CMakeCache.txt
  19. 3. Set MGL_HAVE_C99_COMPLEX to 0 in CMakeCache.txt
  20. # Известные ошибки
  21. * При количестве уравнений больше 6, идет очень долгая компиляция, т.к ginac раскрывает скобки.
  22. * Не работают правильно функции с модулем (ginac)
  23. * Начальные точки следует выбирать не "особые"
  24. * Точность принципиально вляет на расчет, при неудачном расчете повышайте точность
  25. * Отсутствует нормировка
  26. * Графика очень медленная по сравнению с octave, возможны ошибки при 1-ом запуске. (mathgl)
  27. # Описание использования
  28. Используются динамические библиотеки. Пиеред запуском в командной строке
  29. переходите в папку с программой, выполняете export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
  30. либо копируете библиотеки командой sudo cp draghilev.so libdet.so /usr/local/lib
  31. Запуск осуществляется из командной строки в папке Draghilev
  32. ./Draghilev -h команда помощи
  33. ./Draghilev входной_файл [выходной_файл]
  34. Флаг -m, --mathgl выводит графику с помощью mathgl
  35. Если аргументов нет, то входной файл example.txt
  36. После символа # можно добавлять комментарии.
  37. Примеры в папке test.
  38. 1-ая строка содержит 4 обязательных параметра: название векторной перменной, число переменных, шаг, число итераций. Пятый параметр вывод 2д графики при помощи переменной 2d
  39. 2-ая строка начальные точки
  40. 3-яя и последующие уравнения
  41. Запись уравнений сделана при помощи правил ginac. Уравнение линии задается в виде: line(n1,n2) где n1, n2 - номера точек, начиная с 1-ой
  42. окружность: circle(n1,x,y)
  43. окужность в 3д: cirlce(n1,nax,coord1,coord2) n1 - номер точки nax - номер плоскости для ху - 12, хz - 13, coord1, coord2 - координаты центра
  44. #Octave плагин
  45. Для компиляции необходимо задать переменной CXXFLAGS значение "-O2 -std=c++11"
  46. export CXXFLAGS=$"-O2 -std=c++11"
  47. make draghilev_oct
  48. Для запуска ./Draghilev -O название m-файла. Запуская m-файл в octave, необходимо чтобы входной файл и test.so были в одной папке с плагином.
  49. ! Возможно, что в текством редакторе последний знак надо оставлять в конце последнего уравнения. Некоторые текстовые редакторы автоматически добавляют новую пустую строку в конце файла.