Применение технологий Java и JavaFX для разработки виртуальных лабораторий математического моделирования

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

f

Из всего этого большого числа программного обеспечения, стоит выделить NetBeans. Почему именно он? Все просто. Во-первых, он полностью бесплатный. Во-вторых, поддерживает разработку на всех трёх платформах (J2SE, J2EE, J2ME). В-третьих, он наиболее популярен среди программистов. Также он поддерживает проверку синтаксиса, завершение кода и свертывание кода, тем самым делая процесс составления кода на порядок проще, по сравнению с обыкновенным блокнотом. NetBeans позволяет выполнять компилирование, запуск и отладку кода. Также имеются интегрированные GUI-конструкторы (Graphical user interface - GUI).IDE - свободная интегрированная среда разработки приложений (Integrated Development Environment - IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C++ и ряде других[5]. Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK(

По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода[6]. Также NetBeans IDE поддерживает плагины, позволяя значительно расширять возможности среды.

 

.3 Класс численных методов

 

В данной работе, при разработке компьютерной модели, возникает необходимость решения систем дифференциальных уравнений первого порядка. К примеру, реализованная в курсовой работе модель межвидовой конкуренции задается следующей системой (2.1):

 

, (2.1)

 

Для построения графиков зависимости величин и , а также фазового портрета, необходимо решить данную систему на фиксированном временном промежутке с заданными коэффициентами и начальными условиями. В данном случае, исходную систему можно решить численно, используя метод Рунге-Кутта 4 порядка точности. В отличие от технологии Java, которая не имеет в своем арсенале стандартных пакетов численных методов, с решением подобных задач хорошо справляются такие специализированные математические пакеты как Maple, MATLAB и др. Однако, существует ряд библиотек численных методов, написанных на Java. Для решения поставленной задачи, я использовал класс численных методов Рунге-Кутта 4 порядка точности из научной Java-библиотеки Майкла Томаса Флэнагана. Данный класс ориентирован на решение как одного дифференциального уравнения, так и систем дифференциальных уравнений. Разрешение на использование, копирование и изменение данного программного обеспечения и его документации для некоммерческих целей предоставлено бесплатно, при условии, что упоминание автора, доктора Майкла Томаса Фланагана на www.ee.ucl.ac.uk/ ~ mflanaga, появляется во всех копиях и связанных с ними документациях или публикациях. При соблюдении вышеупомянутых условий, исходный класс был изменен, в соответствии с конкретной поставленной задачей по следующим причинам:

Исходный класс содержал различные методы решения дифференциальных уравнений, а также их систем, что соответственно увеличивало размер данного класса. Мною было принято решение сократить его размер и оставить только необходимые методы решения системы дифференциальных уравнений методом Рунге-Кутта 4 порядка;

Исходный класс был построен таким образом, что после обращения к нему, возвращалось значение функций лишь в конечный момент времени, что было нерациональным, для последующего построения графиков зависимостей с использованием этих значений;

В конечном итоге преобразованный класс численного решения системы дифференциальных уравнений первого порядка методом Рунге-Кутта 4 порядка точности имеет следующую структуру:

Инициализация системы дифференциальных уравнений происходит в классе InitSystem.java, исходный код которого расположен в Приложении 1;

Процесс численного решения системы дифференциальных уравнений первого порядка методом Рунге-Кутта 4 порядка точности осуществляется классом RungeKutta_method.java, исходный код которого расположен в Приложении 3;

Значения, полученные в процессе вычисления системы, которые затем используются для анализа и изучения поведения модели, записываются в объект класса coordinates.java, исходный код которого расположен в Приложении 2;

Алгоритм работы класса RungeKutta_method{} изображен на рис. 3.3.

 

Рис. 2.2. Алгоритм работы класса RungeKutta_method{}

 

2. АРХИТЕКТУРА АППЛЕТА

 

После того, как мы определились с языком программирования и всеми необходимыми инструментами, можно приступать к разработке приложения. В моей курсовой работе уже упоминалось, что виртуальная лаборатория математического моделирования будет размещена в глобальной сети Интернет, что позволит обеспечить к ней открытый доступ. В связи с этим, передо мной стоит задача написать не просто приложение, а апплет, который и будет в конечном итоге размещен на сайте совместной лабора?/p>