воскресенье, 13 февраля 2011 г.

Вычислительная математика

собственно, начало раскрывания тем из списка. Начну с конца, а именно - студентота, третий или четвёртый курс, вычислительная математика. То есть это для Вас. Для начала небольшое лирическое отступление.

На третьем курсе моей специальности появился такой предмет, как вычислительная математика. На втором семестре мы уже должны были создавать программы, которые решали систему линейных и нелинейных уравнений за нас, причём разными методами. Так как программист из меня не очень, я задумался поискать готовое в инете. Вариантов решений было много, но почти не один не подходил для моих задач, к тому же мне нужны были исходники программ. Поэтому собрав весь материал,что у меня есть, я за один день родил 3 маленькие программки, которые я сдам на следующей неделе. Выкладываю для тех, кто искал, ломался, но не мог нигде найти. Бесплатно не мог найти. Ну и сам предмет по сути не всем нужен, для большинства он из разряда сдал-забыл. Хотя сам предмет довольно неплох, позволяет решать такие-то системы уравнений довольно быстро. Собственно сами программы:


1. Решение системы линейных алгебраических уравнений методом простых итераций и Зейделя.
мне была дана система типа

11x1 + x2 + 2x3 = 13
x1 + 9x2 + 2x3 = 11
x1 + 2x2 + 11x3 = 13

Вот сам интерфейс программы:

В таблицу 1 вбиваем матрицу из коэффициентов при X, в таблицу 2 вбиваем результаты уравнений. Далее указываем количество итераций(чтобы программа, при несходимости не уходила в бесконечный цикл), указываем точность, которую надо достигнуть (eps) и нажимаем на кнопку "решить". И у нас получается вот это:


Кнопка "Вариант №2" просто вставляет цифры моего варианта. Её легко можно будет переделать для себя. И не смотрите, что в шапке программы написано "Метод Зейделя". Для него точно такая же по виду программа, но она укладывается в меньшее количество итераций.
Эти 2 программы можно будет легко переделать и на большее количество уравнений путём простого увеличения столбцов и строк в компоненте Stringrid. При наличии седьмой Дельфы на компе и прямых рук их легко переделать под то,что нужно именно Вам.

2. Решение систем нелинейных уравнений.
На скриншоте ниже можно видеть, какие методы используются.


Чтобы вбить нужное уравнение, надо обязательно править исходник, благо в нём есть нужные комментарии, чтобы понять, что где находится.

Вот ссылка на исходник программ: http://rghost.ru/4332680
пароль: qaz
если ссылка стухнет, сообщить мне, перезалью.


1 комментарий: