- •Новые информационные технологии
- •Часть 3. Основы математики и математическое моделирование Учебное пособие
- •Введение
- •Глава 1. Основы компьютерной математики
- •1.1. Математика и ее средства
- •1.1.1. Аксиоматический метод и структуры математики
- •1.1.2. Компьютерная математика как часть математики
- •1.1.3. Классификация средств компьютерной математики
- •1.1.4. Структура систем компьютерной математики
- •1.1.5. Обзор систем компьютерной математики
- •1.2. Система компьютерной математикиMathcad
- •1.2.1. Состав системы Mathcad и ее запуск
- •1.2.2. Основы работы с системой Mathcad 2001
- •1.2.3. Работа с текстовым редактором
- •1.2.4. Работа с формульным редактором
- •1.2.5. Операции вывода и присваивания
- •1.2.6. Шаблоны математических операторов и символов
- •1.2.7. Ошибки и прерывание вычислений
- •1.3. Простые типы данных
- •1.3.1. Числовые данные
- •1.3.2. Вещественные числа и их форматы
- •1.3.3. Комплексные числа
- •1.3.4. Строковые данные
- •1.3.5. Символьные данные и выражения
- •1.4. Сложные типы данных
- •1.4.1. Множества и подмножества
- •1.4.2. Массивы
- •1.4.3. Векторы и матрицы
- •1.5. Константы, переменные, операторы и функции
- •1.5.1. Числовые константы
- •1.5.2. Строковые константы
- •1.5.3. Переменные
- •1.5.4. Операторы
- •1.5.5. Выражения и функции
- •1.6. Основы графической визуализации вычислений
- •1.6.1. Понятия об основных геометрических объектах
- •1.6.2. Построение графиков функций одной переменной
- •1.6.3. Построение графиков поверхностей
- •1.7. Средства программирования в системеMathcad
- •1.7.1. Задание операторов пользователя
- •1.7.2. Задание программных модулей
- •1.7.3. Особенности применения программных модулей
- •Методические указания
- •2.1.2. Вычисление произведений
- •2.1.3. Вычисление пределов
- •2.3. Вычисление производных и интегралов
- •2.3.1. Определение производной и полного дифференциала
- •2.3.2. Вычисление производных
- •2.3.3. Определение интегралов
- •2.3.4. Вычисление интегралов
- •2.4. Решение уравнений и систем уравнений
- •2.4.1. Простое линейное уравнение и его решение
- •2.4.2. Решение систем линейных уравнений
- •2.4.5. Поиск всех корней степенного многочлена()
- •2.4.6. Решение систем нелинейных уравнений()
- •2.4.7. Реализация итерационных вычислений
- •2.5. Решение дифференциальных уравнений()
- •2.5.1. Основные понятия о дифференциальных уравнениях()
- •2.5.2. Решение систем оду()
- •2.5.3. Решение оду с помощью функции odesolve()
- •2.5.4. Решение жестких систем оду()
- •2.6. Решение задач оптимизации и линейного программирования
- •2.6.1. Основные понятия оптимизации
- •2.6.2. Пример оптимизации раскроя железного листа
- •2.6.3. Поиск минимума тестовой функции Розенброка
- •2.6.4. Функции maximize и minimize системы Mathcad
- •2.7. Разложение функций в ряды
- •2.7.1. Определение рядов Тейлора и Маклорена
- •2.7.2. Разложение в ряд Тейлора в системе Mathcad
- •2.7.3. Ряды Фурье()
- •2.7.4. Быстрые прямое и обратное преобразования Фурье()
- •2.7.5. Примеры преобразований Фурье()
- •2.7.6. Альтернативные преобразования Фурье()
- •2.8. Табличная интерполяция и аппроксимация
- •2.8.1. Теоретические основы интерполяции и экстраполяции
- •2.8.2. Интерполяция и аппроксимация по общей формуле Лагранжа
- •2.8.3. Полиномиальная интерполяция и аппроксимация
- •2.8.4. Кусочно-линейная и сплайновая аппроксимации в Mathcad
- •2.9. Статистическая обработка данных
- •2.9.1.Эксперименты, события и другие понятия статистики
- •2.9.2.Решение задач комбинаторики
- •2.9.3. Дискретные и непрерывные случайные величины
- •2.9.4. Законы распределения и статистические функции Mathcad
- •2.9.5. Регрессия и метод наименьших квадратов
- •2.9.6. Выполнение линейной регрессии в среде Mathcad
- •2.9.7. Полиномиальная регрессия в Mathcad
- •2.9.8. Проведение нелинейной регрессии()
- •2.9.9. Экстраполяция и предсказание
- •2.9.10. Сглаживание данных
- •Методические указания
- •10 Главных вопросов
- •Глава 3. Основы математического моделирования
- •3.1. Основные понятия моделирования
- •3.2. Основные виды моделей и их свойства
- •3.2.1. Основные виды моделей
- •3.2.2. Основные свойства моделей
- •3.3. Цели, принципы и технология моделирования
- •3.3.1. Цели моделирования
- •3.3.2. Основные принципы моделирования
- •3.3.3. Технология моделирования
- •3.3.4. Основные методы решения задач моделирования
- •Оценка обусловленности вычислительной задачи – еще одно обязательное требование при выборе метода решения и построении математической модели.
- •3.3.5. Контроль правильности модели
- •3.4. Задачи моделирования полета камня
- •3.4.1. Постановка задачи моделирования
- •3.4.2. Концептуальная формулировка задачи
- •3.4.3. Построение математической модели
- •3.4.4. Выбор метода решения
- •3.4.5. Программная реализация модели на эвм
- •3.4.6. Проверка адекватности модели
- •3.4.7. Анализ результатов моделирования
- •Методические указания
- •10 Главных вопросов
- •Глава 4. Практика математического моделирования
- •4.1. Моделирование процессов на основе известных формул
- •4.1.1. Моделирование изменения параметров атмосферы
- •4.1.2. Моделирование закона Мура
- •4.1.3. Моделирование преодоления самолетом звукового барьера
- •4.2. Моделирование на основе конечно-разностных методов
- •4.2.1. Моделирование Броуновского движения частиц
- •4.2.2. Моделирование диффузии
- •4.2.3. Моделирование торможения автомобиля()
- •4.2.4. Моделирование падения парашютиста()
- •4.2.5. Моделирование генератора на туннельном диоде()
- •4.2.6. Моделирование развития и угасания эпидемии
- •4.3. Моделирование колебательных систем
- •4.3.1. Анализ линейной колебательной системы
- •4.3.2. Анализ нелинейной колебательной системы Ван дер Поля
- •4.3.3. Моделирование системы Дафинга с внешним воздействием
- •4.3.4. Хаос и моделирование аттрактора Лоренца()
- •4.4. Моделирование рассеивания альфа-частиц()
- •4.5. Моделирование биологических и экономических систем
- •4.5.1. Модель системы «хищник-жертва» Лотки-Вольтерра
- •4.5.2. Модель системы «хищник-жертва» с логистической поправкой
- •4.5.3. Модель системы «хищник-жертва» Холлинга-Тэннера
- •4.5.4. Моделирование замкнутой экономической системы
- •4.6. Моделирование на основе линейного программирования
- •4.6.1.Оптимальные экономико-математические модели
- •4.6.2. Решение задач максимизации объема продукции
- •4.6.3. Решение задач минимизации ресурсов
- •4.6.4. Решение транспортной задачи
- •4.6.5. Задачи целочисленного программирования с булевыми переменными
- •4.7. Сетевые модели в оптимизации управленческих решений
- •4.7.1. Задача поиска кратчайшего пути
- •4.7.2. Задача о распределении потоков в сетях
- •4.8. Обработка и моделирование сигналов и изображений
- •4.8.1. Основы спектрального метода моделирования сигналов
- •4.8.2. Спектральное моделирование на основе точных формул интегрирования()
- •4.8.3. Улучшенное спектральное моделирование дискретных сигналов()
- •4.8.4. Вейвлеты - новый базис представления сигналов()
- •4.8.5. Вейвлет-преобразования()
- •4.8.6. Примеры вейвлет-обработки сигнала - временного ряда()
- •4.8.7. Анализ сигналов по вейвлет-спектрограммам
- •4.9. Обработка изображений
- •4.9.1. Средства обработки изображений
- •4.9.2. Обработка монохромных изображений
- •4.9.3. Обработка цветных изображений
- •4.9.4. Функции для работы с файлами и матрицами рисунков
- •4.9.5. Вейвлет-компрессия рисунков в пакете Wavelet Extension Pack
- •4.10.1. Подготовка к работе с матричной лабораторией matlab
- •4.10.2. Имитационное моделирование и расширение Simulink
- •Методические указания
- •10 Главных вопросов
- •Список литературы
- •Глава 1. Основы компьютерной математики 4
- •Глава 2. Основы математических вычислений 50
- •Глава 3. Основы математического моделирования 105
- •Глава 4. Практика математического моделирования 121
4.1.2. Моделирование закона Мура
В первой книге из данной серии мы уже писали о «законе Мура» - удвоении числа транзисторов на кристалле микропроцессора за некоторый промежуток времени. Это типичный эмпирический степенной (экспоненциальный) закон представляется простым выражением:
. (4.1)
Здесь N – количество транзисторов на кристалле в некоторый год y (условно считаем его нулевым), F – число транзисторов на кристалле спустя y лет и yy – срок (в годах и долях года), за который число транзисторов возрастает вдвое.
Уточнение закона Мура на первый взгляд может показаться технической задачей. Но это совсем не так. Крупнейшая микроэлектронная корпорация мира Intel, потратившая на научные исследования в 2002 году свыше 4,5 миллиарда долларов, сделала этот сугубо эмпирический закон своим знаменем и средством прогноза своего развития. Известность этого закона настолько широка, что он стал нарицательным и скорее характеризует социальные аспекты развития микроэлектроники, чем чисто технические закономерности. А потому оценка закона Мура имеет большой интерес для социологов, экономистов и тех, кто интересуется историей и тенденцией развития современной информационной техники.
Попытаемся выяснить, насколько справедлив этот закон, используя метод нелинейной регрессии для заданной зависимости F(y). Для этого надо задать таблицу времен появления микропроцессоров различных модификаций и количества транзисторов в них. Решение этой задачи представлено на рис. 4.2.
В документе рис. 4.2 задается стандартная процедура нелинейной регрессии по формуле (4.1). Вектор Vy задает моменты создания процессоров (в годах относительно даты создания первого микропроцессора 4004), а вектор VN - число транзисторов на процессорах (в тысячах штук). Программа вычисляетN = 0,464 и yy = 1,769 при коэффициенте корреляции corr = 0,955. Близость этого коэффициента к 1 означает, что исходная зависимость и зависимость, полученная в результате регрессии, хорошо взаимно связаны - или, как говорят математики, коррелированы.
Рис. 4.2. Нелинейная регрессия для зависимости, описывающей увеличение числа транзисторов на кристалле процессора
корпорации Intel от времени
Хотя описанная задача кажется простой и эффектно решенной, на самом деле она выявляет множество проблем. Прежде всего, огромный диапазон изменения F(y) и большие числа в этой зависимости резко затрудняют проведение нелинейной регрессии. Именно поэтому число транзисторов пришлось задавать в тысячах штук. Значения N сильно отличаются при разных вариантах расчетов, задаваемых начальными приближениями, представленными в вектора S. Заметные погрешности в расчет может вносить округление (до года) дат появления микропроцессоров, а также вполне естественные выбросы или спады в количестве транзисторов для отдельных моделей микропроцессоров.
Линейный масштаб представления данных и кривой регрессии (левый график на рис. 4.2) плохо представителен. График в логарифмическом масштабе (правый) выглядит намного лучше. Но из него хорошо видно, что, несмотря на близкое к 1 значение коэффициента корреляции, большинство данных не укладывается точно на линию регрессии. При этом провал пары точек в правой части графика (новые микропроцессоры с большим числом транзисторов на кристалле) тут же ведет к подъему большей части исходных точек в левой части графика (старые микропроцессоры с малым числом транзисторов на кристалле).
Отчетливо видно, что лишь на протяжении первых 22 лет наклон экспериментальной кривой роста числа транзисторов хорошо соответствует наклону линии регрессии с параметром удвоения yy=1,769. Самое удивительное заключается в том, что это значение соответствует диапазону значений yy от 1,5 года до 2 лет, которые высказал Мур в своем предсказании. После 22 лет развития микропроцессоров закон Мура нуждался как минимум в двух уточнениях, и на это отчетливо показывает отличие наклона исходной кривой от линии регрессии.
Весной 2003 года Гордон Мур признал, что необходима и дальнейшая коррекция его закона, причем ее факторы полностью отвечают тем, которые были описаны в материалах по закону Мура в первой книге данной серии. В частности, такая коррекция необходима в связи с развитием новых технологий в производстве микросхем, например электронно-ионной технологии с применением рентгеновских излучений с малой длиной волны и нанотехнологий. Там же были описаны прогнозы по этой зависимости.