Введение. 1. Бернье Ж. Физиология цветения / Ж
1. Бернье Ж. Физиология цветения / Ж. Бернье, Ж.-М.Кине, Р.М. Сакс. – М.: Агропромиздат, 1985. – 317 с. 2. Біологічний словник. – Київ.: Головна редакція УРЕ, 1974. – 552 с. 3. Витковский В.Л. Морфогенез плодовых растений / В.Л. Витковский. – Ленинград.: Колос, 1984. – 205 с. 4. Жуковский П.М. Ботаника / П.М. Жуковский. – М.: Колос, 1982. – 623 с. 5. Куян В.Г. Плодівництво / В.Г. Куян– К.: Аграрна наука, 1998. – 472 с. 6. Плодовые культуры: Справочник / Сост. Р.П. Кудрявец. – М.: Агропромиздат, 1991. – 383 с. 7. Фридрих Г. Физиология плодовых растений. Пер. с нем. / Г. Фридрих, Д. Нойман, М. Фогель. – М.: Колос, 1983. – 413 с.
Введение Численные методы – это методы, позволяющие при помощи алгоритмов, имеющих конечное число итераций, решать различные математические задачи (заданные в аналитическом виде). При этом набор инструкций, использующийся для написания алгоритма, ограничен и включает только такие инструкции, которые элементарно реализуются на ЭВМ (в данном случае, применительно к языкам высокого уровня). Таким образом, ограниченность набора инструкций и конечность алгоритма делает возможной его реализацию в виде программы. Решение же задач на ЭВМ в аналитическом виде затруднено. Например, пусть нам требуется решить уравнение f (x) = 0 (т.е. найти нули функции). Очевидно, что аналитическое решение этого уравнения зависит от вида функции f (x). Если это линейная функция, то уравнение решается одним методом, если это квадратный полином – другим. Существует множество методов для решения такого уравнения, если функция является полиномиальной, тригонометрической, экспоненциальной, содержит дифференциалы, интегралы и т.д. Однако, ЭВМ не может провести анализ функции (в чем и заключается смысл аналитического решения), и поэтому численные методы поиска нуля функции построены так, что не зависят от ее вида. Численное решение априори является неточным, т.к. погрешности возникают как из-за использования приближенного алгоритма [1], так и по причине конечности разрядной сетки ЭВМ. Конечность разрядной сетки подразумевает, что не все числа ЭВМ может хранить без погрешности. Например, самый длинный тип данных, поддерживаемый математическим сопроцессором (FPU) и распространенными компиляторами, имеет размер 10 байт. При этом самое большое по модулю число, которое может уместиться в эти рамки, составляет ~104900, а самое маленькое – ~10–4900. Но это не означает, что точность такого числа составляет 4900 знаков после запятой. Если у числа есть целая часть, то количество двоичных разрядов, остающихся для кодирования дробной части, уменьшается. Кроме того, в виду двоичности представления чисел в FPU, точно кодируются только те числа, которые являются целой степенью числа 2 (или суммой таких степеней). Например, 210 = 102 (1·21 + 0·20), 1310 = 11012 (1·23 + 1·22 + 0·21 + 1·20), 0.510 = 0.12 (1·2–1), 0.312510 = 0.01012 (0·2–1 + 1·2–2 + 0·2–3 + 1·2–4). В противном случае число представляется в ЭВМ только с определенной погрешностью. Например, рассмотрим представление числа 0.1 с точностью до нескольких двоичных разрядов (количество разрядов указано в скобках): 0.110 = 0.0002 = 010 (3); 0.110 = 0.00012 = 0.06310 (4); 0.110 = 0.000112 = 0.0937510 (5); 0.110 = 0.0001102 = 0.0937510 (6); 0.110 = 0.00011002 = 0.0937510 (7); 0.110 = 0.000110012 = 0.0976562510 (8) и т.д. Как видно, точно это число представить двоичными разрядами невозможно. К сказанному можно еще добавить, что дополнительные погрешности появляются при вычислении блоком FPU различных функций – тригонометрических, логарифмических, степенных и т.п. Все эти функции вычисляются либо при помощи каких-либо алгоритмов (разложение в ряды и т.д.), либо при помощи таблиц (все мы пользовались во время обучения в школе похожими таблицами). В первом случае погрешность возникает по причине неточности алгоритма, невозможности вычисления бесконечного ряда и т.п. Во втором случае происходит округление аргумента до ближайшего узла сетки таблицы, поэтому и значение функции получается неточным. Следует также отметить, что не все задачи имеют аналитическое решение. Например, известно, что существуют неберущиеся интегралы. Если такой интеграл входит в интегральное уравнение, то решить его аналитически не удастся. Можно привести и более простые примеры функций, найти нули которых аналитическим способом (в общем виде) невозможно: f (x) = ax3 + bx2 + сx + d, f (x) = ax + cos(bx). Здесь a, b, c, d – произвольные константы. Проведение сложных математических расчетов требуется во многих отраслях науки и техники. При этом объем этих расчетов таков, что вручную за разумное время их выполнить невозможно. Примеры – распределение нагрузки между подключенными к электростанции объектами (оно должно происходить практически мгновенно при изменении потребляемой мощности), вычисление траектории космических тел, расчет движений земной коры в геоинформационных системах (а это задачи нефтяной, газовой и других отраслей) и многое другое. Для этого и внедряются в промышленность и науку вычислительные системы и пишутся специализированные пакеты для проведения численных расчетов. Распространение же ЭВМ ставит, в свою очередь, новые математические задачи, не существовавшие ранее – распределение Internet-трафика, обсчет трехмерных моделей в графических редакторах и играх и т.п. Таким образом, знание численных методов необходимо инженеру, область деятельности которого связана с программным обеспечением вычислительной техники и, в особенности, автоматизированных систем. Общие положения В рамках курса «Вычислительная математика» представлены следующие практические работы: 1. Решение уравнений с одной переменной. 2. Решение задач линейной алгебры. 3. Вычисление собственных чисел и собственных векторов. 4. Решение систем нелинейных уравнений. 5. Интерполирование и численное дифференцирование функций. 6. Приближение сплайнами. 7. Численное интегрирование функций. 8. Решение обыкновенных дифференциальных уравнений. 9. Решение интегральных уравнений 1-го и 2-го рода. Как видно, рассматриваемые задачи принадлежат к двум большим классам: численное решение уравнений (систем уравнений) и приближение функций. Обязательными для выполнения являются шесть из них – №1, №2, №3, №5, №6 и №7. Остальные (№4, №8 и №9) выполняются по желанию. 1.1. Выполнение и сдача работы Для сдачи практической работы необходимо показать и защитить программу. Защита заключается, во-первых, в демонстрации того, что входные и выходные данные соответствуют оговоренному формату и результаты вычислений корректны. Во-вторых, проверяется степень владения исходным кодом. Могут быть заданы вопросы по некоторым частям программы, либо будет предложено внести в программу некоторые модификации. На выполнение каждой работы отводится две недели (на некоторые, более сложные – месяц). Защищать работы не обязательно в том порядке, в котором они перечислены. Если к моменту защиты уже получены задания, например, на практические работы №1, №2 и №3, то защищать можно любую из них. Для тестирования программ можно использовать примеры из [2]. Для изучения краткой теории издано методическое пособие [1]. «Краткой» – потому, что для полного понимания изучаемых методов информации, полученной из методического пособия [1], может оказаться недостаточно. Для получения более подробной информации необходимо изучать литературные источники, указанные в [1] или другую аналогичную литературу по численным методам.
|