logo search
Мейрбекова,Хайрушева-Мат-08[1]

Математическое моделирование

Понятия, созданные современной математикой, зачастую кажутся весьма далекими от реального мира. Но именно с их помощью людям удалось проникнуть в тайное строение атомного ядра, рассчитать движение космических кораблей, создать весь тот мир техники, на котором основано современное производство. Одним из основных методов познания природы является опыт, эксперимент. С помощью экспериментов были установлены многие законы природы (закон сохранения вещества и энергии, периодическая система элементов Д.И.Менделеева и т.д.). Однако не всегда целесообразно проводить эксперимент. За последнее столетие в самых различных областях науки и техники все большую роль стал играть метод математического моделирования.

Чтобы изучить какое-нибудь явление природы или работу машины, предварительно изучают всевозможные связи между величинами, их характеризующими. Затем полученные связи выражают математически и приходить к системе уравнений, ученые и инженеры делают выводы о том, как в дальнейшем будет развиваться это явление или как будет работать машина, что надо сделать, чтобы получить требуемые результаты.

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

Математические модели, которые строили в XIX в., были сравнительно простыми. Но возрастающие требования к точности ответа, развитие техники, познание разнообразных явлений привели к построению все более сложных математических моделей. Большую помощь в их изучении оказывают быстродействующие вычислительные машины.

Сейчас с помощью математического моделирования решают такие задачи, как описание природы морей и океанов, изучение входа космического корабля в плотные слои атмосферы, перевод текстов с одного языка на другой и т.п. Появилась возможность строить математические модели экономики, применять математику в изучении общественных явлений, проблем истории, в изучении языков и т.д. Трудно указать область человеческой деятельности, в которой не применялся бы метод математического моделирования.

Кольцо

Множество R называется кольцом, если в нем определены две операции – сложение и умножение. Сложение и умножение являются коммутативными и ассоциативными, а также связанные законом дистрибутивности, причем сложение обладает обратной операцией – вычитанием. Закон дистрибутивности, т.е. обычное правило раскрытия скобок, является единственным требованием в определении кольца, связывающим сложение и умножение; лишь благодаря этому закону совместное изучение двух указанных операций дают больше, чем можно было бы получить при их раздельном изучении.

Всякое кольцо R обладает однозначно определенным элементом, сумма которого с любым элементом а этого кольца равна а. Будем называть этот элемент нулем кольца R и обозначать символом 0, не считая серьезной опасность смешать его с числом нуль. Таким образом, а+0=а для всех а из R.

Таким образом, алгебраические операции в произвольном кольце обладают многими привычными нам свойствами операций над числами.

Совокупность функции, определенных для всех действительных х, является кольцом после введения в нее описанным выше способом операций сложения и умножения.

Произведение любого элемента на нуль обязательно равен нулю, непосредственно опираясь на закон дистрибутивности.

В последнее время повышается интерес к кольцам с неассоциативным умножением и общая теория колец уже строится сейчас как теория неассоциативных колец. Простейшим примеров таких колец является множество векторов трехмерного евклидова пространства относительно операций сложения и умножения.

Х Х Х

Понятие алгоритм является основным для всей области компьютерного программирования, поэтому начать мы должны с тщательного анализа этого термина. На первый взгляд может показаться, будто кто-то собирался написать слово "логарифм", но случайно переставил первые четыре буквы.

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

На практике нам нужны не просто алгоритмы, а хорошие алгоритмы в широком смысле этого слова.

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

Фортран и С++

Фортран и C++ сходные программы, которые относятся к одной группе языков структурного программирования. Их иногда называют императивными языками. Давайте сравним только те особенности Фортрана и C++, которые имеют значения для научно-технических расчетов.

В C++ имеется логический тип, который одинаково используется в Фортране для вычисления логических выражений. В C++ записи сходны с записями и агрегатами инициализации в Фортране. Они неэффективны, потому что требуют проверки программы. Статические многомерные массивы в C++ совпадают с массивами в Фортране, которые имеют до семи измерений. Указатели являются источником ошибок аналогично и в C++ и в Фортране.

Определение отношений в C++ для символов, перечислений, числовых типов и указателей эквивалентно отношениям в Фортране.

Арифметические операции в C++ в отличие от Фортрана применяются к символам, перечислениям, числовым типам и указателям. Подпрограммы в Фортране различны от C++ по передаче параметров по значению и по ссылке. Рекурсия в Фортране характеризуется меньшей активностью, чем в C++ . Обработка ошибок в C++ выполняется обработчиком исключений, отличий от Фортрана, где это невозможно. В C++ подобно Фортрану отсутствует поддержка параллелизма. Состав программы из одной или нескольких единиц трансляции равен составу программы в Фортране.