edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · web viewОптимизация -...

167
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени ШАКАРИМА г. СЕМЕЙ Документ СМК 3 уровня УМКД УМКД 042-39. 1.ХХ/03- 2015 УМКД Учебно-методические материалы по дисциплине «Пакет прикладных программ» Редакция №____от_____ УЧЕБНО-МЕТОДИЧЕСКИИ КОМПЛЕКС ДИСЦИПЛИНЫ «Пакет прикладных программ» для специальности «5В011100 – Информатика» УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ

Upload: vuthuy

Post on 26-Aug-2018

261 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени ШАКАРИМА г. СЕМЕЙ

Документ СМК 3 уровня УМКД УМКД 042-39. 1.ХХ/03- 2015

УМКДУчебно-методические

материалы по дисциплине «Пакет прикладных

программ»

Редакция №____от_____

УЧЕБНО-МЕТОДИЧЕСКИИ КОМПЛЕКС ДИСЦИПЛИНЫ«Пакет прикладных программ»

для специальности «5В011100 – Информатика»

УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ

Семей2015

Page 2: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

СОДЕРЖАНИЕ

1 Глоссарий2 Лекции3 Практические и лабораторные занятия4 Самостоятельная работа студента

Page 3: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

1. ГЛОССАРИИОформляется в соответствии с пунктом 6.3.1 настоящей документированной

процедуры 1 Пакет прикладных программ - комплект программ, предназначенных для решения задач из определенной проблемной области.

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

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

Автоматизированная система - комплекс технических, программных, других средств и персонала, предназначенный для автоматизации различных процессов.

Текстовые процессоры — программы, используемые для автоматического форматирования документов, вставки рисованных объектов и графики в текст, составления оглавлений и указателей, проверки орфографии, шрифтового оформления, подготовки шаблонов документов.

Табличный процессор — программы для вычислений силами конечного пользователя; средства деловой графики, программы специализированной обработки (встроенные функции, работа с базами данных, статистическая обработка данных и др.).

Средства презентационной графики — специализированные программы, предназначенные для создания изображений и их показа на экране, подготовки слайд-фильмов, мультфильмов, видеофильмов, их редактирования, определения порядка следования изображений.

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

Аналитические методы - исключительно математическими методами, которые не требуют итерации.

Верной, называют значащую цифру приближенного числа а если абсолютная погрешность этого числа не превышает половины единицы разряда, соответствующего этой цифре (не превышает предельной абсолютной погрешности числа).

Верхняя треугольная матрица – матрица с равными нулю элементами, расположенными ниже диагонали

Значащими цифрами приближенного числа а называются все цифры в его записи, начиная с первой ненулевой слева.

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

Итерация - Неоднократно применения ряда операций постепенно продвигаться вперед к достижению урегулирования.

114

Page 4: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Клеточная матрица – матрица, ненулевые элементы которой составляют отдельные группы-клетки

Ленточная матрица – матрица, ненулевые элементы которой составляют «ленту», параллельную диагонали

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

Относительной погрешностью (а) приближенного числа а называется отношение в долях

единицы:

Предельная абсолютная погрешность а приближенного числа а, удовлетворяет следующему соотношению: (а) =А-а ≤а, или а- а≤А≤а + а.

Предельной относительной погрешностью а приближенного числа а называют число, не

меньшее относительной погрешности этого числа:

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

Симметричная матрица – матрица, элементы которой расположены относительно главной диагонали

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

2. ЛЕКЦИИ

Лекция № 1Тема: Пакет прикладных программ. Классификация пакета прикладных программ.

Проблемно-ориентированный пакет прикладных программ.Цель: дать определение пакету прикладных программ, познакомить с

классификацией.

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

114

Page 5: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Наличие языковых средств. Другой особенностью ППП является наличие в его составе специализированных языковых средств, позволяющих расширить число задач, решаемых пакетом или адаптировать пакет под конкретные нужды. Пакет может представлять поддержку нескольких входных языков, поддерживающих различные парадигмы. Поддерживаемые языки могут быть использованы для формализации исходной задачи, описания алгоритма решения и начальных данных, организации доступа к внешним источникам данных, разработки программных модулей, описания модели предметной области, управления процессом решения в диалоговом режиме и других целей. Примерами входных языков ППП являются VBA в пакете MS Office, AutoLISP/VisualLISP в Autodesk AutoCAD, StarBasic в OpenOffice.org

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

Проблемно-ориентированные ППП.Это самый представительный класс программных продуктов, внутри которого

проводите классификация по разным признакам:- типам предметных областей;- информационным системам;- функциям и комплексам задач, реализуемых программным способом, и др.Для некоторых предметных областей возможна типизация функций управления

структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов:

- ППП автоматизированного бухгалтерского учета;- ППП финансовой деятельности;- ППП управления персоналом (кадровый учет);- ППП управления материальными запасами;- ППП управления производством;- банковские информационные системы и т.п.Основные тенденции в области развития проблемно-ориентированных программных

средств:- создание программных комплексов в виде автоматизированных рабочих мест (АРМ)

управленческого персонала;- создание интегрированных систем управления предметной областью на базе

вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой клиент-сервер;

- организация данных больших информационных систем в виде распределенной базы данных на сети ЭВМ;

- наличие простых языковых средств конечного пользователя для запросов к базе данных;

114

Page 6: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

- настройка функций обработки силами конечных пользователей (без участия программистов);

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

Контрольные вопросы1. Что такое ППП?2. Назовите особенности ППП3. Классификация ППП

Лекция № 2Тема: Пакет прикладных программ. Интегрированный пакет прикладных

программ.Цель: раскрыть возможности интегрированных пакетов прикладных программ.

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

Наиболее распространены интегрированные пакеты, компонентами которых являются:

СУБД;текстовый редактор; табличный процессор; органайзер;средства поддержки электронной почты;программы создания презентаций;графический редактор. Компоненты интегрированных пакетов могут работать изолированно друг от друга,

но основные достоинства интегрированных пакетов проявляются при их разумном сочетании друг с другом. Пользователи интегрированных пакетов имеют унифицированный для различных компонентов интерфейс, тем самым обеспечивается относительная легкость процесса их освоения.Отличительными особенностями данного класса программных средств являются:

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

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

общий сервис для программ интегрированного пакета (например, словарь и средства орфографии для проверки правописания, построитель диаграмм, конвертер данных и др.);

легкость обмена и ссылок на объекты, созданные программами интегрированного пакета (применяется два метода: DDE – динамический обмен данными и OLE – динамическая компоновка объектами), единообразный перенос объектов (метод drag-and-drop);

наличие единой языковой платформы для разбора макрокоманд, пользовательских программ;

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

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

Контрольные вопросы114

Page 7: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

1. Что такое интегрированные прикладные пакеты.2. Назовите наиболее распространенные интегрированные пакеты3. Отличительные особенности данного класса

Лекция № 3Тема: Пакет прикладных программ для решения научно-технических проблем.

Библиотека стандартных программ.Цель: познакомиться с библиотекой стандартных программ.

Библиотека представляет собой набор отдельных программ, каждая из которых решает некоторую прикладную задачу или выполняет определенные вспомогательные функции (управление памятью, обмен с внешними устройствами и т.п.). Библиотеки программ зарекомендовали себя эффективным средством решения вычислительных задач. Они интенсивно используются при решении научных и инженерных задач с помощью ЭВМ. Условно их можно разделить на библиотеки широкого применения и специализированные библиотеки.

Программы, входящие в состав библиотеки широкого применения, предназначены для решения задач из различных предметных областей.

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

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

Проблема систематизации состоит в разбиении библиотеки на разделы и подразделы в соответствии с классификацией зада предметной области и методов их решения. Сюда входит выбор единых правил наименования программ (с учетом модификации и развития библиотеки), единых форм представления и наименования математически сходных объектов, единой схемы контроля ошибок и т. д.

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

Контрольные вопросы1. На что ориентированы специализированные библиотеки?2. В чем состоит проблема систематизации

Лекция № 4Тема: Введение. Основы работы в системе в Маткад.Цель: познакомить с основами работы

В настоящее время научно-технические расчеты на компьютерах все чаще проводятся с использованием современных математических пакетов (MatLab, Maple, MathCAD и др.). Эти специализированные математические программы позволяют быстро реализовать соответствующие математические модели на компьютере, минуя или значительно сокращая стадию программирования, характерную для традиционных языков программирования (Fortran, Basic, Pascal и др.), которая помимо больших затрат времени требует также

соответствующей высокой квалификации от исследователя. 114

Page 8: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Один из самых известных математических пакетов – система MathCAD. Можно отметить ряд ее особенностей, обеспечивших большую популярность MathCAD:

1. Математические выражения в системе MathCAD записываются в общепринятой математической форме, что повышает наглядность программ и позволяет создавать законченные научно-технические документы.

2. Пакет MathCAD дополнен справочником по основным математическим и физико-химическим формулам, которые легко переносятся в документ.

3. При решении задач можно использовать размерные переменные и выбрать нужную систему единиц измерения.

4. Широко используются информационные технологии, предоставляемые Internet.5. В то же время система MathCAD остается достаточно простой и доступной очень

широкому кругу пользователей.Основы пользовательского интерфейса

Система MathCAD имеет удобный и типичный для Windows-приложений пользовательский интерфейс – набор средств, обеспечивающих управление системой. При запуске MathCAD вначале появляется заставка, а затем открывается окно приложения.

Основную часть экрана занимает окно редактирования, первоначально пустое. Вверху окна редактирования видно несколько строк с типовыми элементами интерфейса.

Верхняя строка – титульная. Она отображает название загруженного или вводимого с клавиатуры документа. В левой части строки помещена стандартная кнопка управления окном, а в правой части – три маленькие кнопки для свёртывания окна, развёртывания его во весь экран и закрытия.

Вторая строка содержит позиции главного меню. Перечислим их назначение:File – работа с файлами, сетью Internet и электронной почтой;Edit – редактирование документов;View – изменение средств обзора и вкл./выкл. элементов интерфейса;Insert – установка вставок объектов и их шаблонов (включая графику);Format – изменение формата (параметров) объектов;Tools – управление процессом вычислений;Symbolic – выбор операций символьного процессора;Window – управление окнами системы;Help – работа со справочной базой данных о системе.Ниже главного меню располагается стандартная панель инструментов, дублирующая

ряд наиболее распространённых команд и операций.Во всех последних версиях MathCAD используются перемещаемые («плавающие»)

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

Вызвать любую панель на экран или скрыть ее можно с помощью пункта Toolbars (Панель инструментов) меню View (Вид) по имени нужной панели. Математические панели, в отличие от основных, можно вызвать нажатием соответствующей кнопки панели Math (Математика).Принцип блоков. Порядок вычислений

Полное математическое описание задачи в системе MathCAD будем называть документом. Документ состоит из отдельных частей – блоков (областей или регионов).

Блоки могут быть трех типов: текстовые; вычислительные; графические.Каждый блок занимает на экране некоторую прямоугольную область (ее контур

можно увидеть, исполнив команду меню View/Regions). Текстовый блок. Содержит комментарии и другие текстовые сообщения,

необходимые для пояснения документа, и облегчает работу программиста. MathCAD их «не 114

Page 9: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

замечает» (за исключением математических элементов, вставленных в текст командой Insert/Math Region).

Вычислительный блок. Содержит математические выражения (формулы, уравнения и т.п.).

Графический блок. В нем представлены результаты в графической форме.В MathCAD используется европейский стиль письма: слева направо и сверху вниз.

Порядок вычисления блоков должен соответствовать этому стилю, т.е. вычислительные и графические блоки должны располагаться в документе в том же порядке, в котором они выполняются. Блоки не должны налагаться друг на друга. Для упорядочивания областей используются команды Separate regions (разделение областей), Align regions (задание расположения областей) меню Format.

Используя стандартные приемы Windows, каждый блок или группу блоков можно выделить, а затем проделать над ними ряд операций: удалить, переместить, скопировать, выровнять по горизонтали или вертикали и т.д. Например, при наложении блоков друг на друга их можно разделить: для этого используется команда Format/Separate Regions.

Контрольные вопросы1. Назовите пункты основного меню и содержащиеся в них команды2. Как вызвать встроенную справочную систему3. Сколько типов блоков вы знаете

Лекция № 5Тема: Простейшие элементы языка Маткад.Цель: познакомить с элементами языка MathCAD

MathCAD имеет специализированный входной язык высокого уровня, ориентированный на математические расчеты. В нем можно выделить такие типичные для языков программирования понятия, как, например, идентификаторы, переменные, операторы, функции и т.д.Алфавит, идентификаторы и числа

АлфавитАлфавит входного языка MathCAD состоит: из строчных и прописных латинских букв; из строчных и прописных греческих букв; из арабских цифр; из специальных знаков (:=, %, .. и т.п.); из операторов; из системных переменных; из имен встроенных функций.Ввод символов и операторов, отсутствующих на клавиатуре, удобно осуществлять

при помощи соответствующих панелей инструментов. Например, ввод греческих символов проводится с использованием панели Greek. Часто используемые операторы общего назначения собраны на панели Calculator, остальные операторы – на специальных панелях. Часть встроенных функций расположена на панели Calculator, другие функции можно ввести при помощи команды меню Insert/Function или просто набрать с клавиатуры.

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

начинаться с буквы. Большие и малые буквы полагаются разными. Пример идентификаторов:x, X, My_value, P12, .

114

Page 10: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Кроме того, MathCAD различает шрифты. Например, A и A (жирный шрифт) рассматриваются как разные символы. То же самое справедливо для символов, написанных разными типами шрифтов.

Типы чиселЛюбое выражение, начинающееся с цифры, интерпретируется как число. Числа могут

быть действительными и комплексными. Изменение формата чисел проводится с помощью команды меню Format/Result.

Действительные числа. MathCAD работает с десятичными, двоичными, восьмеричными и шестнадцатеричными действительными числами.

Значения десятичных чисел могут меняться в диапазоне 10-307 (машинный ноль) ... 10307 (машинная бесконечность).

Числа допустимо записывать различными способами, например: 123.456; 0.123·103; 123456·10-3.

Комплексные числа. Комплексное число является суммой действительного и мнимого числа, получающегося путем умножения любого действительного числа на мнимую единицу i. По определению полагается, что . Для работы с комплексными числами имеется несколько специальных функций и операторов.Константы и переменные

Константы (системные переменные)Некоторые имена в MathCAD зарезервированы под системные переменные, которые

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

Математические константы:= 3,14159... – число Пи; e = 2,71823... – основание натурального логарифма; = 10307 – «машинная бесконечность»;% = 0,01– процент;i, j– мнимая единица.Системные переменные: TOL = 0,001 – погрешность численных методов;ORIGIN = 0 – начальное значение индексов векторов и матриц.Эти системные переменные имеют указанные значения после загрузки MathCAD.

Однако их значения можно переопределить в программе.ПеременныеЭто элементы языка, которые имеют имя и могут менять в программе свои значения.В MathCAD применяются переменные следующих типов: простые переменные (или

скаляры), переменные диапазона (или дискретные переменные), векторы и матрицы. В последних версиях MathCAD введены переменные строкового типа – их значением может быть любая последовательность символов, заключенная в двойные кавычки.

Для присваивания переменной значения используются конструкции вида:1) <имя переменной> := <выражение>;2) <имя переменной> <выражение>,

где <выражение> – любое допустимое выражение на MathCAD, :=,  – операторы присваивания (вводятся с помощью панели инструментов). Работают они справа налево: вначале вычисляются значения выражения, затем соответствующие переменные получают эти значения.

Тип переменной заранее не объявляется. Он определяется типом выражения в правой части после оператора присваивания.

Первый способ определяет так называемое локальное присваивание. Второй способ

относится к так называемым глобальным переменным.114

Page 11: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

До присваивания неглобальной переменной какого-либо значения ее применять нельзя, т.к. это вызовет ошибку с сообщением «undefined», а сама переменная отмечается красным цветом. Использование глобальных переменных может проходить до присваивания им значения. Для вывода числовых значений переменных после их имени нужно ввести знак равенства =.Арифметические и логические операторы

Операторы – элементы языка, которые позволяют создавать математические выражения.

К ним относятся символы арифметических операций, знаки вычисления сумм, произведений, производных, интегралов и т.д. После указания операндов (параметров, над

которыми осуществляются операции) соответствующие операторы выполняются. Например:Широкое использование операторов в MathCAD объясняется стремлением

максимально приблизить вид документа к математическому стилю. Сравните, например, sqrt(x) в языке Pascal и в системе MathCAD. Единицы измерения и размерность

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

Контрольные вопросы1. Из чего состоит алфавит языка2. Что называется идентификатором3. Что такое оператор4. Можно ли присваивать размерность переменным и функциям

Лекция № 6Тема: Переменные диапазона, векторы и переменные с индексомЦель: познакомить со специальными типами переменных

Кроме простых переменных (или скаляров) в системе MathCAD широко используются специальные типы переменных, которые характеризуют некоторую совокупность данных. К этим типам относятся переменные диапазона (или дискретные переменные), векторы и матрицы. В MathCAD эти переменные могут выполнять двойную роль: 1) роль массивов, аналогичную таковой в классических языках программирования, и 2) роль математических объектов, над которыми разрешены соответствующие математические операции. Переменные диапазона

Переменные диапазона или дискретные переменные можно задать двумя способами:1) <идентификатор> := <Nнач> .. <Nкон>;2) <идентификатор> := <Nнач>, <Nслед> .. <Nкон>.

Здесь <идентификатор> – имя переменной диапазона, <Nнач> и <Nкон> – соответственно начальное и конечное значения переменной, <Nслед> – следующее за <Nнач> значение переменной.

114

2 3 5 16 4

Оператор суммы

Оператор вывода

Оператор корня

Page 12: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Знак . . – единый символ, для его ввода удобно использовать кнопку на панели Calculate или Matrix.

Первый способ используется для определения переменных диапазона с целым шагом (+1): если <Nкон> больше <Nнач>, то шаг равен +1 и, наоборот, при <Nкон> меньше <Nнач> шаг равен 1.

Второй способ задает переменную диапазона с шагом, не равным 1.

Пример 1.

Таким образом, переменная диапазона в системе MathCAD представляет собой аналог арифметической прогрессии в математике.

Использование переменных диапазонаПеременные диапазона обычно используются при решении трех типов задач:1) расчет табличных значений выражений, например:2) переменную диапазона с целым шагом удобно использовать в качестве

индексов векторов и матриц;3) переменные диапазона позволяют организовать в программе итерации и

рекурсии

Векторы и переменные с индексомВекторы – переменные, которые имеют имена и характеризуют некоторую

совокупность данных. Элементы вектора нумеруются (или индексируются). По умолчанию нумерация начинается с нуля (определяется системной переменной ORIGIN, которая по умолчанию равна нулю). Например, если задан вектор V, то его элементами будут V0, V1, V2, …, Vi, где i – индекс вектора.

Для ввода индексной переменной удобно использовать кнопку панели Calculate или Matrix.

114

N 10 количество точек

2

N шаг расчета

0 2 переменная диапазона

0

0.628

1.257

1.885

2.513

3.142

3.77

4.398

5.027

5.655

6.283

sin 0

0.588

0.951

0.951

0.588

0

-0.588

-0.951

-0.951

-0.588

0

cos 1

0.809

0.309

-0.309

-0.809

-1

-0.809

-0.309

0.309

0.809

1

1 sin 2

1

1.345

1.905

1.905

1.345

1

1.345

1.905

1.905

1.345

1

Page 13: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Таким образом, индексированная переменная – это соответствующий элемент одноименного вектора. Отметим, что переменная может иметь и два индекса, этот случай рассмотрим позднее при изучении матриц.

Порядок нумерации можно изменить при помощи системной переменной ORIGIN. Так, если задать ORIGIN:=1, то нумерация векторов или матриц начинается с 1.

Отметим, что максимальный размер вектора ограничен только объемом оперативной памяти на компьютере.

Способы определения векторовСпособы задания векторов покажем на примере вектора V, содержащего 5

компонентов: целые числа 0, 2, 4, 6, 8.1 способ. Использование шаблона. Наберем V:=, а затем с помощью кнопки

панели Matrix зададим параметры, определяющие размер вектора (для этого надо указать количество строк и один столбец). Затем в шаблон необходимо ввести соответствующие числа или выражения. После этого вектор можно использовать, например, вывести все его значения, набрав V=.

2 способ. Поэлементное создание. Для этого можно использовать оператор присваивания, в левой части которого вводится имя вектора с индексом (или индексным выражением), а в правой – необходимые числа или выражения. Например, вектор V можно создать, используя переменную диапазона в качестве его индекса. Этот случай можно использовать, если известен некоторый алгоритм, определяющий элементы вектора. Операторы суммирования и перемножения

В математические выражения MathCAD могут также входить операторы суммирования и перемножения (таблица 3.1).

Табл.3.1 – Операторы суммирования и перемноженияОператор Назначение Панель

инструментов

Возвращает результат

суммирования x по диапазону i

Возвращает результат суммирования x при i = m, m+1, …, n. Здесь i – локальная переменнаяВозвращает результат перемножения x по диапазону i

Возвращает результат перемножения x при i = m, m+1, …, n. Здесь i – локальная переменнаяПримечание Здесь i – переменная диапазона с целым шагом, x – любое

допустимое выражение,Контрольные вопросы

1. Какие типы переменных кроме простых используются в системе MathCAD2. Какова их роль3. Как задаются переменные диапазона4. При решении каких типов задач используются переменные диапазона5. Что представляют собой векторы6. Способы задания векторов

Лекция № 7Тема: Построение графиковЦель: познакомить с видами графиков и их возможностями

114

Page 14: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

В системе MathCAD графики строить достаточно просто. Графики можно размещать в любом дозволенном месте, легко менять их размер или вид. На одном графике можно размещать много зависимостей. Графики должны следовать за теми вычислительными блоками, в которых готовится для них соответствующая информация. Графики могут быть двумерными (представлены в декартовой или полярной системе координат) или пространственными (трехмерными). Создание двумерных графиков

Создание графических шаблоновВсе графики создаются совершенно одинаково, с помощью панели инструментов

Graph или соответствующих пунктов меню. Вначале предварительно создается заготовка будущего графика – шаблон. Для создания шаблона будущего графика необходимо поместить курсор в соответствующее свободное место на экране – это будет верхний левый угол графического блока. Затем создать шаблон. Для этого удобно использовать соответствующие кнопки панели инструментов Graph.

Декартова система координат1. Выберите команду Graph/X-Y Plot из пункта меню Insert или соответствующую

кнопку панели Graph (см. рисунок 4.1).2. В средний маркер под осью x (горизонтальная ось) введите независимую

переменную.3. В средний маркер перед осью y (вертикальная ось) введите зависимую переменную.4. Нажмите «Enter».MathCAD cоздает графики по точкам: для каждого значения x и y строится точка на

плоскости x-y. По умолчанию точки на графике соединяются прямыми (это можно изменить при форматировании графика).

Независимые и зависимые переменные должны быть переменными диапазона, векторами или переменными с индексом, а также константами. Вместо переменных можно использовать соответствующие выражения.

Примечания 1. Если пределы изменения функции не установлены, то они будут установлены

автоматически.2. При количестве функций больше одной их имена вводятся через запятую.3. Кроме того, в среде MathCAD допустима быстрая технология построения

графика (QuickPlot): пользователь набирает функцию (f(x), например) и сразу отдаёт команду построения графика, который будет построен в диапазоне изменения аргумента от -10 до 10. Если пользователя это не устраивает, то график форматируется.

Полярные координатыСоздание шаблонов для графиков в полярной системе координат аналогично. Для

этого необходимо:1. Выбрать команду Graph/Polar Plot из пункта меню Insert или соответствующую

кнопку панели Graph.2. В маркер под рисунком ввести независимую угловую переменную (или

выражение).3. В маркер перед шаблоном слева ввести зависимую переменную (или выражение).4. Нажать «Enter».MathCAD cоздает графики по точкам: для каждого значения и r(). По умолчанию

точки на графике соединяются прямыми (это можно изменить при форматировании графика). Если пределы изменения функции не установлены, то они будут установлены автоматически.

Графики также можно строить не только в декартовой системе координат, но и в полярной. Например, уравнение спирали в параметрической форме можно записать так:

x(s)= s cos(s); y(s)= s sin(s).

Форматирование графиков114

Page 15: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Вид графиков зависит от многих параметров, некоторые из них можно изменять (форматировать). По умолчанию приняты такие параметры, которые наиболее типичны на практике. Их можно при необходимости изменить. Рассмотрим некоторые возможности форматирования.

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

Форматирование графиков в декартовой системе координатПеред форматированием график предварительно выделяется (для этого достаточно

щелкнуть мышью в области графического блока), а затем командой Format/Graph/X-Y Plot… вызывается диалоговое окно с четырьмя панельными переключателями.

Форматирование графиков в полярной системе координатПри форматировании графический блок выделяется, а затем с помощью команд

Format/ Graph/ PolarPlot… вызывается меню форматирования с панельными переключателями. Опции окна форматирования во многом аналогичны таковым для предыдущего случая.

Вторая ось по YНачиная с версии MathCAD 12, появилась дополнительная возможность добавления

второй оси y с собственной шкалой значений. Это удобно, когда на одном графике выводятся значения, сильно отличающиеся по величине.

Для того чтобы задать вторую ось ординат, необходимо выделить соответствующий график, открыть окно форматирования и в нем установить флажок Enable secondary Y axis. После этого становится доступной вкладка Secondary Y axis, в ней можно установить желаемые параметры для второй оси..

Трехмерные графикиВ системе MathCAD можно строить трехмерные графики следующих типов:o график трехмерной поверхности (Surface Plot);o график линий уровня (Contour Plot);o трехмерная гистограмма (3D Bar Plot);o трехмерное множество точек (3D Scatter Plot);o векторное поле (Vector Field Plot).Контрольные вопросы

1. Какие виды графиков знаете2. Как построить график3. Как отформатировать график

Лекция № 8Тема: ФункцииЦель: познакомить со встроенными и стандартными функциями

Система MathCAD содержит достаточно много встроенных или стандартных функций. При необходимости в MathCAD можно создавать и свои функции – функции пользователя, их назначение и содержание определяется пользователем.Основные стандартные функции общего назначения

Набор встроенных функций поставляется вместе с пакетом MathCAD. Их список вместе с кратким описанием можно посмотреть, если использовать команду меню Math/Insert Function.

Задача 1. Рассмотрим на примере задачи о случайном блуждании пешехода использование стандартной функции rnd(x). Допустим, что пешеход в силу некоторых

обстоятельств может двигаться только в одном направлении, для определенности – влево 114

Page 16: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Решение. Программа решения данной задачи и график приведены ниже.

Функции с условными выражениямиРассмотрим несколько функций, при использовании которых результат зависит от

выполнения определенного условия.Функция untilФункция может быть полезна при создании итерационных алгоритмов. Описание

функции: until(<выражение1>,<выражение2>).

Здесь <выражение1> и <выражение2> – любые допустимые выражения MathCAD. Если <выражение1> ≥ 0, то функция возвращает значение <выражение2>, в противном случае прекращает итерации. Рассмотрим конкретный пример.

Задача 2. Используя итерационный метод, написать программу расчета .Решение. Итерационное соотношение можно записать в виде

.

Если задать q0 как начальное приближение, то qi будет стремиться к точному решению при увеличении числа итераций i. Расчет можно прекратить при достижении условия , где заданное малое число (погрешность расчета).

114

p 0.5 вероятность шага влево

N 10000 количество шагов

i 0 N

ri rnd 1( ) вектор случайных чисел

x0 0 начальное положение пешехода

xi 1 xi ri p ri p хождение

0 5000 1 104100

50

0

50

xi

0

i

Здесь верх графика соответствуетлевому направлению движения, аниз – правому.

Page 17: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Текст программы и результаты приведены ниже.

Функция ifОписание функции:

if(<условие>,<выражение1>,<выражение2>).Здесь <условие> – выражение, содержащее условие; <выражение1> и

<выражение2> – любые допустимые математические выражения MathCAD. Если <условие> выполняется, то данная функция возвращает значение

<выражение1>, в противном случае – <выражение2>.<Условие> записывается в виде логического выражения, в состав которого могут

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

Задача 3. Рассчитать значения y по следующей формуле

построить график функции y(x) в диапазоне x=2…2.

114

Page 18: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Решение. Программа на MathCAD приведена ниже.

Функции пользователяНесмотря на наличие в MathCAD большого количества встроенных функций (часть их

перечислена выше), на практике может возникнуть потребность в новых функциях. Их можно создавать самим – такие функции будем называть функциями пользователя. При этом следует отметить, что возможности функций, создаваемых с помощью стандартного аппарата системы MathCAD, довольно ограничены: по существу, это однострочные функции (или функции-операторы, как их называют в некоторых языках программирования). Для создания более мощных функций необходимо использовать встроенный в MathCAD язык программирования

Функции пользователя определяются при помощи следующей конструкции: <имя функции>(<список аргументов>):=<выражение>.Здесь:<имя функции> – уникальное имя функции;<список аргументов> – список формальных параметров (аргументов) функции. Если

аргументов более одного, они отделяются друг от друга запятыми. Переменные, входящие в список аргументов, являются локальными – их действие проявляется только в пределах блока функции. Аргументами функции могут быть скаляры, векторы и матрицы (последний случай рассмотрим позже);

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

Функция пользователя, определяемая в программе, может использоваться многократно и точно так же, как и встроенная функция – обращение к ней по имени с указанием в скобках списка фактических параметров.

Контрольные вопросы1. Какие встроенные функций знаете?2. Что значит функции пользователя?3. Как определяются функций пользователя?

Лекция № 9

Тема: Операции с векторами и матрицами114

Page 19: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Цель: ввести понятие массива, знакомство со специальными функциями для работы с векторами и матрицами

Важным типом данных в системе MathCAD являются массивы. Массив – имеющая уникальное имя совокупность числовых или символьных элементов. В системе MathCAD используются массивы двух типов: одномерные (векторы) и двумерные (матрицы). Как векторы, так и матрицы можно использовать двояким образом: как массивы и как математические объекты, над которыми допустимо проводить соответствующие математические операции. Операции с векторами

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

где первый элемент – число, второй – имя переменной, третий – выражение, четвертый – имя стандартной функции. При этом значения x и y должны быть определены выше.

Векторные операторыОсновные векторные операторы приведены в таблице 6.1, где V и x – обозначения

векторов и скаляров соответственно. Практически все операции могут проводиться как с действительными, так и с комплексными переменными.

Табл. 6.1 – Векторные операторыОператор Назначение операторов Результат

V+x Сложение вектора со скаляром

Вектор, образованный путем добавления x к каждому элементу вектора V

Vx Вычитание из вектора скаляра

Вектор, образованный путем вычитания x из каждого элемента вектора V

V·x Умножение вектора на скаляр

Вектор, образованный путем умножения каждого элемента вектора V на x

Деление вектора на скалярВектор, образованный путем деления каждого элемента вектора V на x

V Смена знака Вектор, образованный путем смены знака у всех элементов вектора V

V1+V2 Сложение векторов одинаковой длины

Вектор, образованный путем суммирования соответствующих элементов векторов V1 и V2

V1V2 Вычитание векторов одинаковой длины

Вектор, образованный путем вычитания соответствующих элементов векторов V1 и V2

Скалярное произведение векторов

Скаляр, образованный по правилам скалярного произведения векторов

Векторное произведение трехэлементных векторов

Вектор, образованный по правилам векторного произведения векторов

Модуль вектора Скаляр, равный квадратному корню 114

Page 20: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

из суммы квадратов элементов вектора V

Суммирование всех элементов вектора

Скаляр, равный сумме всех элементов вектора V

Векторизация оператора. Позволяет провести какую-либо операцию над всеми элементами вектора

Зависит от вида оператора

VnВыделение n-го элемента вектора

Скаляр, равный n-му элементу вектора V

Символы векторных операторов, отсутствующие на клавиатуре, сгруппированы на панели Matrix.

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

1. Если v – вектор, то – модуль вектора, тогда как – вектор, полученный из

v путем взятия модуля из каждого элемента данного вектора:

2. Если v и w – векторы, то означает скалярное произведение векторов, тогда как – новый вектор, чей i-й элемент получен перемножением vi и wi:

Векторные функцииСистема MathCAD имеет большое число векторных функций. Здесь мы рассмотрим

некоторые функции общего назначения, а также ряд специальных функций.Ниже для определенности будем полагать, что системная переменная ORIGIN=0 и

задан вектор

.

length(V) возвращает длину вектора V, т.е. число его компонентов. Например, length(W)=4.last(V) возвращает индекс последнего элемента вектора V. Например, last(W)=3.max(V) возвращает значение элемента вектора V, имеющего максимальное значение. Например, max(W)=9.min(V) возвращает значение элемента вектора V, имеющего минимальное значение. Например, min(W)=0.

114

Page 21: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

mean(V) возвращает среднеарифметическое значение для элементов вектора V. Например, mean(W)=3.Re(V) возвращает вектор действительных элементов комплексного вектора V. Im(V) возвращает вектор мнимых элементов комплексного вектора V. sort(V) сортировка элементов вектора V в порядке возрастания их значений. Например,

.

revers(V) обращает порядок элементов вектора V. Например, .

Векторные функции пользователяПри определении функции пользователя в качестве аргументов можно использовать

векторы или матрицы. Кроме того, функции могут возвращать векторные или матричные значения. Рассмотрим несколько примеров.

Пример 1. Функция с векторным аргументом.Пусть V – вектор с компонентами V0, V1, … , Vn. Тогда, например, можно определить

свою функцию

, где на значения k1 и k2 накладываются ограничения

k1<k2n. Здесь в списке аргументов функции Sum приведен вектор V (это следует из вида выражения в правой части), сама функция возвращает скаляр – сумму элементов вектора в заданном диапазоне.

Пример 2. Векторная функция скалярного аргумента.Теперь рассмотрим случай, когда аргумент функции – скаляр, а сама функция

возвращает вектор. Например, определим функцию

, которая возвращает двухкомпонентный вектор. Это необходимо

учитывать при обращении к ней:

, , .

Пример 3. Векторная функция векторного аргумента.Теперь рассмотрим общий случай, когда и аргумент функции, и сама функция

являются векторами. Например, если

– вектор, содержащий значения полярных координат точки, то можно ввести

функцию, которая возвращает соответствующие декартовы координаты:

.

Одновременные вычисления с помощью векторовКак уже отмечалось, операторы MathCAD работают последовательно один за одним.

Иногда требуется, чтобы одновременно выполнялась группа операторов. Это можно сделать двумя способами: использовать встроенный язык программирования или использовать конструкцию, которая называется одновременным определением. В общем случае одновременное определение делается так:

.114

Page 22: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Здесь слева от оператора присваивания задается вектор имен переменных, справа – вектор соответствующих выражений той же размерности.

MathCAD вычисляет все элементы справа перед присваиванием значений любой из переменных слева.

Задача 1. С помощью одновременного определения поменять значения у переменных x и y.

Решение:

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

Матрицы, как и векторы, в MathCAD выполняют двоякую роль: 1) роль двумерных массивов, к элементам которых можно обращаться по их номерам (индексам), и 2) собственно матриц как математических объектов, над которыми можно проводить соответствующие математические операции.

Матрица, как и вектор, имеет имя, но ее элементы характеризуются двумя индексами – их можно рассматривать как номера строк и столбцов. Обычно нумерация идет с нуля, однако этот порядок можно изменить путем изменения значения системной переменной ORIGIN.

К элементам матрицы можно обращаться по имени матрицы с указанием индексов, например Mi,j. Таким образом, элемент матрицы – переменная с двумя индексами.

Как создать матрицуКак и в случае с векторами, существует несколько способов создания (определения)

матриц. Можно использовать шаблон, как это делалось при создании векторов, с тем отличием, что задается количество столбцов, не равное 1.

Матрицу можно также определить, используя выражения с переменными диапазона (дискретными переменными) в качестве индексов матрицы. Например, приведенные ниже

операторы создают матрицу М размером 45.Как и в случае с векторами, MathCAD заполняет неопределенные элементы матрицы

нулями. Например,

114

Page 23: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Этот прием также можно использовать для создания матриц.Отметим, что размер матрицы всегда можно изменить.Матричные операторыОсновные матричные операторы приведены в таблице 6.2, где M, V и x – обозначения

матриц, векторов и скаляров соответственно. Табл. 6.2 – Матричные операторы

Оператор Назначение операторов Результат

M+x Cложение матрицы со скаляром

Матрица, образованная путем добавления x к каждому элементу матрицы M

Mx Вычитание из матрицы скаляра

Матрица, образованная путем вычитания x из каждого элемента матрицы M

Умножение матрицы на скаляр

Матрица, образованная путем умножения каждого элемента матрицы M на x

Деление матрицы на скаляр

Матрица, образованная путем деления каждого элемента матрицы M на x

M Смена знакаМатрица, образованная путем смены знака у всех элементов матрицы M

M1+M2 Сложение матриц одинакового размера

Матрица, образованная путем суммирования соответствующих элементов матриц M1 и M2

M1M2 Вычитание матриц одинакового размера

Матрица, образованная путем вычитания соответствующих элементов матриц M1 и M2

Умножение матриц

Матрица, образованная по правилам умножения матриц. Матрицы должны быть согласованы

Умножение матрицы на вектор

Вектор, образованный по правилам умножения матриц и векторов

Возведение матрицы в целую степень n

При n>0 – матрица, полученная n кратным перемножением;при n=1 – исходная матрица;при n=-1 – обратная матрица;при n=0 – единичная матрица

Определитель матрицы

Скаляр, определитель квадратной

матрицы M 114

Page 24: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Транспонирование матрицы Траспонированная матрица

Выделение n-го столбца матрицы Вектор – n-й столбец матрицы

Выделение элемента Mn,m матрицы

Скаляр – Mn,m элемент матрицы M

Векторизация оператора. Позволяет провести какую-либо операцию над всеми элементами матрицы

Зависит от вида оператора *)

*) Операция векторизации аналогична таковой для векторов. Например, результатом операции будет матрица, полученная путем поэлементного перемножения компонентов матриц одинакового размера m1 и m2

Матричные функцииСистема MathCAD имеет большое число матричных функций общего назначения,

часть их рассматривается ниже. Здесь для определенности будем полагать, что системная переменная ORIGIN=0 и заданы матрицы

.

rows(M) – возвращает число строк матрицы M. Например, rows(m1)=2.cols(M) – возвращает число столбцов матрицы M. Например, cols(m1)=2.mean(M) – возвращает среднеарифметическое значение для элементов матрицы M. Например, mean(m1)=2.5.csort(M,n) – перестановка строк матрицы М так, чтобы отсортированным оказался n-й

столбец.rsort(M,n) – перестановка столбцов матрицы М так, чтобы отсортированной

оказалась n-я строка.tr(M) – возвращает след квадратной матрицы. Например, tr(m2)=5.rank(M) – возвращает ранг матрицы М. Например, rank(m1)= 2.identity(n) – возвращает квадратную матрицу размера n, у которой все элементы

главной диагонали равны 1, а остальные – 0.

Например, .

Re(M) – возвращает матрицу действительных частей элементов комплексной матрицы M.

Im(M) – возвращает матрицу мнимых частей элементов комплексной матрицы M.

augment(M1,M2) – объединение матриц путем помещения матрицы M2 справа от M1.

Например: .

stack (M1,M2) – объединение матриц путем помещения матрицы M2 под M1.

114

Page 25: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Например: .

submatrix(M,ir,jr,ic,jc) – субматрица, составленная из элементов матрицы M в строках с ir по jr и в столбцах с ic по jc.

Контрольные вопросы1. Что представляет собой массив 2. Назовите основные векторные операторы 3. Какие знаете векторные функции4. Операции с матрицами5. Как создать матрицу6. Матричные операторы7. Матричные функции

Лекция № 10Тема: Интерполяция и аппроксимация данныхЦель: рассмотреть примеры использования экспериментальных и статистических

данных

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

Допустим, что имеется таблица дискретных значений X, Y (таблица 7.1). Эти данные могут быть получены в результате эксперимента, статистических наблюдений или расчетом по сложным соотношениям. Для наглядности данные таблицы 7.1 можно представить в графической форме.

Табл. 7.1 – Дискретные данныеX 1 2 3 4 5 6 7Y 1.84 2.91 3.14 3.24 4.04 5.72 7.66

Часто требуется через эти точки по каким-либо правилам провести некоторую кривую y=f(x), которая с заданной точностью соответствует исходной информации. С такой кривой во многих отношениях удобнее работать:

1) легко получить значения y, соответствующие промежуточным значениям x;2) кривую можно продолжить в ту или иную сторону за пределы крайних точек

по x;3) кривую можно провести так, чтобы «сгладить» случайные ошибки

эксперимента или случайные колебания статистических данных.Существуют специальные методы построения таких кривых. Здесь мы рассмотрим

методы интерполяции и аппроксимации с помощью метода наименьших квадратов.ИнтерполяцияВ этом случае ищется такая зависимость y=f(x), чтобы искомая кривая точно

проходила через все точки (рисунок 7.2). Между точками поведение кривой может быть различным и зависит от типа интерполяции. Продолжение кривой влево от первой точки и вправо от последней точки получило специальное название – ЭКСТРАПОЛЯЦИЯ.

Аппроксимация

114

Page 26: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

При аппроксимации с помощью метода наименьших квадратов искомая кривая y=f(x) должна хорошо приближать исходные данные в среднем, при этом не требуется точного прохождения кривой через все точки (рисунок 7.3). Задачи такого типа часто называются задачами регрессии. Как и в случае интерполяции, для одного и того же набора данных можно построить много аппроксимирующих функций или функций регрессии. Эти функции

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

Интерполяция использует табличные значения некоторой функции, заданной в ряде точек, чтобы предсказать значения функции между точками. В системе MathCAD можно соединять точки прямыми линиями (линейная интерполяция) или соединять их отрезками кубического полинома (сплайн-интерполяция).

Линейная интерполяцияПусть известны значения некоторой функции f(x) в нескольких точках (см. таблицу

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

Линейная интерполяция в системе MathCAD осуществляется функциейlinterp(Vx,Vy,X).Здесь Vx – вектор координат точек по оси x, расположенных в порядке возрастания;Vy – вектор координат точек по оси y, соответствующих точкам x;X – значение независимой переменной, для которой находится интерполяционное

(или экстраполяционное) значение.Отметим, что при линейной интерполяции получается ломаная кривая. Её первые

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

Сплайн-интерполяцияПри кубической сплайн-интерполяции соседние узловые точки соединяются

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

Сплайн-интерполяцию удобно проводить в два этапа.1-й этап. Рассчитывается вектор Vs вторых производных интерполяционной кривой в

узловых точках одним из трех возможных способов:Vs:=cspline(Vx,Vy);

Vs:=pspline(Vx,Vy); 114

0 5 10

5

10 экстраполяция

интерполяция

Рис. 7.2 – Интерполяция

0 2 4 6 8

5

10

Рис. 7.3 – Аппроксимация с помощью метода наименьших квадратов

Page 27: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Vs:=lspline(Vx,Vy).Здесь Vx и Vy – векторы, содержащие координаты x и y, через которые нужно

провести сплайн. Как и в случае линейной интерполяции, вектор Vx должен быть упорядочен (по возрастанию значений). Функции cspline, pspline, lspline отличаются только граничными условиями: функция cspline соответствует кривой, которая в граничных точках (локально) ведет себя как полином 3-й степени, pspline – как парабола, а lspline – как прямая.

2-й этап. Осуществляется сплайн-интерполяция при помощи функцииinterp(Vs,Vx,Vy,x) , которая возвращает интерполируемое значение для заданного x.

Здесь Vs – вектор, полученный на первом этапе.Применение рассмотренных функций для сплайн-интерполяции данных, приведенных

в таблице 7.1, также показано на рисунке 7.4.

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

Допустим, что данные, представленные в таблице 7.1, нужно аппроксимировать некоторой функцией y=f(x, a1, a2, a3, …), где ai – соответствующие параметры функции. В отличие от интерполяции, рассмотренной в предыдущем разделе, мы не будем требовать, чтобы функция f(x) точно проходила через точки данных. Вместо этого потребуем, чтобы

аппроксимирующая функция y=f(x) удовлетворяла условию114

ORIGIN 1

Vx

12

34

56

7

Vy

1.842.91

3.143.24

4.045.72

7.66

- векторы координат точек

F x( ) linterp Vx Vy x( ) - линейная интерполирующая функция

Vs lspline Vx Vy( ) f x( ) interp Vs Vx Vy x( ) - сплайнинтерполирующая функция

x 0 0.1 10 -диапазон интерполяции

0 2 4 6 8 100

5

10

15

лин. интерполяцияспл. интерполяцияэксперимент

F x( )

f x( )

Vy

x x Vx

2.59 3.16 3.72 4.28 4.85 5.412.76

3.35

3.94

4.54

лин. интерполяцияспл. интерполяцияэксперимент

F x( )

f x( )

Vy

x x Vx

Рис.7.4. Линейная и сплайн-интерполяция данных. Справа приведен фрагмент графика в увеличенном масштабе, где хорошо видно отличие линейной и сплайновой интерполяции

Рис. 7.4 Линейная и сплайн-интерполяция данных. Справа приведен фрагмент графика в увеличенном масштабе, где хорошо видно отличие линейной и сплайновой интерполяции

Page 28: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

,

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

Отметим, что вид функции y=f(x) задается исследователем, при этом обычно принимаются во внимание следующие обстоятельства:

1) внешний вид данных (расположение точек на графике);2) физические соображения, связанные с существом решаемой задачи;3) предварительные оценки или интуитивные предположения.Система MathCAD содержит ряд функций для аппроксимации данных по методу

наименьших квадратов. Здесь мы рассмотрим в основном случай линейной регрессии.Аппроксимация прямойВ этом простом случае предполагается,

что аппроксимирующая функция имеет вид (7.1)

и соответствует прямой, для которой коэффициенты a и b имеют простой геометрический смысл. Для решения данной задачи в системе MathCAD имеются следующие функции:

slope(Vx,Vy) – возвращает значение коэффициента a;

intercept(Vx,Vy) – возвращает значение коэффициента b.

Покажем (рисунок 7.5), как используются эти функции на примере аппроксимации данных из таблицы 7.1.

Аппроксимация полиномомИспользуется в том случае, когда для

данных точек ожидается полиномиальная зависимость типа

, (7.2)где n – степень полинома.Аппроксимацию полиномом (7.2) удобно

проводить в два этапа.1-й этап. Рассчитывается вектор Vs с

помощью стандартной функции regressVs:=regress(Vx,Vy,n);2-й этап. Осуществляется аппроксимация полиномом при помощи функции

interp(Vs,Vx,Vy,x), которая возвращает значение аппроксимирующей функции для заданного x. Здесь Vs

– вектор, полученный на первом этапе.

114

Рис. 7.5 Аппроксимация данных прямой линией

Page 29: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Применение рассмотренных функций для аппроксимации тех же данных, приведенных в таблице 7.1, показано на рисунке 7.6.

Функция regress допускает использование полинома любого порядка. Однако на практике не рекомендуется использовать степень полинома выше n=4. Отметим также, что при n=1 данный метод совпадает с рассмотренным выше методом, использующим функции slope и intercept.

Контрольные вопросы1. Какие знаете методы для нахождения функции2. Дайте определение экстраполяций

Лекция № 11Тема: Решение уравненийЦель: рассмотреть некоторые встроенные операторы и функций для решения

уравнений и систем уравнений

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

Предварительные сведенияПусть задана некоторая непрерывная функция y=f(x). Требуется найти такие значения

x, для которых f(x)=0. Эти значения x называются корнями уравнения f(x)=0.Все уравнения можно разделить на два больших класса: линейные и нелинейные

уравнения. Решить линейное уравнение с одним неизвестным ax+b=0 просто, этот случай рассматривать здесь не будем.

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

АЛГЕБРАИЧЕСКИЕ УРАВНЕНИЯ можно записать в виде, (8.1)

где n – целое число, ai – заданные коэффициенты. Оно имеет n корней, включая кратные и комплексные.

ТРАНСЦЕНДЕНТНЫЕ УРАВНЕНИЯ – нелинейные уравнения, которые содержат

тригонометрические (например, sinx, cosx и т.п.) или другие специальные функции 114

Рис. 7.6 Аппроксимация данных полиномами 1-й, 2-й и 3-й степени. Справа приведен фрагмент графика в увеличенном масштабе, где хорошо видно влияние степени полинома

на поведение кривых

Page 30: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

(например, lnx, ex и т.п.). В общем случае количество корней трансцендентного уравнения заранее не известно.

Методы решения уравнений делятся на прямые и итерационные.ПРЯМЫЕ МЕТОДЫ позволяют найти решение непосредственно с помощью формул

и обеспечивают получение точного (без погрешностей метода) решения. Например, решение

уравнения ax2+bx+c=0 дается формулой: .

В ИТЕРАЦИОННЫХ МЕТОДАХ процедура решения задается в виде многократного применения некоторого алгоритма. Полученное решение всегда является приближенным. При этом обычно требуется задать некоторое начальное приближение корня, которое в ходе итераций уточняется. Если в ходе итераций получаются все более точные значения корня, то говорят, что метод итераций сходится, в противном случае он будет расходиться. Если некоторый итерационный метод расходится, то это может быть вызвано следующими причинами:

1) отсутствием решения;2) выбором неудачного начального приближения;3) непригодностью используемого метода к решению данной задачи.В общем случае рекомендуется следующая последовательность решения

нелинейного уравнения f(x)=0: исследуется количество, характер и расположение корней; находятся некоторые приближенные значения корней (их локализация); выбирается интересующий нас корень и проводится его уточнение (решение с

необходимой точностью).В системе MathCAD первые два этапа удобно проводить графически: для этого

строится график функции y=f(x) в нужном диапазоне значений x и визуально определяются координаты пересечения кривой с осью x. Дополнительно можно использовать возможности трассировки графиков и увеличения их масштаба.

Алгебраические уравненияЕсли задан полином n-й степени

,(8.2)то для нахождения его корней (вещественных и комплексных) удобно использовать

стандартную функцию системы MathCADpolyroots(V).Она возвращает вектор длины n, компоненты которого – корни данного полинома.

Коэффициенты исходного полинома (8.2) задаются в векторе V (размерности n+1):

Отметим, что функция polyroots не требует начального приближения.Уравнения любого типаРешение одного уравнения любого типа дается функцией root(f(x),x,[a,b]), которая

возвращает такое значение x, лежащее между a и b (причем b>a), при котором f(x)=0. Здесь a и b – необязательные параметры. Если они отсутствуют, то функция root требует начального приближения x для организации итерационного процесса. Для поиска комплексного корня следует взять в качестве начального приближения комплексное число. Если корней несколько, то выдаваемое значение корня зависит от заданного начального приближения. Если начальное приближение очень близко к минимуму или максимуму функции f, то

114

Page 31: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Решение систем линейных уравненийКраткие сведения из теории Рассмотрим систему n линейных уравнений с n неизвестными

(8.3)Систему (8.3) можно записать в компактной матричной форме , (8.4)где A матрица коэффициентов при неизвестных:

и - вектор свободных членов и вектор решений соответственно.

В курсе линейной алгебры показано, что если матрица A не вырождена (т.е. ее определитель не равен нулю), то система (8.3) или (8.4) имеет единственное решение.

Таким образом, при решение системы (8.4) существует и его также можно записать в матричной форме:

, (8.5)где – матрица, обратная А.Решение методом обратной матрицыРанее мы уже рассмотрели матричные и векторные операторы. Используя их, легко

получить решение системы линейных уравнений. Допустим, что система (8.3) задана. Тогда:o определяем матрицу A и вектор B;o проверяем матрицу A на вырожденность;o если матрица не вырождена, то находим вектор решений по формуле (8.5);o выводим результат;o делаем проверку.Решение с помощью функции lsolveДля решения систем линейных уравнений можно также использовать стандартную

функцию lsolve(A,B), которая возвращает вектор решений для заданных значений матрицы коэффициентов A и вектора свободных членов B. Матрица A, как и в предыдущем случае, должна быть не вырожденной.

Решение линейной системы методом ГауссаЭтот метод состоит в том, что систему n уравнений приводят последовательным

исключением неизвестных к системе треугольного вида, а затем ступенчатую матрицу преобразуют так, чтобы в первых n столбцах получилась единичная матрица. Последний (n+1) столбец содержит решение системы. В MathСAD прямой и обратный ходы метода Гаусса выполняет функция rref(M).Решение систем нелинейных уравнений

При решении систем нелинейных уравнений в системе MathCAD используется

специальный вычислительный блок (solve block), который имеет следующую структуру:114

Page 32: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

<Начальные приближения переменных>Given <Уравнения><Ограничительные условия><Выражения с функциями Find или Minerr>

Здесь:<Начальные приближения переменных> – начальные значения для всех

неизвестных, входящих в систему уравнений;Given – ключевое слово, которое указывает MathCAD, что далее следует система

уравнений;<Уравнения> – решаемые уравнения, количество которых равно количеству

неизвестных;<Ограничительные условия> – дополнительные ограничения на решения в виде

неравенств.Функции Find(z1, z2, z3, …) и Minerr(z1, z2, z3, …) возвращают вектор решений

системы уравнений. Число аргументов z1, z2, z3,… должно быть равно числу неизвестных в уравнениях.

При наборе уравнений и неравенств следует использовать логические операторы = (булево равенство), >, и пр.

MathCAD возвращает в блоке solve block только одно решение. Для поиска конкретного решения нужно использовать соответствующие начальные приближения или дополнительные ограничения в виде неравенств. Рассмотрим использование блока решений на конкретных примерах.

Функцию Find, которая завершает блок решения, можно использовать, как и любую другую функцию. Можно определить новую переменную с использованием данной функции, например, a:=Find(z1,z2, …) и вектор a использовать в другом месте рабочего документа. Используя Find, можно также определить другую функцию. Для этого блок решения необходимо закончить выражением типа

f(a,b,c,…):=Find(z1,z2,z3,…).Если в ходе решения системы уравнений итерации перестают сходиться, а нужная

точность еще не достигнута, то поиск решения прекращается и выводится сообщение «No solution was found» («решение не найдено»). Причиной может быть как отсутствие решения, так и неудачные начальные приближения или ограничения. В этом случае полезно провести графический анализ системы уравнений и уточнить область, в которой могу находиться искомые решения. Это поможет выбрать более подходящее начальное приближение. В этой ситуации также можно применить вместо функции Find другую функцию – Minerr, которая работает по такому же алгоритму, но при отсутствии решения выдает значения, в наибольшей степени удовлетворяющие заданной системе уравнений и дополнительным ограничениям. Контрольные вопросы

1. На какие группы делятся нелинейные уравнения2. На какие группы делятся методы решения уравнений

Лекция № 12Тема: Производные и интегралыЦель: познакомиться с операторами дифференцирования и интегрирования.

Операции дифференцирования и интегрирования в системе MathCAD достаточно просто выполнить с помощью соответствующих операторов. Операторы дифференцирования и интегрирования

Математические выражения в MathCAD могут содержать операторы дифференцирования и интегрирования. Их удобно вводить с помощью панели инструментов

114

Page 33: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Calculus. Причем операции дифференцирования и интегрирования обозначаются при помощи традиционных обозначений.

При этом функция f(x), значения a, b и x должны быть определены заранее. Кроме того, функция f(x) может быть функцией многих переменных. Дифференцирование

Вычислительный процессор MathCAD обеспечивает вычисление производной с точностью до 7-8-го знака после запятой.

Дифференцирование в точкеДля того чтобы продифференцировать некоторую функцию f(x) в некоторой точке

необходимо:1) определить точку, в которой вычисляется производная;2) ввести оператор дифференцирования, заполнить соответствующие маркеры;3) ввести оператор численного вывода результата – знак =.При дифференцировании в MathCAD обычно не возникает сложных проблем.

Исключение составляют функции, которые дифференцируются в окрестности сингулярной точки, например, в точке x=0 для функции f(x)=1/x. Проверить это вы можете самостоятельно.

Частные производные Можно вычислять частные производные функций со многими переменными. Для

этого по умолчанию используются те же операторы дифференцирования. Математическую интерпретацию полученных результатов вы можете дать, используя

векторный анализ.Интегрирование

Численное интегрирование – достаточно простая вычислительная операция. Оно реализовано в виде соответствующего оператора MathCAD. Результатом численного интегрирования является некоторое число – значение определенного интеграла. Задача нахождения неопределенного интеграла решается с помощью символьного процессора. Здесь эти вопросы не рассматриваются.

Определенный интегралЧтобы вычислить определенный интеграл, следует написать его обычную

математическую форму (рисунок 9.4).

Можно вычислять интегралы с одним или обоими бесконечными пределами, для этого используется соответствующий символ бесконечности (рисунок 9.5).

Кратные интегралыКратным называется интеграл функции многих переменных, берущийся по

нескольким переменным. Для вычисления кратного интеграла требуется:

1) ввести оператор определенного интеграла;114

0

xexp x2

d 0.886

Рис. 9.4 – Расчет определенного интеграла

xexp x2

d 1.772

Рис. 9.5 – Вычисление интеграла с бесконечными пределами

Page 34: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2) на месте подынтегральной функции ввести еще один или несколько операторов интегрирования;

3) ввести переменные интегрирования и их пределы изменения.Пример показан на рисунке 9.6.

Пример: длина дуги кривойРассмотрим пример использования вычислительного процессора для расчета длины

участка кривой, заданной некоторой функцией f(x) в промежутке a  x  b (рисунок 9.7). В данной задаче необходимо применить совместно операции интегрирования и дифференцирования.

Контрольные вопросы1. Что необходимо, чтобы продифференцировать некоторую функцию f(x) в некоторой точке2. Можно ли вычислять частные производные функций 3. Что является результатом численного интегрирования 4. Какой интеграл функции называется кратным

Лекция № 13

Тема: Решение обыкновенных дифференциальных уравнений114

a 0 b 3

a

b

x1

1

yx y3

d

d 9

Рис. 9.6 – Вычисление кратного интеграла

f x( ) x2 x3

2 çàäàííàÿ ôóíêöèÿ

a 0 b 2 x a a 0.1 b ïðåäåëû èçìåíåíèÿ x

0 0.5 1 1.5 20

0.2

0.4

0.6

f x( )

x

ãðàôèê ôóíêöèè

îïðåäåëÿåì äëèíó äóãè ôóíêöèè f(x)

â ïðîìåæóòêå a x b

L

a

b

x1xf x( )d

d

2

d ðàñ÷åò ïî ôîðìóëå

L 2.42 îòâåò

Рис. 9.7 – Программа расчета длины дуги заданной кривой

Page 35: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Цель: познакомиться с методами решения дифференциальных уравнений

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

Основные понятияОбыкновенные дифференциальные уравнения (далее – ОДУ) в общем случае можно

записать в виде

, (10.1)

которое связывает независимую переменную x, неизвестную функцию y(x) и ее производные.

Порядок ОДУ определяется по порядку ее старшей производной.Решением уравнения (10.1) является такая функция y=(x), которая при подстановке

ее в уравнение обращает его в тождество.Мы здесь будем в основном рассматривать уравнения 1-го и 2-го порядков

, (10.2)

, (10.3)

а также систему ОДУ n-го порядка вида

(10.4)

Здесь x – независимая переменная; y1, y2, … , yn – искомые неизвестные функции.Общее решение уравнений (10.2)–(10.4) содержит n произвольных постоянных C1, C2,

…, Cn (констант интегрирования). Количество констант интегрирования должно быть равно порядку уравнения или системы уравнений. Выбор этих постоянных определяет некоторое частное решение.

Процесс нахождения решений называется интегрированием дифференциальных уравнений.

Задача Коши. Если частное решение получено по n начальным условиям, заданным в одной точке x0,

, (10.5)по которым определены соответствующие константы C1, C2,…, Cn , то такая задача

называется начальной задачей или задачей Коши. Решение при этом обычно требуется найти на некотором отрезке x0 x xk, так что точку x=x0 можно считать начальной точкой этого отрезка.

Например, для уравнений (10.2), (10.3) задача Коши будет соответственно

(10.6)

114

Page 36: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

(10.7)

Краевая задача. В некоторых случаях дополнительные условия, позволяющие выделить частное решение, задаются в разных точках по x. Такие условия называются граничными, а сами задачи – краевыми задачами. Понятно, что краевые задачи возможны для ОДУ и их систем не ниже 2-го порядка.

Например, для уравнения (10.3) 2-го порядка краевая задача будет в виде

(10.8)

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

Задача Коши называется корректно поставленной, если:1) решение задачи существует;2) решение единственно;3) решение устойчиво по начальным данным.Более детальное рассмотрение этих вопросов выходит за пределы возможностей

данного пособия (смотрите специальную литературу по теории ОДУ). Здесь мы ограничимся простым примером: рассмотрим задачу Коши

При y0<0 решение задачи не существует (правая часть уравнения не определена), при y0=0 легко получить аналитическое решение

которое в точке x=0, y0=0 не является единственным. Таким образом, данная задача при y00 является некорректной.

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

значения y на некоторой сетке значений x. Решение при этом получается в виде таблицы. Эти методы применимы к очень широкому классу уравнений и в настоящее время являются одним из основных способов решения многих практических задач.

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

примере одного уравнения вида (10.6)114

Page 37: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

решение которого определяется на отрезке .Метод Эйлера. Примером простейшего разностного метода является метод Эйлера,

или метод ломаных. Рассмотрим задачу Коши для уравнения (10.6). Разобьем отрезок [x0, xk] на n малых интервалов так, что получим некоторую последовательность (или сетку) значений аргумента x: x0<x1<x2< … <xn-1<xn. Для упрощения задачи будем полагать, что длина шага h=xi+1xi – постоянная величина (в общем случае это не так).

Разностная схема метода Эйлера для уравнения (10.6) имеет вид. (10.9)

Это рекурентное соотношение позволяет по предыдущему значению yi получить последующее yi+1. Для начала счета используется начальное значение y0 в точке x0.

Метод Эйлера имеет простую геометрическую интерпретацию (рисунок 10.1). В начальной точке (xo,yo) мы рассчитываем правую часть уравнения, т.е. определяем касательную к решению в данной точке. Далее движемся по этой касательной до следующей точки. На каждом шаге мы заново находим касательную и численное решение получается в виде ломаной линии (метод Эйлера часто называют методом ломаных). Существует оценка общей погрешности решения err: err = Ch, где C – некоторая константа, зависящая от свойств функции f(x,y).

Из этой оценки следует, что с уменьшением шага точность решения повышается, но одновременно растет объем вычислений. На практике часто используют следующий прием: вначале проводят расчет при некотором шаге h, затем – при шаге h/2 и сравнивают результаты; если они отличаются незначительно, то точность расчета считается удовлетворительной.

На рисунке 10.2 приведена программа решения по методу Эйлера задачи Коши для простого уравнения

114

x

y

xo

yo

x1 x2

y1y2

расчет

точное решение

Рис. 10.1 – Точное и численное решения. Появление и накопление локальных ошибок приводит ко все большему их расхождению

Page 38: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Для сравнения также приведено точное решение.

Метод Эйлера очень прост и нагляден, но и точность его очень низка. По этой причине он в основном используется в учебных целях для демонстрации сущности численных методов решения дифференциальных уравнений. На практике обычно используются более эффективные численные методы. К таковым, например, относят методы РунгеКутта высоких порядков точности. Описание их смотрите в соответствующей литературе.Решение ОДУ в системе MathCAD

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

Решение с помощью функции rkfixedВ системе MathCAD метод Рунге–Кутта реализуется с помощью стандартной

функции rkfixed: решается задача Коши для заданных уравнений с постоянным шагом интегрирования.

Для этого систему (10.4) и соответствующие начальные условия запишем в векторной форме

, (10.10)

где

– вектор искомых решений;

114

xi 1

yi 1

xi h

yi h f xi yi

Итерационный расчет по методу Эйлера:

x0

y0

X0

Y0

Задание вектора начальных условий:

итерационная переменнаяi 0 n

количество узлов сеткиn ceilXk X0

h

Задание итерационных параметров:

шаг интегрированияh 0.1

конечное значение xXk 5

начальные значения x, yY0 1X0 0

правая часть уравненияf x y( ) y

Исходные данные и параметры:

xi 1

yi 1

xi h

yi h f xi yi

Графический вывод результата:

0 2 4 60

100

200

расчетточное решение

значение x

знач

ение

y

Рис. 10.2 – Точное и численное решения дифференциального уравнения

Page 39: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

F x y( ) x2 y2 ïðàâàÿ ÷àñòü óðàâíåíèÿ

Xinit 0 Yinit 3 íà÷àëüíûå çíà÷åíèÿ

Xfinal 2 êîíå÷íîå çíà÷åíèå x

nstep 100 êîëè÷åñòâî øàãîâ

Rk rkfixed Yinit Xinit Xfinal nstep F( ) ðåøåíèå

x Rk 0 y Rk 1

0 1 2 34

2

0

2

4

y

xРис. 10.3 – Пример решения уравнения методом Рунге-Кутта

– вектор-функция правых частей уравнений;

– вектор начальных значений y при x = Xinit.

Обращение к функции:rkfixed(Yinit, Xinit, Xfinal, nstep, F),

где Xfinal – конечное значение x, nstep – число шагов интегрирования, остальные обозначения пояснены выше.

Функция rkfixed возвращает матрицу значений следующего видаЗначения x

Значения y0

Значения y1

… Значения yn-1

x0=Xinit

x1=x0+hx2=x1+h…x=Xfinal

В качестве примера на рисунке 10.3 приведено решение с помощью метода Рунге–Кутта уравнения

при произвольных начальных условиях, они задаются в самой программе.

114

Page 40: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

На рисунке 10.4 приведено решение методом Рунге–Кутта системы двух уравнений следующего вида

с начальными условиями x=0, u=0, v=5.Поучительный пример приведен на рисунке 10.5, где построены решения уравнения

Интегральные кривые для данного уравнения – окружности с центром в начале координат и радиусом, равным y(0). Данное уравнение не имеет решения при y=0. Этому значению соответствует значение x=8. Однако компьютер этого «не знает» и при переходе через значение y=0 (начиная с x=8) выдает значения, не имеющие смысла. Попытка решить некорректную задачу с помощью уменьшению шага безуспешна, как это и следует из рисунка 10.5.

114

ïðàâàÿ ÷àñòü

óðàâíåíèÿ F x y( )exp x( ) y0 3 y1

y0 y1 2

Xinit 0 Yinit0

5

íà÷àëüíûå çíà÷åíèÿ

Xfinal 5 êîíå÷íîå çíà÷åíèå x

nstep 200 êîëè÷åñòâî øàãîâ

Rk rkfixedYinit Xinit Xfinal nstep F( ) ðåøåíèå

x Rk 0 y0 Rk 1 y1 Rk 2

0 2 4 60

2

4

6

y0

y1

xРис. 10.4 – Пример решения системы уравнения

методом Рунге–Кутта

0 2 4 6 8 1010

5

0

5

nstep=20nstep=40nstep=60

x

y 0

8

Рис. 10.5 – Графики решения уравнения с разными шагами

Page 41: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Решение с помощью функции OdesolveМетод решения с помощью функции rkfixed, приведенный выше, по форме записи

несколько громоздок и требует особой тщательности при записи операторов и выражений. Более удобен на практике метод решения ОДУ с помощью специальной функции Odesolve, введенной в последних версиях MathCAD. Ее основные преимущества:

1) уравнения и дополнительные условия записываются в более привычном виде;

2) можно решать как начальные, так и краевые задачи;3) решение получается не в виде таблицы значений, как в случае

использования функции rkfixed, а в виде функции, полученной путем сплайн-интерполяции полученного численного решения (ее можно использовать для дальнейших операций, например, дифференцировать и интегрировать – почти аналитическое решение).

В общем случае функция имеет следующую структуру:Odesolve( [vector], x, b, [npoints] ). (10.11)Здесь: o vector (используется только при решении систем ОДУ) – вектор-функция,

которая содержит имена интегрируемых функций в системе ОДУ. Например, если решается

система из двух уравнений относительно f(x) и g(x), то вектор должен быть записан как ;

o x – имя переменной интегрирования;o b – конечная точка интегрирования (может быть как больше, так и меньше

начальной точки);o npoints – целое число узлов, используемых при сплайн-интерполяции

полученного решения. Данный параметр можно не задавать, тогда по умолчанию предполагается, что npoints = 1000.

Данная функция используется в составе вычислительного блока Given, структура которого имеет вид

Given<Дифференциальные уравнения><Начальные или граничные условия><Получение решения с помощью функции Odesolve>

Здесь: Given – служебное слово, начало вычислительного блока;<Дифференциальные уравнения> – уравнение или система уравнений, линейных

относительно старших производных;<Начальные или граничные условия> – начальные или краевые (граничные)

условия, их количество должно совпадать с порядком уравнения или системы уравнений;<Получение решения с помощью функции Odesolve> – использование функции

Odesolve с соответствующими параметрами (10.11) – конец вычислительного блока.Дифференциальные уравнения должны быть линейными относительно старших

производных. Допускается две формы их записи:

1) с помощью операторов ;

2) с помощью верхней кавычки, например, , которая набирается сочетанием клавиш <Ctrl–F7>.

При записи уравнений и дополнительных условий используются булевы (логические) операторы.

Функция Odesolve возвращает решение – функцию, полученную сплайн-интерполяцией численного решения.

114

Page 42: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Вышесказанное поясним следующим примером, приведенным на рисунке 10.6, решения задачи Коши:

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

Обратите внимание на следующие детали:o в вычислительном блоке в приведенном уравнении и начальных условиях

переменная y записывается как функция от независимой переменной (в нашем случае – y(t));o начальное значение t задается как аргумент функции y, т.е. y(0), y′(0);o функция Odesolve использует два параметра: t и b=10 – конечная точка

интегрирования (см. (10.11)).Теперь полученную функцию y можно использовать, например, построить графики

решения (рисунок 10.7).

Решение краевой задачи покажем на примере этого же маятника, но с

дополнительными условиями, заданными в разных точках114

Ìîäåëü ãàðìîíè÷åñêîãî îñöèëÿòîðà ñ çàòóõàíèåì

1. Çàäàåì ïàðàìåòðû óðàâíåíèÿ

0.5 0.2

2. Îïðåäåëÿåì âû÷èñëèòåëüíûé áëîê Given ñ ïðèìåíåíèåì ôóíêöèè Odesolve Given

22t

y t( )d

d

2

ty t( )d

d y t( ) 0

y 0( ) 1 y' 0( ) 0

y Odesolve t 10( ) ðåøåíèå óðàâíåíèÿ

Рис. 10.6 – Решение уравнения 2-го порядка с помощью функции Odesolve

0 2 4 6 8 102

1

0

1

y t( )

ty t( )d

d

t

1 0.5 0 0.5 12

1

0

1

ty t( )d

d

y t( )

Рис. 10.7 – Графики полученной функции и ее производной в зависимости от времени (слева) и на фазовой плоскости (справа)

Page 43: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Результаты показаны на рисунке 10.8.

Решение системы ОДУ покажем на примере решения начальной задачи для следующей системы уравнений:

Результаты показаны на рисунке 10.9.

114

1. Çàäàåì ïàðàìåòðû óðàâíåíèÿ

0.5 0.2

2. Îïðåäåëÿåì âû÷èñëèòåëüíûé áëîê Given ñ ïðèìåíåíèåì ôóíêöèè Odesolve Given

22t

y t( )d

d

2

ty t( )d

d y t( ) 0

y 0( ) 1 y 10( ) 0.1

y Odesolve t 10( ) ðåøåíèå óðàâíåíèÿ

3. ãðàôèê ðåøåíèÿ êàê ôóíêöèÿ âðåìåíè

0 2 4 6 8 1010

0

10

20

y t( )

ty t( )d

d

t

Рис. 10.8 Решение краевой задачи для уравнения 2-го порядка с помощью функции Odesolve

Page 44: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

В данном случае функция Odesolve использует максимальное количество аргументов.Контрольные вопросы

1. Какими методами можно получить решение дифференциальных уравнений 2. Что называется интегрированием дифференциальных уравнений.3. На какие виды можно разделить методы решения дифференциальных уравнений

Лекция № 14-15Тема: Программирование в МаткадеЦель: познакомить с элементами программирования в системе

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

Переменные. В программном блоке можно читать значения переменных, определенных в MathCAD до этого блока. Однако изменить значения этих переменных внутри программного блока невозможно. Все переменные, которым присваиваются значения внутри программного блока, будут локальными переменными, которые недоступны вне блока. Специально объявлять переменные не нужно, достаточно просто присвоить им значения. Если

114

Uk 3 Êîíå÷íàÿ òî÷êà èíòåãðèðîâàíèÿ

Âû÷èñëèòåëüíûé áëîê Given - Odesolve.

Given

uy0 u( )d

d8 y0 u( ) 8 y1 u( ) y0 0( ) 1

uy1 u( )d

d30 y0 u( ) y1 u( ) y0 u( ) y2 u( ) y1 0( ) 0

uy2 u( )d

dy0 u( ) y1 u( )

83

y2 u( ) y2 0( ) 1

Ðåøåíèå ïîëó÷åíî â âèäå ñïëàéí - ôóíêöèé f(u), g(u), h(u).

f

g

h

Odesolve

y0

y1

y2

u Uk 1 103

x 0Uk

1 103 Uk ïåðåìåííàÿ äèàïàçîíà -

àðãóìåíò ôóíêöèè íà ãðàôèêå.

0 1 2 3

30

30

60

f x( )

g x( )

h x( )

x

Рис. 10.9 – Решение задачи Коши для системы ОДУ

Page 45: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

программный блок является телом функции, то он также может читать значения аргументов этой функции.

Программный блок представляет собой группу операторов присваивания и управляющих операторов. Необходимо обратить особое внимание, что все ключевые слова (например, if) в этих операторах обязательно вводятся с помощью панели Programming (Программирование). Их ввод с клавиатуры - ошибка!

В целом правила работы с операторами те же, что и в языке Pascal, отличия касаются способа записи операторов.

 Соответствие программных операторов MathCAD и PascalОператор

языка Pascal Оператор MathCAD Комментарий

A := B ПрисваиваниеBeginоператор1;оператор2;…End

Группа, объединяющая несколько операторов в один составной оператор. Для создания группы и добавления в нее новой пустой строчки используется кнопка «Add Line» панели Programming

If условие Then оператор

 If условие

ThenBeginоператор1;оператор2;…End

оператор if условие  

Простой оператор ветвления. Как и в языке Pascal, его действие распространяется на один указанный оператор, который может быть группой операторов. Условием может быть любое логическое выражение, которое может содержать знаки отношения (вместо обычного знака равенства используется знак логического равенства) и логические операторы (находятся на панели Boolean):

- Not;- And;- Or;- Xor

If условие Then

оператор1Elseоператор2

Полный оператор ветвления

For инд := нач To кон Do

оператор

Фиксированный оператор цикла. Индексная переменная принимает значения от начального до конечного с шагом, равным единице. Цикл действует на один указанный оператор, который может быть группой операторов

While условие Do

оператор

Гибкий оператор цикла с предусловием. Цикл выполняется, пока истинно заданое условие

BreakContinue

breakcontinue

Оператор break принудительно завершает текущий цикл. Оператор continue завершает только текущий виток цикла и начинает следующий виток

Нет прямого

выражение1 on error выражение2

Специальная операция обработки ошибок. Сначала вычисляется выражение2. Если при этом происходит

114

Page 46: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

аналога

ошибка, то результатом операции будет выражение1. Если ошибки нет, то результат - выражение2.

Пример:

Здесь локальная переменная A получает значение 2, переменная B - значение 0,5

 Использование программных блоков в функцияхЕсли функция является программным блоком, то значение, которое возвращает функция, -

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

Контрольные вопросы1. Сколько программных блоков можно определить на листе2. Можно ли изменить значения переменных внутри программного блока3. Что представляет собой программный блок

3. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ

4. ЛАБОРАТОРНЫЕ ЗАНЯТИЯЛабораторная работа № 1Тема: Знакомство с МаткадомЦель: познакомиться с интерфейсом программы, развитие навыков работы

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

Обратите внимание на то, что вся работа в Маткаде должна проводиться на латинском (английском) алфавите.

Рис.1 Окна после запускаПосле запуска появляются два окна, показанные на рис.1.Нижнее окно мы пока трогать не будем. В верхнем окне расположены две строки с

типовыми элементами интерфейса. Верхняя строка - титульная. Она отображает название загруженного или вводимого с клавиатуры документа. Если у документа еще нет имени, там появляется надпись Untitled (без названия).

Ниже расположено меню. Рассмотрим и раскроем его опции.114

Page 47: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Опции File (Файл),Edit (редактирование) типичны для всех приложений Windows.Опция view (вид) содержит ряд строк, первая из которых - toolbars

(инструментальные строки). Раскроем ее (Рис.2) и рассмотрим некоторые ее опции. Обращение к первой опции standart вызывает на экран стандартную панель. Эта панель во многом идентична соответствующим панелям других приложений Windows, Однако, там имеется опция f(x), с помощью которой вызываются встроенные функции Маткада. Мы рассмотрим ее несколько позднее.

Вызовем и кратко рассмотрим некоторые другие строки. Строка Formatting (форматирование) аналогична соответствующим опциям других приложений. Строкой Math (математика) вызывается математическая панель. Она содержит кнопки, дублирующие опции Calculator (калькулятор), Graph (графика), Matrix (матрицы), Calculus (вычисления), Boolean (Булевы функции), Greek (Греческий), Programming (Программирование), Symbolic (Символьные вычисления).

Строка Graph (графика) вызывает панель графики, строка Matrix (матрицы) обеспечивает операции над матрицами, с помощью строки Calculus (вычисления) производятся дифференцирование, интегрирование, суммирование и произведение, строка Boolean (Булевы функции) вводит булевы функции, строка Greek (Греческий) вводит греческий алфавит, строка Programming (Программирование) вызывает панель программирования, строка Symbolic (Символьные вычисления) делает возможным решение некоторых задач в символьном (аналитическом) виде. Со всеми этими опциями мы столкнемся при решении конкретных задач.

Рис.2 Строка “ Toolbars”

Все панели могут передвигаться обычным способом по экрану, а панели Standart, Formatting, Math, Graph, Matrix, Calculus, Boolean простым передвижением могут преобразовываться в строки меню. На рис.3 показано меню с такими строками.

114

Page 48: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис. 3 Меню Маткада с вызванными опциямиОстальные опции строки опции view мы не рассматриваем.Мы не рассматриваем также другие строки меню, тем более, что многие из них

дублируют разобранные выше опции.Алфавит системы Маткад содержит: строчные и прописные латинские и греческие

буквы; арабские цифры от 0 до 9; системные переменные; операторы; имена встроенных функций; спецзнаки; строчные и прописные буквы кириллицы (при работе с русифицированными документами); укрупненные элементы языка: типы данных, операторы, функции пользователя и управляющие структуры. К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа.

Числовые константы задаются с помощью арабских цифр, десятичной точки (а не запятой) и знака - (минус). Например: 123 - целочисленная десятичная константа;

12.3 - десятичная константа с дробной частью; 12.3 * 10.5 - десятичная константа с мантиссой (12.3) и порядком 5. Знак умножения * при выводе числа на экран меняется на привычную математикам

точку, а операция возведения в степень (с применением спецзнака ^) отображается путем представления порядка в виде надстрочного элемента. Диапазон возможных значений десятичных чисел лежит в пределах от 10-307 до 10307 (это машинный ноль и машинная бесконечность).

Большинство вычислений система выполняет как с действительными, так и с комплексными числами, которые обычно представляются в алгебраическом виде:

Z = ReZ+ i* ImZ или Z = ReZ+ j* ImZ Здесь ReZ - действительная часть комплексного числа Z, ImZ - его мнимая часть, а

символы i или j обозначают мнимую единицу, т. е. корень квадратный из -1. Такое представление характерно и для системы Маткад (за исключением того, что знак равенства не есть знак присваивания). Итак, если ReZ = 2, а ImZ = 3, то комплексная числовая константа в системе Маткад должна быть задана в виде 2+ i* 3 или 2+ j* 3.

Однако система не всегда знает, какой символ применить для обозначения мнимой единицы. Поэтому, перед использованием любых операций с комплексными числами, полезно вначале определить i или j как мнимую единицу (т. е. присвоить им значение квадратного корня из -1).

Имена переменных (идентификаторы) в системе Маткад могут иметь практически любую длину, и в них могут входить любые латинские и греческие буквы, а также цифры. Однако начинаться они могут только с буквы, например: х, xl, alpha, X, coordinate. Кроме того, идентификатор не должен содержать пробелов. Строчные и прописные буквы в именах различаются!

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

Page 49: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Для набора + и – используются соответствующие клавиши клавиатуры. Деление набирается клавишей /.

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

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

Удаление записей в Маткаде можно производить несколькими способами.1. Для удаления одного или нескольких выражений одновременно можно, нажав

левую кнопку мыши, обвести все удаляемые выражения пунктиром, и затем нажать del или backspace.

2. Для удаления одного выражения можно, подведя курсор к выражению, активизировать его и, передвинув уголок в крайнее правое выражение, нажать del.

3. Для удаления одного выражения можно также, подведя к нему курсор, активизировать его, а затем зачернить и нажать del.

Задача 1. Войдите в Маткад.1.Поиграйте красным крестиком на экране, переместите его курсором по экрану.

Введите любой символ. Появится рамка - шаблон. Нажав на клавишу мыши, выделите участок с рамкой, нажмите кнопку с ножницами на панели инструментов. Шаблон исчезнет.

2.Рассмотрите в верхней части экрана меню с двумя группами команд. Выведите панели инструментов. Для этого нажав мышью кнопку команды View

(вид), выведите подменю с рядом подкоманд. Если около кнопок с надписями Toolbar (инструментальная панель), Mathpallete (математическая панель) и Formatbar (панель форматирования) не стоит галочка, нажмите на них и этим выведите на экран эти панели.

3. Освойте перемещение панелей по экрану и их преобразование в строки меню.Задача 2. Элементарные вычисления в Маткаде.Все формулы в маткаде набираются только в латинском алфавите, поэтому,

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

1. Выведите показанную на рис. 4 математическую панель (если она не выведена)

Рис.4. Математическая панель Маткада Рис.5. Панель калькулятораНажмите кнопку с изображением калькулятора. Появится показанная на рис. 5 панель

калькулятора. На ней имеется ряд кнопок, таких как n!( факториал n), тригонометрических функций (tan, sin, cos ), логарифмов (ln, log ) , а также цифры и знаки =, +, -,

х, := ( присвоения). Следует различать кнопки := (присвоение) и = (равно).Здесь же находятся кнопки Х2, Хy , служащие для возведения в степень, кнопки

вычисления корня, нахождения модуля.114

Page 50: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Арифметические действия в Маткаде можно совершать, вводя знаки операций с клавиатуры или с панели калькулятора. Знак умножения в Маткаде - точка, но набирается он на клавиатуре знаком *. Деление набирается клавишей /,

Если в процессе решения задачи происходит нарушение грамматики Маткада, то все содержание шаблона окрашивается в красный цвет и появляется разъяснение ошибки. К сожалению, часто на хорошем английском языке.

А) Вычислить 4! (факториал числа четыре). Нажмем кнопку «n!». На экране, в том месте, где расположен крестик, появится

шаблон: прямоугольная рамка, внутри которой расположен черный прямоугольник со знаком

«!». Подведя курсор к этому прямоугольнику, введем мышью или с клавиатуры число 4 и нажмем кнопку « = » на клавиатуре или на панели вычислений. Мгновенно высветится ответ. Зачерненная точка рядом с ответом служит для вставки размерности, пока мы ею не пользуемся.

Б) Вычислить логарифм натуральный от 25.Аналогично предыдущему, нажмем на панели калькулятора кнопку «ln», внутри

появившихся кнопок вставим число 25 и, нажав «=», получим ответ.Аналогично вычисляются sin, cos, tg любого угла в радианах, десятичный логарифм

log, модуль числа.В) Вычислить е25 . Нажмем на панели калькулятор кнопку «ex». В появившемся

зачерненном прямоугольнике верхнего индекса наберем число 25, нажмем «=.»

Большую роль в наборе чисел играет расположение уголка (На экране – он голубого цвета). Например (см. рис.6), если уголок расположен, как показано в левой части рисунка, то любые знаки операций (сложение, вычитание и т.п.) будут добавляться к показателю степени, если же уголок расположен, как показано в правой части рисунка, то они будут добавляться ко всему выражению.

Рис.6. Влияние расположения уголка на вычисления в Маткаде.

Г) Вычислить два выражения: Выражения отличаются тем, что в первом случае

корень извлекается из трех слагаемых, а во втором случае только из числа 47.

Для набора первого выражения наберем , как это было объяснено в предыдущем примере и, добившись того, чтобы уголок обнимал всю степень, нажмем +. После этого

нажмем кнопку калькулятора, введем число 47 , добьемся, чтобы уголок «обнимал» только число 47 и продолжим набор выражения. Для набора 566 наберем сначала 56, затем нажмем на панели калькулятор кнопку Xy и введем показатель степени 6.

При наборе второго выражения уголок после ввода числа 47 должен «обнимать» как число 47, так и корень. Остальной набор не отличается от первого примера.

Д) Вычислить дробь

При решении задачи знак модуля вводится с панели калькулятора, а дробь – с кнопки клавиатуры / (нижний правый угол клавиатуры)

Вычисление функций в Маткаде.114

5 6 45

8216.469

Page 51: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Задача 3. Вычислить в маткаде функцию y = 4x 2+5x+3 для x=1,2,…..10.

Рис.7. Вычисление многочлена.

Решение. Сначала (рис.7) набирается диапазон значений x: х:=1,2..10. Здесь: 1) используется знак присвоения «:=» , а не знак « =» ,2) набирается первое значение х, затем через запятую второе его значение, чем

задается шаг вычислений, и, наконец, последнее значение.Две точки между 2 и 10 набираются нажатием клавиши с русской буквой Ж

клавиатуры или кнопки m..n панели матрицы.Затем, опять-таки через знак присвоения, набирается выражение для у. Причем

следует набирать у (х), а не просто у.Маткад выполняет команды слева направо и сверху вниз. Поэтому выражение для у

(х) должно быть расположено справа и несколько ниже выражения «х :=» После этого следует набрать «х =» ( равно, а не присвоить) и появится столбец со

всеми значениями х. Так же после нажатия «у (х) =» (у(х) равно) появляется столбец вычисленных значений у(х). Построение диапазона изменения аргумента х называется РАНЖИРОВКОЙ.

Задача 4. Вычислить функцию y= 3x4-7x3+4x2-9x+2 для х = 0,0.5,1,1.5......3Пояснение. Читатель должен обратить внимание, что автор для повышения его

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

Задача 5. Вычислить функцию двух переменных z = 3x2 +4y2 + 8 для значений х= 1,1.5,2.0,....5 и для значений у = 0,0.5,1.0,....5Пояснение. Задача решается аналогично предыдущим:Сначала производится ранжировка обеих независимых переменных х и у.Затем набирается выражение для функции «z(x,y):=»После этого набирается «х =» , «у =» и «z(x,y) =»

Лабораторная работа № 2Тема: Построение графиков в МаткадеЦель: развитие навыко построения графиков

Одним из многих достоинств Маткада является легкость построения графиков.Панель графиков вызывается нажатием кнопки с изображением графиков на математической панели (Рис.1).На панели графиков расположены девять кнопок с

изображением различных типов графиков (название графиков 114

Page 52: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

каждой кнопки высвечивается при подводе к ней курсора и ожидании в течение 3-5 секунд): X-Y Plot - графики в декартовых координатах, Polar Plot - графики в полярных координатах, 3D Bar Chart- столбиковые диаграммы, Surface Plot - трехмерный график, Cunter Plot- карта линий уровня, Vector Field Plot - векторное поле,3D Scatter Plot -трехмерный точечный график.Сначала нас будет интересовать левая верхняя кнопка Х-У графиков в декартовой системе координат (По- английски X-Y Plot ).

Рис.1.Панель графиковЗадача 1.Вычислить функцию y(x) =4x2+5x+8 из лабораторной работы №1, но

решение получить в виде графика. (Рис.2.)

Рис.2. Построение графикаДля этого нужно:1) набрать, как и в прошлый раз, условие задачи, 2) провести ранжировку х, набрав пределы его изменения х, например x:= 0,0.01,5.Здесь мы задали шаг изменения х гораздо меньше, чем в предыдущем разделе. Чем

меньше шаг изменения аргумента, тем более гладким получается график.3) вызвав панель графиков, нажать на кнопку с изображением декартовых графиков. Появятся два вложенных друг в друга квадрата, внутри которых есть несколько то-

чек. 4)Сначала нужно подвести курсор к средней точке оси абсцисс и набрать там ар-

гумент х.5) Затем следует подвести курсор к средней точке около оси у и набрать там

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

показанное на рис.3. Оно состоит из трех страниц. На рис. 3 представлена первая страница.

Рис.3. Первая страница окна формирования графиков.

. В левом нижнем углу страницы имеются точки Boxed (коробочка), Crossed(оси),

None(нет). Нажав на первую точку, введем в график оси координат.114

x 0 0.01 5

y x( ) 4x2 5x 8

0 2 4 60

50

100

150

y x( )

x

Page 53: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

На первой странице имеются строки X-Axes( ось Х) и Primary Y-Axes (первая ось У), а под ними ряд надписей, левая часть которых относится к оси Х, а правая – к оси У:

Log Scale (логарифмическая шкала) вводит логарифмический масштаб для соответствующей оси; Grid lines ( сетка) – ее нажатие вводит сетку на график;

Numbered( оцифровка) – оцифровка сетки;Auto scale ( автоматическая оцифровка);Show markers ( показ маркеров);Auto grid ( автоматическое разбиение сетки). Наличие надписей Enable secondary Y-Axes (возможность второй оси У) и Secondary

YAxes (вторая ось У) дает возможность формировать графики различного масштаба для различных функций

На рис.4 представлена вторая страница того же окна.

Рис.4. Вторая страница окна формирования графика Из ее левого столбца (trace (след) 1, trace 2 и т.д.) следует, что на одном графике

можно наносить до 16 различных функций. Вводя соответствующие значения в остальные столбцы, можно изменять вид

(сплошная линия, пунктир, точки), цвет, толщину и т.д. каждой функции.На третьей странице окна задается заголовок (Title), место его расположения

Above(сверху), Belove (снизу), наименования осей (Axis Labels) . Выбрав те или иные требования к графику, нажмем ОК и получим желаемый график. Заполнив графы двух страниц, как показано на рис. рис.3,4, получим график,

показанный на рис.5. Задача 2. Изменить на построенных ранее графиках: А) толщину линии, Б) Заменить

сплошную линию пунктиром, В) Изменить цвет графика на зеленый, Г) произвести нанесение осей координат, оцифровку осей. Д) Расположить над графиком заголовок «ВЫЧИСЛЕНИЕ ФУНКЦИИ».

Рис.5 График функции с осями и сеткой.Как уже говорилось, на одном графике можно строить до 16 различных кривых. Построим на том же графике еще и кривую задачи 2 лабораторной работы №1.

Для этого: 114

0 2 4 6

50

100

150

y x( )

x

Page 54: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

1)проведем ранжировку аргумента х;2) наберем обе функции;3) введем первую функцию, как было описано выше;4) затем

подведем курсор к записи на оси у и нажмем клавишу «запятая» клавиатуры. Под записью у(х) появится маркер, в который введем имя второй функции. Результат приведен на рис.6.

Рис.6. Построение двух кривых на одном графике.

Задача 3. Изменить на построенных ранее графиках: А) толщину линии, Б) Заменить сплошную линию пунктиром, В) Изменить цвет графика на зеленый, Г) произвести нанесение осей координат, оцифровку осей. Д) Расположить над графиком заголовок «ВЫЧИСЛЕНИЕ ФУНКЦИИ».

Задача 4. Построить самостоятельно график двух функций:Y(x)= 2sin2(x), z(x)=5cos3(x) в пределах 0<= x<= 20Графики в полярных координатах(Polar Plot).

Рис.7 Фигура Лисажу в полярных координатах. Такие графики задаются нажатием кнопки с изображением графика в полярных

координатах. Обозначение переменных не изменяется. На рис. 7 приведено построение знаменитой фигуры Лисажу в полярных координатах.

Задача 5. Построить самостоятельно фигуру Лисажу.Трехмерные графики. В Маткаде можно строить различные трехмерные графики: поверхности, уровней,

столбиковые диаграммы и т. п. Для примера построим график поверхности, описываемой

функцией 114

x 0 0.01 5 y1 x( ) 4x2 5x 8 y2 x( ) 3x4 7x3 4x2 2

0 2 4 6

500

1000

1500

y1 x( )

y2 x( )

x

Page 55: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

z= 55x2 +25y2 для 0<=x<=40, 0<=y<=50.1. Прежде всего, нужно определить узлы, в которых будет вычисляться функция.

Запишем: i:= 0..40 j:=0..50После этой записи функция будет вычисляться в точках с координатами i=0, j=0: i=0,

i=1, j=1 и т.д.2. Нужно установить связь аргументов х и у с узлами. Мы запишем x i =i yj =j 3.Запишем саму функцию z (х , у)= 55x2 +25y2

4. Определим матрицу ординат, по которым будет строиться график: M i , j = z(x i , y j).

5. После этого вызовем график поверхности с панели графиков и поставим в нижнем правом углу М. Затем, выйдя из графика, щелкнем курсором. График будет построен.

На рис .8 показано построение этого графика.

Рис.8. Пространственный график в Маткаде.Введя курсор внутрь графика, и щелкнув мышью, мы снова вызовем трехстраничное

окно, в котором можно установить все параметры графика.На странице Viev (вид) устанавливается тип графика: Display as – показывать в виде

(поверхности, линии уровней, столбиковой диаграммы), тип осей Axis (в виде непосредственно осей, в виде плоскостей, отсутствие осей), показ заднего плана (Back Planes):показывать (Show),заполнять цветом поверхность (Fill Color) и кромку(Edge Color) и угол, под которым показываются оси координат.

В зависимости от выбранного типа графика меняется набор надписей на остальных страницах. Например, для графика Surface Plot (график поверхности) на странице Color and Lines (цвет и линии) нанесены надписи : Shading( затенение).

На странице Axis(оси) нанесены те же, что и для случая плоских графиков надписи, но теперь уже для трех осей: Gird Lines – нанесение сетки координат, Numbered – оцифровка соответствующей оси, Autoscale- автоматическая разметка осей, Shove Markers - показать метки по осям, Autogird - автоматический показ сетки координат, Numbers of Grids - оцифровка сетки.

Задача 6. Построить график функции, приведенной в тексте, выбрав зеленый цвет поверхности, розовый цвет заднего плана, угол представления 45 градусов и оцифрованные оси.

2. Построить для той же функции график уровней и столбиковую диаграмму.114

Page 56: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Задача 7. Построить график функции z= 3x3 - 4y2 для 0 <= x <= 3 , 0<= y <= 4.

Лабораторная работа № 3Тема: Действия над матрицами в МаткадеЦель: развитие навыков работы со встроенными функциямиПонятие о встроенных функциях Маткада.Большинство задач в Маткаде решаются с помощью так называемых встроенных

функций, т.е. с помощью заранее составленных программ решения той или иной задачи. Каждая такая программа имеет свое имя, по которому она вызывается. Имя можно набирать с клавиатуры, но можно и вызывать с помощью кнопки f(x) главного меню. Нажав эту кнопку, мы вызовем панель Insert Function (вставить функцию), в которой имеется два окна: Function Category (тип функции) и Function Name ( имя функции). Выбрав тип и имя, и нажав кнопку ОК, мы вызовем данную функцию (Рис.1).

Рис.1.Панель вызова функцииПусть, например, нужно найти синус числа 45. Вызвав панель вставки функции,

выберем категорию Trigonometric и название sin, нажмем ОК. На экране появится шаблон со словом sin внутри и скобками. Вставив в скобки число 45, нажмем «=». Получим sin(45)=0.851. Можно было бы набрать левую часть на клавиатуре и, после нажатия знака =, получить тот же ответ.

Аналогично используются и другие встроенные функции Маткада.В Маткаде массивы могут записываться в виде векторов (одномерные массивы), в

виде матриц (двумерные массивы) и в виде таблиц. Мы рассмотрим пока только запись матриц и векторов. Для действий над ними имеется панель Matrix (матрица), показанная на рис. 2.

Рис.2. Панель матрицДля ввода матриц и векторов нажмем кнопку панели матриц и вызовем

этим окно ввода Insetrt Matrix (ввести матрицу), показанное на рис.3.

114

Page 57: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.3. Окно ввода матриц и векторов. Рис.4. Шаблон вектора.

При вводе вектора в графе columns (столбцы) следует проставить 1, а в графе rows(строки) проставить размер вектора. Появится шаблон, показанный на рис. 4.

Ниже представлено три пятиэлементных массива-вектора: Два из них – численные, третий – буквенный, четвертый состоит из выражений.

При задании буквенных массивов и массивов – выражений необходимо предварительно присваивать им численные значения (за каждой буквой в компьютере должно стоять число). После задания выражений вектора можно, записав его имя и поставив знак =, получить его значение. Рисунок лишний раз иллюстрирует, что Маткад различает строчные и заглавные буквы.

Над векторами определены показанные на рис.5.. операции сложения- вычитания, транспонирования, умножения по математическим правилам умножения матриц. Знак транспонирования следует вводить с панели Matrix (матрица).

Порядковый номер элемента, который является его адресом, называется индексом. Нижняя граница индексации задается значением системной переменной ORIGIN,

которая может принимать значение 0 или 1.

Рис.5. Запись векторов в Маткаде.Имя массива увязано с именами индексированных переменных, значениями которых

являются элементы массива. Для этого достаточно в виде подстрочного индекса указать индекс элемента. Например, если третий из представленных массивов имеет имя V, то его элементами при ORIGIN=0 будут индексированные переменные:

v0=0 V1=b ,w3= d, W4= x.При задании ORIGIN=1, получим: v1 =0, V1=a, w3=c, W4=x3 – x5.

114

Page 58: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Задача 1. Ввести все векторы рис.5 и произвести над ними все действия, проведенные на рисунке. Матрицы в Маткаде вводятся так же, как и векторы, но число столбцов в них – больше единицы. Элементами матрицы могут быть также числа, буквы, выражения. Как и в случае векторов, буквенные элементы и элементы – выражения должны быть предварительно определены численно. На рис.6 показаны различные способы ввода матриц.

Рис.6. Ввод матриц.Задача 2. Ввести все матрицы, приведенные на рис.6.Элементы матриц являются индексированными переменными, имена которых

совпадают с именами матриц. Для каждой индексированной переменной указываются два индекса: один - для номера строки, другой - для номера столбца. Например, для матрицы W средний элемент обозначается как W1,1 а последний как W2,2. (Индексы набираются через запятую). На рис.7 показано изменение индексации при различных значениях переменной ORIGIN.(Набирается обязательно заглавными буквами).

Рис.7. Роль переменной ORIGIN

В Маткаде определены следующие действия над векторами и матрицами:А) сложение – вычитание,В) скалярное и векторное умножение,Г) Обращение,Д) транспонирование,Е) Сортировка,Ж) выделение столбцов.Они выполняются с использованием следующих кнопок панели Matrix:

кнопка индексации элементов матрицы,

кнопка обращения матрицы,

кнопка скалярного произведения векторов и матриц

c 5b 1 d 9a 3

e 7 f 0 x 2

v1

1

4

5

2

3

6

v2

10

12

4

20

21

11

Va

d

b

e

c

f

114

W

x

x 5

x3

x2

x2 10

x5 x

x3

x

x

P

1

9

7

3

11

10

8

21

45

P1 1 11 P2 1 10

ORIGIN 0

P

1

9

7

3

11

10

8

21

45

P1 1 1 P2 1 9

ORIGIN 1

Page 59: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

кнопка транспонирования матрицы,

кнопка векторного произведения двух векторов

кнопка сложения векторов

кнопка выделения столбца матрицы

кнопка вычисления детерминанта матрицы.На рис.8 приведены все эти действия над матрицами, приведенными на рис.6.

Задача.3: Произвести над матрицами все действия, показанные на рис.8..

Рис.8. Действия над матрицамиЗадача.4: Ввести две произвольные матрицы. Перемножить. Например:

Проверьте на бумаге правильность произведенных выше действий

114

A1

4

2

5

3

6

B

1

3

5

2

4

6

A B22

49

28

64

A B

350

1.14 103

1.806 103

160

755

1.153 103

277

887

1.408 103

A

1

6

9

2

7

11

3

8

13

B

56

12

90

87

23

09

23

43

56

Page 60: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.9. Пример выполнения задачи 4Обращение и вычисление определителя возможно только для квадратных матриц.Задача 5.. Введите произвольную квадратную матрицу, найдите обратную ей и

вычислите определитель, используя показанные выше кнопки встроенных операторов.

Рис.10. Пример выполнения задачи 5..Как известно, умножение матрицы на обратную дает единичную матрицу. Проверим,

правильно ли было проведено обращение

Задача 6. Найти скалярное и векторное произведения двух заданных трехэлементных векторов: Проверить на бумаге правильность вычислений.

Рис.11.Пример выполнения задачи 6... Проверим правильность скалярного умножения, перемножив vxТ и vy . Получили

также 36.При рассмотрении матриц больших размеров удобно выделять их столбцы. Мы будем

использовать его в модулях 2 и 3 при решении сложных задач.Задача 7. Используя кнопку выделения столбцов, выделите столбцы произвольной

матрицы, например:

Рис.12.Пример выполнения задачи 7.В Маткаде имеется большое количество встроенных функций для действий над

матрицами и векторами. Рассмотрим некоторые из них. Вычисление максимального и минимального элементов матрицы или вектора

производится с помощью встроенных функций Max(A )и Min(A).Задача 8 . Вычислить максимальный и минимальный элемент произвольной

матрицы, например:

Рис13. Вычисление максимального и минимального элемента матрицы.

Определение количества столбцов и строк в матрице удобно для проверки действий над многомерными матрицами и векторами. Оно производится с помощью встроенных функций Cols(A)- число столбцов матрицы А и Rows(A)- Число строк матрицы А

Задача 9. Определить число строк и столбцов в произвольной матрице, например

max C( ) 9 min C( ) 1

114

C 11.083

0.667

0.25

0.5

1

0.5

0.583

0.667

0.25

CT1

2

3

4

5

4

7

8

9

C 12

C C 1

1

0

0

0

1

0

0

0

1

vx

1

2

3

vy

1

4

9

vx vy

6

6

2

vx vy 36vxT vy 36

A

1

6

9

2

7

11

3

8

13

C

1

4

7

2

5

8

3

4

9

C

1

4

7

2

5

8

3

4

9

Page 61: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.13. Пример выполнения задачи 9.Единичная матрица размером N формируется встроенной функцией Idenfity(N), а

след матрицы – встроенной функцией . tr(A):

Рис.14. Формирование единичной матрицы и вычисление следа матрицы.

Графики матричных и векторных зависимостей.В Маткаде возможно построение графиков по данным, записанным в векторной и

матричной форме. На рис.15 показано построение двумерного графика по данным векторов vx и vy, а на рис.16. – построение трехмерного графика по заданным в матрице аргументам и вектору функции.

Рис.15. Построение двумерного графика по векторным данным. Заданы двумерная матрица аргументов S и вектор значений функции этих аргументов

Y.Показано построение графика.

.

Рис.16.Трехмерный график данных,

записанных в векторной форме.

C

1

4

7

2

5

8

3

4

9

rows C( ) 3 cols C( ) 3

114

S0 1

01

2

3

4

5

6

7

8

2.9289·10 5 1.4645·10 6

2.9289·10 5 8.5355·10 6

1.7071·10 6 1.4645·10 6

1.7071·10 6 8.5355·10 6

0 5·10 6

2·10 6 5·10 6

1·10 6 0

1·10 6 1·10 7

1·10 6 5·10 6

Y0

01

2

3

4

5

6

7

8

110107

110

104

101

107

105

106

100

S 0 S 1 Y

identity 5( )

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

vx

1

2

3

vy

1

4

9

1 2 3

5

10

vy

vx

tr C( ) 15C

1

4

7

2

5

8

3

4

9

Page 62: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Операции над матрицами в аналитической (символьной) форме.Системы компьютерной алгебры снабжаются специальным процессором для

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

Ядро символьного процессора системы Маткад- несколько упрощенный вариант ядра известной системы символьной математики Maple V фирмы Waterloo Maple Software , у которой MathSoft (разработчик Маткада) приобрела лицензию на его применение, благодаря чему Маткад стал системой символьной математики.

Введение в систему Маткад символьных вычислений придает ей качественно новые возможности. Символьные вычисления выполняются, в конечном счете, столь же просто для пользователя, как, скажем, вычисление квадрата х.

Операции, относящиеся к работе символьного процессора, содержатся в подменю позиции Symbolic (Символика) главного меню.

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

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

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

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

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

После этого появится панель символьных вычислений, показанная на рис.17

.

114

Page 63: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.17. Панель символьных вычислений Для символьных операций над матрицами нам понадобится только предпоследняя

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

Задача 10. Используя кнопки панели символьных вычислений, провести аналитическое транспонирование и обращение произвольной матрицы, например:

Рис.18. Пример символьного решения матричных задач .

Лабораторная работа № 4Тема: Решение алгебраических уравнений в МаткадеЦель: рассмотреть методы решения алгебраических уравненийАлгебраические уравнения в Маткаде решаются как численными, так и

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

вычислительный блок, открываемый служебным словом - директивой Given. Блок имеет следующую структуру:

Задание начальных приближенийGiven Уравнения Ограничительные условия выражения с функцией find Задача 1. Пусть надо решить систему3x+8y-9z=125x-9y+2z=348x-6y+5z=98.Для этого необходимо совершить следующие действия:1)Набрать начальные приближения – произвольные числа х:=1 y:=1 z:=12).Набрать с клавиатуры директиву given (дано); 3).Набрать систему уравнений, обязательно записывая знак умножения, причем знак =

нужно набирать не на арифметической панели , а на панели логики , которая выводится на экран кнопкой математической панели.

4).Набрать выражение otvet:= find(x,y,z)5). Набрать otvet =После этого будет получен ответ в виде вектора – столбца.

114

A

1

5

1

2

2

8

3

9

4

AT

1

2

3

5

2

9

1

8

4

A 1 128

64

11

38

16

1

6

12

6

8

A 28

CT

1

3

5

7

9

11

13

15

17

20

31

35

37

56

76

65

90

32

21

98

8

56

37

47

89

C

1

11

31

65

8

3

13

35

90

56

5

15

37

32

37

7

17

56

21

47

9

20

76

98

89

ORIGIN 1

Page 64: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Вместо слова otvet можно использовать любой набор букв и цифр, начинающийся с буквы. Этот набор обозначает имя, которое Вы присваиваете вектору ответов. На рис.1 показано решение этой системы

Рис.1. Решение системы линейных уравнений в решающем блокеЗадача 1.. Решите приведенную выше систему.Задача 2. Решите самостоятельно приведенные ниже системы линейных

алгебраических уравненийА) 5x+6y-9z+2v-7w=90 3x-4y+5z-3v+4w=12 9x+y +3z-2v +9w=51 7x+2y-8z+v +10w=32 6x+5y-4z+3v-2w= 87

Б) 4.5x+7.9y-2.1v+6.75w+7.9u= 43 5.6x+7.2y+9.8z+3.9v+3.4w+8.3u=12.54 5.6x+98.5y+43.7z+67.85v+4.9w+21.5u = 54.98 65.75x+54.32y-78.32z-565.9v+32w+78.54u = 55.5 54.2x+76.45y+32.23z+ 45.71v+43.43w+ u = 65.21 8.9x+9.8y-5.6z+6.5v-4.5w+2.1u = 0Подобным образом можно решать и нелинейные уравнения. Однако они имеют

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

Задача 3. Найти корень трансцендентного уравнения X sin(x)+ cos(x) =25, ближайший x=1.Набираем задачу описанным выше способом и находим значение х.Однако получить решение при начальном приближении 10 нам не удастся. Маткад позволяет решать системы линейных алгебраических уравнений в матричной

форме. Решение можно получить двумя способами.1 способ.Как известно, система линейных алгебраических уравнений в матричной форме имеет

вид: AX=B где А – квадратная матрица коэффициентов, X – вектор- столбец неизвестных, В – вектор – столбец правых частей.Решение системы в матричной форме : X= A-1 B. Решим в матричной форме систему. Для этого (см. рисунок 2) :1)Наберем ORIGIN:=1. Как говорилось выше, это означает, что счет элементов будет

производиться не от нуля, а с единицы.114

3x 8y 9z 12

5x 9y 2z 348x 6y 5z 98

otvet find x y z( )otvet

11.457

3.913

5.964

givenx 1 y 1 z 1

Page 65: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2)Введем матрицу А.3).Введем вектор – столбец В.4).Набор выражения для Х желательно выполнять, используя соответствующую

кнопку матричной панели. 5. После этого наберем X= и сразу получим вектор ответа.

Рис.2.Решение системы линейных уравнений в матричной форме2 способВозможно получения решения матричного уравнения с помощью специальной

функции lsolve, как показано на рис. 3.

Рис.3.Решение системы линейных алгебраических уравнений с использованием встроенной функции lsolve

Задача 4. Решить варианты А, Б задачи 2 в матричной форме самостоятельно. Численное решение нелинейных алгебраических уравнений.В Маткаде корни алгебраических уравнений и систем определяются с помощью

следующих встроенных функций:1). Функция root (expr, var) вычисляет действительное значение переменной var,

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

x2 +2x+1 = 0.

Само уравнение не набирается!

Рис.4. Нахождение одного корня полинома.

2) Функция polyroots (v) позволяет вычислять все корни полинома. Например, для решения уравнения 8х2 +2х +3 =0

114

B

9

8

7

X A 1 BX

7.694

1.016

0.435

Page 66: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

набираем или считываем из таблицы функций (кнопка f(x)) функцию polyroots и в скобках заполняем вектор, вставляя коэффициенты уравнения. Нажимаем клавишу = и получаем ответ:

Рис.5. Вычисление корней с помощью функции Polyroots.Следует обратить внимание, на то, что первый элемент вектора соответствует ко-

эффициенту уравнения при свободном члене. Задача 5. Вычислить в Маткаде корни приведенного выше уравнения.Задача 6.Вычислить все корни многочленовА) 5x5+6x3+8x2+2x=0Б) 5x4+8x3+3x2+9x+8=0.В).4x4+8x-3=0Решение алгебраических уравнений в аналитической (символьной) форме.Маткад предоставляет возможность решения алгебраических уравнений в символьной ( аналитической) форме. Преимуществом символьного решения является возможность

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

Решение систем линейных уравненийСимвольное решение линейных систем алгебраических уравнений производится с

помощью двух операций: Solve (Решить) и lsolve.Ниже, на рис. рис.6-10 показано решение систем линейных уравнений различными методами..

Задача 7. Система линейных алгебраических уравнений задана матрицей М коэффициентов и вектором v правых частей. Найти аналитическое решение.

Сначала вводим матрицу и вектор.

А) решение с использованием встроенной функции lsolve.Функция набирается с клавиатуры или из окна встроенных функций. Стрелка набирается с панели символьных решений.

Рис.6. Символьное решение системы линейных уравнений с использованием встроенной функции lsolve

Б) Решение с использованием оператора solve

114

M

0.3

4.5

7.3

8.1

0.2

1.8

9.7

2.7

6.6

0.3

10.9

8.7

1.1

6.5

4.1

8.9

v

1

0.1

0.01

1 10 3

lsolve M v( )

3.9371585952195628203

2.9752573457871181164

.74590602095089835895

1.9516188095933060907

M

w

x

y

z

vsolve w x y z

float 43.937 2.975 .7459 1.952( )

Page 67: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.7.Символьное решение системы линейных уравнений с заданной точностью.

Здесь помимо оператора lsolve использован оператор float (плавающая точка) и задана точность решения – 4 знака.

Операторы solve и float набираются последовательно.В) Решение в скалярной форме

Рис.8. Символьное решение системы линейных уравнений в скалярной форме.

Г). Решение с созданием решающего блока и директивы given.Директива given и оператор Find набираются с клавиатуры

Рис.9. Символьное решение системы линейных уравнений с использованием директивы given

Д) Решение системы с буквенными коэффициентами

114

0.3 w 0.2 x 6.6 y 1.1 z 1

4.5 w 1.8 x 0.3 y 6.5 z 0.1

7.3 w 9.7 x 10.9y 4.1 z 0.01

8.1 w 2.7 x 8.7 y 8.9 z 1 10 3

solve w x y z

float 43.937 2.975 .7459 1.952( )

Page 68: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.10. Символьное решение системы линейных уравнений, заданных в буквенной форме.Задача 8. Решить приведенную выше систему всеми рассмотренными способами.Задача 9.Решить самостоятельно приведенную ниже систему

Символьное решение нелинейных алгебраических уравнений

Задача 10. Решить приведенные ниже уравнения1. Решение уравнения четвертой степени с численными коэффициентами с

использованием оператора solve

2.Решение квадратного уравнения с буквенными коэффициентами

3.Решение квадратного уравнения с буквенными коэффициентами с формированием решающего блока

114

3x4 5x3 7x2 9x 10 solve x

1.1260186005688105923( ) .75699694283657936689i

1.1260186005688105923( ) .75699694283657936689i

.292685267235477258941.3133859400283537322i

.292685267235477258941.3133859400283537322i

x2 y2 r2

Page 69: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Но уже кубическое уравнение с буквенными коэффициентами не решается!Задача 11. Решить приведенные ниже уравнения самостоятельно1)2)3)

Лабораторная работа № 5Тема: Дифференцирование и интегрирование в МаткадеЦель: развитие навыков дифференцирования и интегрирования

Численное дифференцирование и интегрированиеДля проведения численного дифференцирования в Маткаде необходимо:1) задать диапазон изменения аргумента2) Записать дифференцируемую функцию3) Ввести с панели вычислений (calculus) знак дифференцирования.Например

Рис. 1. Численное дифференцирование в Маткаде.Задача 1. Провести дифференцирование приведенных выше выражений.Задача 2. Найти самостоятельно первую, вторую и третью производные для

функций:

Для вычисления определенных интегралов в Маткаде необходимо:1.вызвать панель интегрирования и дифференцирования, нажав на арифметической

панели кнопку с изображением интегралов и производных.114

Given

x 2 y2 r2

M r Find x y( )

12

12

2

4 r2

12

12

12

2

4 r2

12

x 1 5 y x( ) 3x2 2 x 10

xy x( )d

d8

14

20

26

32

y x( ) 5x15 10x10 xx 0 0.5 3

2xy x( )d

d

2

03.644

31.95·1052.274·1068.832·1081.578·1091.68·10

Page 70: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2. Набрав на экране y := , нажать кнопку с изображением определенного интеграла и вызвав его, проставить пределы интегрирования и подынтегральную функцию.

3. Набрать ниже интеграла y= и получить ответ.

Задача 3. Найти интеграл приведенной выше функции.Задача 4. Вычислить самостоятельно нижеприведенные интегралы

Символьное дифференцирование и интегрирование

1. Дифференцирование. Ниже приведен пример дифференцирования. Вместо знака = ставится стрелка из панели символьных решений.

Задача 5.Провести самостоятельно аналитическое дифференцирование нижеприведенных функций:

А)

Б)

В) 2.Интегрирование в квадратурах.Ниже приведены примеры символьного интегрирования в Маткаде. Знак

неопределенного интеграла вводится с панели вычислений, стрелка – с панели символьных решений

Пример1

Пример2.

Пример 3. Данный интеграл символьно в Маткаде не решается, но Вы посмотрите, что Маткад сделает с ним

114

0

4

xx5 6x2

d 810.667

xxn

dxn 1

n 1

xx2 1

d12

x x2 1 1

2

12

asinh x( )

x2

x3 1

d25

x x3 1 1

2 indef_int

3

5 x3 1 1

2

x

Page 71: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

3.Разложение функции в ряды Тейлора - Маклорена .Разложение в ряд Маклорена (т.е. около нуля) производится символьной командой

меню symbolics (символьно)– variable(переменная)- expand to series(разложить в ряд). Например: Нужно разложить в ряд около нуля функцию

1.Набираем эту функцию и выделяем ее.2.Нажимаем в меню опцию symbolics. Появляется окно, в котором выделяем опцию

variable.. 3.В появившемся подокне выбираем опцию expand to series.4. Появляется окно с надписью order of approximation ( порядок разложения).5. Вводим число 6, нажимаем ОК и получаем ответ

Задача 6. Разложить в ряд Маклорена с вычислением 10 членов нижеприведенные функции:

Разложение в ряд Тейлора около любого значения х производится кнопкой series окна символической

математики. При нажатии этой кнопки появляется следующая запись:

В первый ее прямоугольник записывается разлагаемая функция, во второй - переменная по которой происходит разложение, а в третий - ее значение, около которого оно производится. После щелканья мышью получим ответ. Число членов разложения устанавливается ,как и в предыдущем случае, в окне, вызываемом командой symbolics (символьно)– variable(переменная)- expand to series(разложить в ряд).

Пример1.

Задача 7. Разложить в ряд Тейлора около заданных значений х , с заданным числом членов функции:

А) Sin(2x) - около 1, 5 членов ряда.

Б) около х=3 с 5 членами разложенияЛабораторная работа № 6Тема: Аппроксимация и обработка наблюдений в МаткадеЦель: использование встроенных функции для проведения аппроксимации Аппроксимация функций.1. Кусочно-линейная аппроксимация.Кусочно-линейная аппроксимация производится функцией linterp(vx, vy,x) Здесь vx- вектор аргументов x точек, через которые должна пройти кривая,

114

1 1 x12

x216

x3124

x41

120x5 O x6

ex

Page 72: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

vy- вектор ординат y тех же точек, x –значение аргумента аппроксимирующей функции.

Рис.1. Кусочно-линейная аппроксимация.Задача1. Провести кусочно-линейную аппроксимацию приведенного примера.1. Аппроксимация сплайнами.При небольшом числе узловых точек (менее 10) линейная интерполяция оказывается

довольно грубой. При ней даже первая производная функции аппроксимации испытывает резкие скачки в узловых точках. Для целей экстраполяции функция linterp не предназначена и за пределами области определения может вести себя непредсказуемо.

Гораздо лучшие результаты дает сплайн-аппроксимация. При ней исходная функция заменяется отрезками квадратных или кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках (отсюда и название аппроксимации: splain - гибкая линейка).

Для осуществления сплайновой аппроксимации система Маткад предлагает четыре встроенные функции. Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:

cspline(VX, VY) - возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;

pspline(VX, VY) - возвращает вектор VS вторых производных при приближении к опорным точкам параболической кривой;

lspline(VX, VY) - возвращает вектор VS вторых производных при приближении к опорным точкам прямой. Наконец, четвертая функция

interp(VS, VX, VY, x) возвращает значение у(х) для заданных векторов VS, VX, VY и заданного значения x.

Таким образом, сплайн-аппроксимация проводится в два этапа. На первом с помощью функций cspline, pspline или Ispline отыскивается вектор вторых производных функции у(х), заданной векторами VX и VY ее значений (абсцисс и ординат). Затем, на втором этапе для каждой искомой точки вычисляется значение у(х) с помощью функции interp.

На рис 2 приведен пример аппроксимации квадратическими (параболическими) сплайнами. Аппроксимация проведена для тех же заданных точек, что и в предыдущем примере. Набраны вектора vx, vy и с помощью функции pspline получены коэффициенты сплайнов. Чтобы убедиться, что аппроксимирующая кривая проходит через заданные точки, функция interp вычислена для заданных значений х. Поэтому результатом interp явились заданные значения у. Чтобы более точно просмотреть аппроксимирующую кривую для графика х задан в том же интервале, но с шагом 0.1. Как видим из графика, аппроксимация сплайнами совершенно не похожа на кусочно-линейную аппроксимацию.

В функции interp – vx,vy- те же векторы заданных значений, а vs – вектор 114

vx

1

2

3

4

5

vy

98

85

32

79

30

x 0 0.1 5 i 0 4

0 2 4 6

50

100

150

linterp vx vy x( )

vy i

x vxi

Page 73: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

коэффициентов уравнений для сплайнов, полученный из функций pspline или cspline.

Рис.2. Аппроксимация сплайнами.Задача 2. Набрать в Маткаде и получить графики решения для приведенного выше

примера. II. Статистические функции Маткада.В Маткаде существуют целый набор встроенных функций для вычисления числовых

характеристик случайной величины. К ним относятся:1.mean (A) – возвращает среднее значение вектора А.2.cvar(A,B) – возвращает корреляционный момент случайных векторов А и В.3. stdev( A) – возвращает стандартное (среднеквадратическое) отклонение элементов

вектора A.4.corr(vx,vy) –возвращает коэффициент корреляции векторов vx vy.6. hist (i, v)- функция построение гистограммы. Здесь i - вектор границ интервала, v-

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

Рис.3 Вычисление среднего арифметического и с. к.о.

Задача 3. Провести решение и построение вышеприведенного графика .Задача 4. вычислить корреляционный момент и коэффициент корреляции по

заданным реализациям случайных величин Х , У и Z, W.

114

vx

1

2

3

4

5

vy

98

85

32

79

30

x 0 0.1 5i 0 4

0 2 4 6

50

100

150

interp pspline vx vy( ) vx vy x( )

vy i

x vxi

z

10

11

12

13

14

15

16

17

18

19

w

100

121

144

169

196

225

256

289

324

361

corr z w( ) 0.996

x

6.4

7.6

2.3

1.8

5.9

mean x( ) 4.8

stdev x( ) 2.318

Page 74: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.4.Вычисление корреляционного момента и коэффициента корреляции.

Примечание: случайная величина w является неслучайной функцией (квадратом) величины Z . Поэтому теоретически коэффициент корреляции должен был быть равен 1.

Задача 5. Известен курс двух валют: доллара США и монгольского тугрика. Спрашивается: зависит ли тугрик от доллара?

И курс доллара, и курс тугрика являются случайными величинами. Из предмета «Теория вероятностей» известно, что мерой статистической связи двух случайных величин является их коэффициент взаимной корреляции, определяемый по формуле:

,

где Kx,y -корреляционный момент двух случайных величин, а Dx ,Dy - дисперсии случайных величин.

Коэффициент корреляции может изменяться в пределах -1<= rx,y<=1. В таблице приведен курс доллара и тугрика за определенный период времени. Найти коэффициент корреляции.

Задача 6. По заданным реализациям случайной величины Х построить ее гистограммИнтервалыНаблюдений

-4-;3 -3;-2 -2;-1 -1;0 0;1 1;2 2;3 3;4

Число наблюдений в данном интервале

6 25 72 133 120 88 46 10

Частота m/n 0.012 0.05 0.144 0.266 0.240 0.176 0.092 0.02му. Произведено 500 наблюдений. Результаты наблюдений сведены в статистический ряд:

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

1. Сформируем векторы интервалов наблюдений v и частот f ( приведены для экономии места в транспонированной форме)

2.

3. Используя функцию Histogram, найдем центры каждого интервала

5 19

06

73

43

42

11

00 55

5 2 9 01

1

114

f T 0.012 0.05 0.144 0.266 0.24 0.176 0.092 0.02( )vT 4 3 2 1 0 1 2 3 4( )

H histogram v f( )

HT 3.5

0

2.5

0

1.5

0

0.5

0

0.5

8

1.5

0

2.5

0

3.5

0

Page 75: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Матрица Н также приведена в транспонированной форме.Построим плоский график, введя по оси абсцисс первый столбец матрицы Н, а по оси

ординат – вектор f.

Вызовем на панели форматирования (Formating Currently Selected X-Y Plot) окно

Traces ( следы) и в столбце Тип выберем строку Solid Bar.Получим график гистограммы, показанной ниже.

Задача 7. Во многих случаях при статистических вычислениях требуется проводить выравнивание статистических рядов, т.е. сортировку их по возрастанию аргумента.

Для этого можно использовать функцию csort.Пусть для значений аргумента Х, представленного вектором Х произведены

наблюдения Y и Z, представленные векторами y и z.

Для сортировки необходимо сформировать матрицу М, в которой первый столбец составляет вектор Х, второй - вектор У, третий -

вектор Z.Так как нам удобнее

начинать отсчет с 1, введем ORIGIN=1

Дальнейшая последовательность действий понятна из рис.7 .

114

4 2 0 2 4

0.1

0.2

0.3

f

H 0

i 0 8

4 2 0 2 4

0.1

0.2

0.3

f i

H 0 i

Page 76: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис. 7 Сортировка по Х.Цифра 1 в функции CSORT означает, что сортировка производится по первому

столбцу.

Лабораторная работа № 7Тема: Построение законов распределения в МаткадеЦель: развитие навыков построения законов распределения случайных величинВ Маткаде имеется целый ряд встроенных функций, позволяющих строить законы

распределения случайных величин. К ним, в частности, относятся функции:1).dnorm(x,m,s )- плотность вероятности для нормального распределения. Здесь x-

случайная величина, μ- ее математическое ожидание,σ- среднеквадратическое отклонение.2) dunif(x,a,b)- равномерная плотность вероятности, где a,b- границы интервала

распределения. 3).dt(x,d) - плотность вероятности для распределения Стьюдента, где d-

число степеней свободы. 4) dchisq(x,d) – плотность распределения χ- квадрат, где х – случайная величина, d- число степеней свободы. 5)dF(x,d1,d2) – плотность вероятности Фишера, х, d1, d2 – где – x, d1, d2, - случайная величина и две степени свободы, соответственно.

Все встроенные функции плотностей вероятностей в Маткаде начинаются с буквы d (distribution)- распределение.

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

Задача 1. По заданным результатам наблюдений построить график нормального закона распределения.

Выражение для нормального закона распределения имеет вид,

где m – математическое ожидание, а σ – среднеквадратическое отклонение случайной величины х.

Поэтому, прежде всего нужно вычислить эти величины, что и показано на рис.1.

114

x 5 4.95 15

10 0 10 20

0.1

0.2

dnorm x 4.8 2.318( )

x

Page 77: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.1.Построение нормального закона распределенияЗадача 2. Построить равномерный закон на интервале 10-20.

Рис.2. Построение равномерного закона распределения.Задача 3. Построить закон распределения хи – квадрат.Распределением хи- квадрат с “d” степенями свободы называется распределение

суммы квадратов “d” независимых случайных величин, каждая из которых подчинена нормальному закону распределения с математическим ожиданием, равным нулю и дисперсией, равной единице. Аналитически это распределение выражается через гамму - функцию. Закон распределения хи – квадрат используется во многих задачах математической статистики.

Рис. 3. Построение закона распределения хи – квадрат.В Маткаде этот закон строится с помощью встроенной функции dchisq(x,d) , где х –

случайная величина, d- число степеней свободы: На рис.3 показано построение закона хи – квадрат для двух значений степеней

свободыЗадача 4. Построить самостоятельно закон распределения хи-квадрат с 4-мя

степенями свободы для Задача 5. Построить закон z- распределения Фишера.Распределением Фишера с “d1” и “d2” степенями свободы называется распределение

F(χ), где 114

0 10 20 30

0.05

0.1

0.15

0.2

dchisq x 5( )

dchisq x 10( )

x

x 0 0.01 30

Page 78: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

x 0 0.1 10

Здесь ξ и η - независимые, нормально распределенные случайные величины с нулевым математическим ожиданием и дисперсией, равной единице. Распределение Фишера используется в дисперсионном анализе.

В Маткаде распределение Фишера строится с помощью встроенной функции dF(x,d1,d2)., где х – случайная величина, а “d1” и “d2” – «степени свободы»

На рис.4 показано построение распределения Фишера для нескольких значений степеней свободы.

Рис. 4. Построение закона распределения Фишера.Задача 5. Построить в Маткаде закон распределения Стьюдента.Распределением Стьюдента или “t”- распределением называется распределение

отношения

где ξ , ξi – независимые, нормально распределенные случайные величины с нулевым математическим ожиданием и единичной дисперсией. Параметр ‘d” называют числом степеней свободы.

Рис.5. Построение закона распределения Стьюдента.Распределение Стьюдента широко используется в дисперсионном анализе. В Маткаде

распределение Стьюдента строится встроенной функцией dt(x,d), где х – случайная величина, а “d”- число степеней свободы. На рис. 5. приведено построение этого закона для двух значений степени свободы.

Как известно, функция или интегральный закон распределения F(x) показывает вероятность попадания случайной величины х на отрезок оси абсцисс (-∞, х). и математически записывается как

где f(x) – соответствующая плотность вероятностей.

В Маткаде эти законы строятся с помощью встроенных функций114

x 5 4.9 10

0 2 4 6 8 10

0.2

0.4

0.6

0.8

1

dF x 3 10( )

dF x 10 40( )

x

6 4 2 0 2 4 6

0.1

0.2

0.3

0.4

dt x 0.1( )

dt x 500( )

x

Page 79: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

pnorm(x,m,σ)- интегральный нормальный закон распределения с математическим ожиданием m и среднеквадратичным отклонением σ;

punif(x,a,b) – интегральный равномерный закон распределения в пределах а и b.pchisq(x,d) – интегральный закон распределения хи – квадрат с “d” степенями

свободы;pF(x,d1,d2) – интегральный закон распределения Фишера со степенями свободы

“d1”и”d2”.pt(x,d) – интегральный закон распределения Стьюдента со степенью свободы “d”.Задача 6. Построить функцию распределения для нормального закона с

математическим ожиданием m=5 и среднеквадратическим отклонением σ =2.Построение функции приведено на рис. 6.

Рис.6.Построение интегральной функции нормального законаЗадача 7. Построить функцию распределения равномерного закона в пределах а=0,

b=10. Функция построена на рис. 7.Задача 8. Построить функции распределения для распределений хи- квадрат, Фишера

и Стьюдента. Соответствующие функции построены на рис.рис. 8-10

Рис.7. Построение интегрального закона Рис.8. Функция распределения хи- квадратравномерного распределения

.

x 0 16

114

x 10 15

x 0 0.5 40

x 0 0.1 10x 5 4.9 10

10 0 10 20

0.2

0.4

0.6

0.8

pnorm x 5 2( )

x

0 5 10 15

0.2

0.4

0.6

0.8

1

punif x 0 10( )

x

0 5 10 15

0.2

0.4

0.6

0.8

1

pchisq x 5( )

x

Page 80: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.9. Функция распределения Фишера. Рис. 10. Функция распределения Стьюдента.

Лабораторная работа № 8-9Тема: Решение обыкновенных дифференциальных уравнений (Задача Коши).Цель: решение обыкновенных дифференциальных уравнений различными методами с

использованием встроенных функцииВ Маткаде имеется тринадцать встроенных функций для решения обыкновенных

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

Среди встроенных функций Маткада для решения дифференциальных уравнений есть функция их решения методом Рунге – Кутты с постоянным фиксированным шагом. Она имеет вид: rkfixed( v,x0,x k,n,F). Здесь v начальные условия, записанные в виде вектора, x0,xk

– начальное и конечное значения аргумента, n- число шагов, F- правые части системы, записанные в виде вектора.

Возможно решение тем же методом с автоматическим выбором шага. Для этого служит функция rkadapt(y, x1, x2, n points, D). Эти методы требуют преобразования дифференциального уравнения в систему уравнений первого порядка.

В последних версиях Маткада появилась функция odesolve(х, b) (ordinary differential equation solution – решение обыкновенного дифференциального уравнения), позволяющая решать уравнение без его преобразования.

Здесь в скобках х – переменная интегрирования, b- верхняя граница изменения аргумента. Нижняя граница равна нулю.

Решение дифференциальных уравнений с помощью функции odesolve.Задача 1. Используя встроенную функцию odesolve решить в Маткаде следующее

нелинейное обыкновенное дифференциальное уравнение второго порядка с нулевыми начальными условиями:

На рис. 1. показано это решениеИтак, для решения с использованием этой функции нужно:1. Ввести директиву given

5 0 5 10

0.25

0.5

0.75

1

pt x 0.1( )

pt x 500( )

x

114

0 5 10 15

0.2

0.4

0.6

0.8

1

pF x 3 3( )

pF x 10 40( )

x

Page 81: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2. Набрать дифференциальное уравнение. Знак производной набирается клавишей Ё английской клавиатуры, знак «=» - с логической панели,

3. набрать начальные условия,4. набрать функцию odesolve,5. сформировать график,6. Нажать клавишу F9.

Рис.1. Решение в Маткаде обыкновенного дифференциального уравнения с помощью встроенной функции odesolve

Задача 2. Используя функцию odesolve, решить самостоятельно приведенные ниже дифференциальные уравнения. Построить графики решения:

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

Из рисунка видно, что в функцию odesolve помимо прежних данных вводится вектор имен решаемых функций

Given

114

100y'' x( ) 10y' x( )2 101y x( ) 50sin x( )

4

y' 0( ) 0

y 0( ) 0y Odesolve x 200( )x 0 0.05 200

0 50 100 150 200

10

10

y x( )

x

Given

5u' x( ) w' x( ) u x( ) u x( ) 5 x3 04 w' x( ) 9u x( ) 5 w x( ) 7 x2 0

u 0( ) 0 w 0( ) 0

u

w

Odesolveu

w

x 10

x 0 0.1 20

0 5 10

200

200

400

u x( )

w x( )

x

Page 82: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.2.Решение системы уравнений первого порядка.Недостатком этой функции является фиксированная нижняя граница аргумента

Задача 3. Решить самостоятельно приведенные ниже системы уравнений первого порядка

Решение дифференциальных уравнений с помощью функции rkfixed.Встроенная функция rkfixed (метод Рунге – Кутта с фиксированным шагом решения)

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

порядка. Разберем сначала, как это делается применительно к пакету Маткад. Любое обыкновенное дифференциальное уравнение выше первого порядка может

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

Дано ay'''+by''+cy'+dy=f(x) . (1)Введем подстановки: y''=y0, (2) y'=y1, (3) y=y2. (4)Тогда уравнение (1) запишется в виде: ay0'+by0+cy1+dy2=f(x) . (5) Это первое уравнение первого порядка будущей системы.Продифференцируем уравнение (3). Получим y''=y1'. (4)Левые части уравнений (2) и (4) равны. Следовательно, равны и их правые части.

Отсюда y1'=y0 . (5)

Продифференцируем уравнение (4). Получим y'=y2'. (6)

Левые части уравнений (3) и (6) равны, следовательно, равны и их правые части. Тогда

y2'=y1. (7)Мы получили систему из трех дифференциальных уравнений первого порядка: ay0'+by0+cy1+dy2=f(x) y1'=y0 (8)

y2'=y1

Разрешив первое уравнение относительно производной, окончательно получим:

y0'=–by0/a–cy1/a–dy2/a+f(x)/a 114

Page 83: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

y1'=y0 (9)

y2'=y1

Решим методом Рунге- Кутты с фиксированным шагом дифференциальное уравнение второго порядка:

при заданных начальных условиях t0 =0, y(0)=1, и заданном конце счета tk= 13.

Проведя преобразование в систему уравнений первого порядка, получим:

Начальные условия примут вид: y0(0) = 0, y1(0) = 1. Записав правые части и начальные условия в виде векторов , получим

f(t, y) – это вектор правых частей системы. При его формировании надо обратить внимание на следующее:

1.Вместо буквы f можно использовать любую другую букву. Но тогда и во встроенной функции нужно, естественно, использовать ту же букву.

2.Внутри скобок первое имя (в нашем случае t) является именем аргумента, по которому происходит интегрирование дифференциального уравнения. Т. е. опять - таки это может быть и другая буква.

3.Вторая буква внутри скобок – это вектор имен зависимых переменных. Им эти имена полностью определяются. Если принято имя y, то именами переменных должны являться y0, y1, y2 и т.д., причем первое уравнение – это

dy0 /dt =……, второе dy1/dt = ……….. и т.д. На рис. 3 приведено решение этой системы.

114

Page 84: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Р

иРис.3 Решение дифференциального уравнения с помощью функции rkfixed.

Ответ получен в виде вектора и в виде графика. В первой строке этого вектора показаны номера переменных: z0 это время, z1 - производная y0, z2 - сама функция у. Выведены только первые 11 значений вектора ответа.

Начальные условия заданы встроенным вектором v. Ранжировка j := 0..1000 относится не к функции rkfixed , а к графику. Для встроенной

функции число точек решения задано числом 1000 внутри нее.

Внутри функции указано время интегрирования 0 –13 .114

Page 85: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

По оси абсцисс графика отложен первый столбец матрицы ответов zj,0 - аргумент (в нашей задаче – время t ), где j =0..1000.

По оси ординат отложена переменная zj,2

В процессе решения задачи на экране мигает электрическая лампочка.Задача 1. Решить приведенную выше систему в Маткаде. Задача 2. Решить в Маткаде дифференциальное уравнение второго порядка T2 d2 y/dt2 + x T dy/dt +y =0 при начальных условиях t 0 = 0, y(t0) =1, dy/dt (t0) =0 и заданных значениях

параметров Т=10, x =0.5.Задача 3. Решить в Маткаде самостоятельно следующие дифференциальные

уравнения:1. 3d2y/dx2 +5 dy/dx +6 y =0 x0 =0, y(x0) =2, dy/dx (x0)=0. хлон= 20, n=500.2. 5d3y/dt3 + 9 d2y/dt2 – 2dy/dt + 8y = 1/(t+1). y(0)=0, y`(0)=1, y``(0)=0.Задача 4.Построение фазовых портретов.Фазовым портретом называется график функции в координатах y`(y). Фазовые

портреты используются в теории автоматического управления для определения переходных процессов в автоматических системах.

Построим фазовый портрет для дифференциального уравнения второго порядка, записанного в форме:

:

Здесь Т- постоянная времени, ξ – коэффициент затухания.Решаются три одинаковых дифференциальных уравнения с одинаковыми начальными

условиями, но с разными коэффициентами затухания.

114

f3 t y3( )

2 x T y30 y31

T2

y30

z3 rkfixed

01

0 100 1000 f3

x 0.1

T 10 x 0

f1 t y1( )

2 x T y10 y11

T2

y10

z1 rkfixed

01

0 100 1000 f1

x 0.1

f2 t y2( )

2 x T y20 y21

T2

y20

z2 rkfixed

01

0 100 1000 f2

0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2

3

2

1

1

2

z1j 2

z2j 2

z3j 2

z1 j 1 z2 j 1 z3 j 1

Page 86: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.4. Фазовые портретыВсе три решения начинаются в одной точке (0,1). Но первая сплошная кривая при ξ=0

– эллипс, характеризует консервативную систему, незатухающие гармонические колебания.Вторая пунктирная кривая при ξ=0.1 – затухающая кривая, характеризует

затухающие колебания, такая система является устойчивой (это характерно для всех 0 < ξ <1).

Третья кривая пунктиром – при ξ = - 0.1 характеризует неустойчивую колебательную систему.

Решение дифференциальных уравнений методом Буль-ШтейераЭлектронный учебник по Маткаду утверждает, что численный метод Буль – Штейера

дает более точное решение, чем метод Рунге Кутта. Ниже на рис.5 приведено решение этим методом нелинейной системы второго порядка:

с начальными условиями

Из рисунка видно, что последовательность решения не отличается от последовательности решения методом Рунге-Кутта.

Рис.5.Решение дифференциального уравнения методом Буль - ШтейераДифференциальныеt уравнения со случайной составляющей.Маткад позволяет решать дифференциальные уравнения, коэффициенты которого

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

j 0 1000

114

j 0 100z Bulstoer

50

2000

0 13 1000 f

f t x( )x0 0.01x1 1

0.01 x0 x1

0 0.5 1 1.5

1000

2000

z j 2

z j 0

j 1 1024

z rkfixed

0

0

1

0 50 1024 f

f t y( )

3 y1 5y2 6y3 rnd 1( )

y1

y2

Page 87: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.6 Решение дифференциального уравнения со случайными параметрами

Лабораторная работа № 10Тема: Решение краевых задачЦель: рассмотреть методы решения краевых задачКраевая задача решается в Маткаде методом пристрелки с помощью встроенной

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

Функция sbval имеет вид sbval(v,x1,x2,f,load,score).Здесь: v-вектор незаданных начальных условий, т.е. тех начальных условий, вместо

которых заданы конечные условия. Обычно выбираем все компоненты v, равными 1; x1, x2- начальное и конечное значения аргумента, т.е. интервал решения

дифференциального уравнения;f(x,y)- векторная функция, содержащая правые части дифференциального уравнения ,

та же, что используется при решении дифференциального уравнения с помощью rkfixed;load(x1,v) -вектор всех начальных условий. Сюда помещаются все заданные

начальные условия, а вместо незаданных помещаются компоненты вектора v;score( x2, y)- вектор конечных условий, в который помещаются разности между

текущими значениями тех переменных, для которых заданы конечные условия, и их численными значениями.

Задача 1. Задано однородное дифференциальное уравнение пятого порядка

Задан интервал решения:0,1.Для уравнения пятого порядка должны быть заданы пять граничных условий.Заданы начальные условия y(0)=0 , dy/dx x=0 =7 и конечные условия y(1) = 1 , dy/dx x=1 = 10 , d2y/dx2

x=1 = 5 . Сформируем для трех не заданных начальных условий вектор v ,присвоив всем его

элементам единичные значения

Сформируем вектор f(x,y). Для этого введем подстановки:

114

z

1 2 3 4123456789

10111213141516

0 0 0 10.049 -0.249 -3-6.172·10 10.098 -0.455 -0.023 0.9990.146 -0.629 -0.05 0.9970.195 -0.768 -0.084 0.9940.244 -0.88 -0.125 0.9890.293 -0.969 -0.17 0.9820.342 -1.052 -0.219 0.9720.391 -1.092 -0.272 0.9610.439 -1.112 -0.326 0.9460.488 -1.114 -0.38 0.9290.537 -1.097 -0.434 0.9090.586 -1.071 -0.487 0.8860.635 -1.015 -0.538 0.8610.684 -0.964 -0.587 0.8340.732 -0.891 -0.632 0.804

0 15 30 45 60

0.5

0.13

0.25

0.63

1

z j 4

z j 1

Page 88: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Вместо одного уравнения пятого порядка мы имеем теперь систему из пяти уравнений первого порядка:

Разрешив первое уравнение этой системы относительно производной, получим :

.

Следовательно, Сформируем вектор

114

Page 89: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Здесь xn - начальное значение x, а вектор заполняется следующим образом: была проведена подстановка

После которой вектор переменных приобрел следующий вид:

С учетом подстановки нам заданы y0 = 0 и y1=7. Остальные начальные условия неизвестны и мы заполняем их вектором v.

Сформируем вектор score(xk,y) для заданных конечных условий:

Вектор включает те переменные, для которых заданы конечные значения.Все вышеперечисленные действия были произведены в Маткаде, и было получено

искомое решение, приведенное на рис.1.

114

load xn v( )

v0

v1

v2

7

0

score xk y( )

y2 5

y3 10

y4 1

v

1

1

1

xk 1xn 0

Page 90: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.1 решение краевой задачи в Маткаде.Функция sbval вычисляет неизвестные начальные условия, а мы затем вводим их в

функцию rkfixed и получаем решение. На графиках приведены те кривые, для которых заданы конечные условия, чтобы

можно было убедиться в их выполнении, а именно y3(x), y4 (x), y5(x). Ниже приведены вычисленные начальные и конечные значения переменных. Весь

диапазон решения разбит нами на 1000 точек (j=0..1000), поэтому y0,0 - это начальное, а y1000,0

- конечное значения y0. То же относится к другим переменным.

Как видим, вычисленные значения совпадают с заданными.Задача 1. Решить приведенное уравнение в Маткаде. Задача 2. Задано линейное дифференциальное уравнение с переменными

коэффициентами (другое название - нестационарное): y xy x y x2 . В таких уравнениях коэффициенты при переменной являются функцией

независимой переменной - аргумента, в нашем случае х. Задан интервал вычислений 0<= x <=5, заданы конечные условия y(5) =2, . Нестационарные дифференциальные уравнения относятся к классу линейных,

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

самостоятельно):

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

114

Page 91: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.2. Решение краевой задачи для нестационарного дифференциального уравнения

Это уравнение является сложным для компьютера, что видно из длительности его решения.

Проверим вычисление крайних точек:

Как видим, конечные значения совпали с заданными.

Лабораторная работа № 11Тема: Решение разностных уравненийЦель: развитие навыков решения разностных задач различного порядкаОбыкновенное разностное уравнение порядка n есть уравнение G (x k , y k, y k+1 ,….y k +n)=0 , (1) (k=0,1,2,….), связывающее значения y k = y (х k) = у (x0 + k Δx) функции у = у(х) на дискретном

множестве значений x = x k = x 0 +k Δx, где Δx — фиксированное приращение. Часто бывает удобно ввести в качестве новой независимой переменной величину

k =(x-x0 )/ Δx = 0, ± 1, ±2,;...Решением разностного уравнения называется такая функция у =у (х ), что

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

Разностные уравнения применяются:

I) для аппроксимации дифференциальных уравнений, 114

Page 92: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2) для решения задач, представляющих модели с дискретными переменными.Разностное уравнение порядка “n” , (2)в котором все коэффициенты – константы, называется линейным разностным

уравнением с постоянными коэффициентами. Если правая часть f(k)=0, уравнение называется однородным.

Общее решение такого однородного уравнения имеет вид: (3)где - корни характеристического уравнения (4)Для частного решения разностного уравнения порядка n должно быть задано n

начальных или краевых условий по которым определяются константы С в уравнении (3).

Пример решения разностного уравнения второго порядка.Задано уравнение . (5)

Заданы начальные условия: . Его характеристическое уравнение: (6)

Отсюда . (7)

И решение равно: . (8)Значения констант определяем из начальных условий:

(9)

Подставив в (9) значения начальных условий и вычисленные в (7) значения корней характеристического уравнения, и решив систему из двух линейных алгебраических уравнений , получим значения констант С.

Задача 1. Задано разностное уравнение второго порядка с начальными условиями Пользуясь калькулятором, решить его и вычислить первые пять значений y.В случае уравнений порядка выше второго характеристическое уравнение, константы

значения самой функции у можно вычислять на ЭВМ, в частности, в пакете Маткад.Задача 2. Решить в маткаде разностное уравнение третьего порядка и построить

график решения:. Заданы начальные условия: 1. Характеристическое уравнение имеет вид: .Решаем его в Маткаде с помощью функции polyroots:

Корни получены в виде матрицы, причем ее первый элемент114

Page 93: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

второй третий-

Решение разностного уравнения ищем по формуле .2. Отсюда находим соотношения для констант С0, С1, С2: С0+С1+С2=1 С0z0+C1z1+C2z2=0 C0z0

2+C1z12+C2z2

2=0.

Решая эту систему в Маткаде, определяем значения констант.

Здесь до слова Given заданы начальные приближения неизвестных. Сначала все они были заданы равными 1. Однако Пакет попросил изменить их. Поэтому для С2 было принято начальное значение 10.

Строим график, выбирая в окне настройки не «линии»(lines), а «точки» (points).

Задача 2.. Решить самостоятельно в маткаде нижеприведенные разностные уравнения. Построить графики их решения для 20 точек.

А). Начальные условия: Б). Начальные условия:

Лабораторная работа № 12Тема: РегрессииЦель: развитие навыков по вычилению линейной и нелинейной регрессииВ Маткаде имеется большое количество встроенных функций по обработке

наблюдений: Линейная регрессия 1.Функция slope (vx, vy) – возвращает коэффициент «a» линейной регрессии y=ax+b

векторов vx и vy. 2. Функция intercept ( vx, vy) – возвращает коэффициент «b» линейной регрессии

векторов vx и vy.Эти обе функции используются для линейной регрессии.На рис. 1 показано вычисление коэффициентов линейной регрессии с помощью этих

функций. Как известно, линейная регрессия вычисляется по результатам измерений входного и выходного сигналов системы. Здесь vx- вектор входных сигналов, vy- вектор выходных сигналов. По ним функциями slope и intercept мы находим коэффициенты прямой линии, наилучшим образом сглаживающей ошибки измерения. Затем записываем уравнение этой прямой и строим для нее график.

114

Page 94: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.1. Вычисление линейной регрессии.Задача 1. Решите в маткаде приведенный выше пример.Задача 2. Вычислите коэффициенты линейной регрессии и постройте график для

измерений: х 1.7

82.8

63.3

25.9

06.2

77.1

07.9

9y 56.

753.

948.

041.

239.

636.

337.

1 Нелинейная регрессия. I. Сглаживание кривой заданного порядка.Маткад позволяет вычислять нелинейную регрессию несколькими способами.1.При сглаживании одной кривой функция regress(vx,vy,n) вычисляет и

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

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

Задача.3. Решите в Маткаде приведенную на рис.2 задачу.

114

vy

4

1

9.5

17

23

35.1

50

slope vx vy( ) 7.84

intercept vx vy( ) 12.874

line vx vy( )12.874

7.84

0 5 10

50

50

100

y x( )

vy j

x vxj

y x( ) 7.84x 12.874

x 0 0.1 10 j 0 6

vx

1.9

1.5

3

4

5.5

6.2

7.2

Page 95: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.2.Сглаживание кривой третьего порядкаРешите ту же задачу для линейного, квадратичного сглаживания функцией regress, а

также для сглаживания кривой четвертого порядка

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

аппроксимацию.Маткад позволяет с помощью функции linfit проводить аппроксимацию набором

кривых, заданных вектором f.На рис.3. приведен набор функций и проведена аппроксимация тех же данных, что и

в предыдущих задачах, набором полиномов.Сначала, для проведения сортировки формируется матрица М и проводится

сортировка. Затем формируются отсортированные вектора vx и vy. Набор полиномов задается функцией f(х)Используя функцию linfit, Маткад формирует вектор а, умножение которого на f(x) и

дает аппроксимирующую кривую.

Рис.3 Аппроксимация набором функцийЗадача 4 . Решите в Маткаде пример рис.3

Задача 5. Подберите набор функций для следующих данных :114

Page 96: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

X 5 1 3 8 9 2 4 6 7y 0.5 9.1 3.4 5.7 2.9 3.6 7.1 6.7 0

Множественная регрессия.В Маткаде возможна реализация множественной регрессии с помощью встроенных

функций только для двух аргументов. Множественная регрессия при большем их числе может быть реализована с помощью функции minerr (minimum error – минимальная ошибка).

Множественная регрессия двух аргументов реализуется в Маткаде с помощью функции regress( M, vz, n)

Функция regress возвращает координаты аппроксимирующей поверхности.Здесь М - матрица 2*m из двух столбцов и m строк, в которую заносятся

наблюденные данные двух аргументов, vz- вектор наблюденных значений аппроксимируемой функции,

n- степень приближающего полинома. При n=1 имеем линейную, при n >1 - нелинейную множественную регрессию.

Аппроксимация плоскостью.Задана матрица аргументов M и вектор наблюдений vz (См. рисунок 4). Вектор vs

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

Рис.4. Исходные данные вычисление вектора vsСоставляем уравнение плоскости

Теперь, как всегда при формировании трехмерного графика создаем матрицу решений и строим график или (и) получаем таблицу решений в узловых точках.

Рис.5. График линейной множественной регрессии.Нелинейная аппроксимация полиномом 2-го порядка.

114

M

1

2

3

4

5

23

7

41

0

50

vz

56

23

9

34

8

vs

3

3

1

6.957

0.328

54.816

vs regress M vz 1( )

z x y( ) 54.816x 0.328y 6.957

i 0 20 j 0 20

M

xi i y j j

Page 97: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.6. Построение множественной нелинейной регрессии с использованием функции regress.

На рисунке 6 приведена регрессия с помощью функции regress полиномом второго порядка. Заданы М, vz из десяти значений. Принимаем n=2.

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

Таким образом аппроксимирующая функция имеет вид :

Обычным способом получаем таблицу решений и строим график (рис.7) этой функции :

Рис.7. График нелинейной регрессии. Недостатком изложенного метода является необходимость изменения уравнения при

изменении условий задачи. Кроме того, в доступных книгах по Маткаду не приводится расшифровка коэффициентов полинома в векторе vs , а их экспериментальная расшифровка для полиномов высокого порядка затруднительна.

Множественная регрессия с использованием функции « MINERR». Как уже говорилось, построение регрессии с использованием функции minerr

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

В матрице М – экспериментальные значения аргументов, в векторе vy – экспериментальные значения функции. Функция y аппроксимируется функцией yi. Заданы начальные приближения для аппроксимирующих коэффициентов a,b,c,d,k.

В решающем блоке given строится выражение для квадрата разностей между

экспериментальными значениями вектора vy и аппроксимирующей функцией у. В процессе 114

Page 98: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

решения методом наименьших квадратов определяются коэффициенты аппроксимирующей функции у.

Рис.8 Вычисление множественной линейной регрессии с помощью функции minerr. Множественная нелинейная регрессия с MINERR.При решении задач нелинейной регрессии, как и при решении любых нелинейных

задач, следует учитывать зависимость ответа от заданных начальных приближений.Задача. Исходные данные по аргументам заданы матрицей М, исходные данные для

функции – вектором vy. Задаемся начальными приближениями коэффициентов.

Рис.9. Исходные данные для вычисления нелинейной множественной регрессии.

В качестве аппроксимирующего выбираем полином с неопределенными показателями

степеней. Значения этих показателей должны быть также определены в процессе расчета.114

Page 99: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Составляем выражение для метода наименьших квадратов в решающем блоке given

Рис.10. Вычисление нелинейной множественной регрессии с помощью функции minerr.

Лабораторная работа № 13Тема: Доверительные области и доверительные

интервалыЦель: дать понятие доверительной области и доверительного интервалаДоверительной областью называется область, внутри которой случайная величина

находится с вероятностью не менее заданной, а доверительным интервалом – границы этой области.

Задача 1. Произведено 20 опытов над величиной Х . Результаты приведены в таблице:

Требуется .найти оценку математического ожидания и и построить для него доверительный интервал вероятности β=0.8.

i xi i xi

1 10.5 11 10.62 10.8 12 11.33 11.2 13 10.54 10.9 14 10.75 10.4 15 10.86 10.6 16 10.97 10.9 17 10.88 11.0 18 10.79 10.3 19 10.910 10.8 20 11.0

114

Page 100: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

1.Составляем из таблицы вектор X (на рис.1 для экономии места часть этого вектора приведена в транспонированном виде). Вычисляем с помощью встроенной функции mean среднее арифметическое – оценку математического ожидания, а с помощью встроенной функции stdev – оценку среднеквадратического отклонения. .

Рис.1 Ввод наблюдений и вычисление числовых характеристик.Вычисленное значение среднего является случайной величиной (например, если

увеличить число опытов, то оно изменится). И как для любой случайной величины, мы можем построить для него математическое ожидание и среднеквадратическое отклонение.

Теперь мы должны найти для него такой отрезок на оси х, внутри которого эта случайная величина находится с вероятностью 0,8.

Для решения этой задачи нужно найти такой интервал ε относительно оценки математического ожидания , внутри которого с вероятностью 0.8 расположено истинное значение математического ожидания m:

Из курса теории вероятностей известно, что для этого необходимо вычислить обратную функцию распределения исследуемой случайной величины. Наше среднее является суммой независимых одинаково распределенных случайных величин Х i (i=1..20) и, согласно центральной предельной теореме, при достаточно большом числе опытов ее закон распределения близок к нормальному. На практике, даже при относительно небольшом числе слагаемых (порядка 10 – 20) закон распределения суммы можно считать нормальным. Поэтому будем считать, что m – нормально распределенная случайная величина. В этом случае необходимо использовать обратную функцию Лапласа Φ-1.

В Маткаде имеется встроенная функция qnorm(p,m,σ), являющаяся обратной функцией нормального распределения. Здесь р – заданная вероятность, m- математическое ожидание, а σ –среднеквадратическое отклонение нормально распределенной случайной величины. Функция qnorm возвращает отрезок -∞ - х, оси абсцисс, на котором находится случайная величина х с заданной вероятностью р.

Нас интересует отрезок , внутри которого с вероятностью 0,8 должно находиться математическое ожидание m.

Для лучшего понимания, что нам необходимо сделать, рассмотрим рис.2

Рис.2. Доверительный интервал для нормальной функции распределения.На этом рисунке кривая – функция распределения нормально распределенной

случайной величины с математическим ожиданием m=10 и среднеквадратическим отклонением σ=0,2. Функция распределения F(x) показывает вероятность попадания случайной величины х на отрезок оси абсцисс (-∞, х). Из рисунка видно, что эта вероятность

для х= m равна 0.5. Нам нужно найти такие отрезки на оси х, границы которых

x 9 9.01 11

114

XT 0 1 2 3 4 5 6 7 8 90 10.5 10.8 11.2 10.9 10.4 10.6 10.9 11 10.3 10.8

m mean X( )

m 10.78

y2 x( ) 0.1

y1 x( ) 0.9

9 10 11

0.5

1

z x( )

y1 x( )

y2 x( )

x

z x( ) pnorm x 10 0.2( )y1 x( ) 0.9

Page 101: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

соответствуют вероятностям 0,5+0,4 и 0,5-0,4. Их длину мы обозначим через ε1 и ε2 .Эти вероятности обозначены на рисунке пунктирными горизонтальными линиями. Нахождение отрезков и границ доверительной области в Маткаде показано на рис.3. В первой строке производится вычисление верхнего интервала и верхней границы доверительной области, во второй – нижнего интервала и нижней границы области.

Задача решена.

.

Рис.3. Вычисление отрезков ε1 и ε2 и границ доверительной области .

Проверка статистических гипотез в пакете Маткад.

Произведено 500 наблюдений. Результаты наблюдений сведены в статистический ряд:ИнтервалыНаблюдений

-4-;3 -3;-2 -2;-1 -1;0 0;1 1;2 2;3 3;4

Число наблюдений в данном интервале

6 25 72 133 120 88 46 10

Частота m/n 0.012 0.05 0.144 0.266 0.240 0.176 0.092 0.02

Задано среднее этих наблюдений m=0.2 и среднеквадратическое отклонение s=1.5.Требуется построить гистограмму этого ряда, выбрать в качестве теоретического

нормальное распределение и проверить его согласованность со статистическим распределением. В качестве параметров теоретического нормального распределения выбрать статистическое среднее и статистическое среднеквадратическое отклонение.

Решение в Маткаде.Гистограмма для этой задачи была построена в лабораторной работе №6 модуля 1.

Поэтому здесь только приводятся ее график и векторы интервалов и частот.

Рис.4. График гистограммы и векторы интервалов и частотыПосле построения гистограммы с помощью встроенной функции dnorm(x, 0.2,1.35)

строим график нормального закона распределения и вычисляем вероятности попадания случайной величины в каждый интервал. Как известно, эта вероятность равна интегралу от кривой распределения в пределах границ участка.

114

1 qnorm 0.5 m sm qnorm 0.1 m sm

2 qnorm 0.9 m sm qnorm 0.5 m sm

1 0.072

2 0.072

m1 m 1m1 10.708

m2 m 2 m2 10.852

4 2 0 2 4

0.1

0.2

0.3

f i

H 0 i

vT 4 3 2 1 0 1 2 3 4( )

f T 0.012 0.05 0.144 0.266 0.24 0.176 0.092 0.02( )

Page 102: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.5.График гистограммы и теоретического нормального распределения

Далее (см. рис.6), вычисляем значение χ2 (мы обозначили его через U), оно равно 3.899, и вызываем встроенную функцию Маткада pchisq. Если ввести в нее вычисленное значение U и число «степеней свободы», то в ответ получим вероятность противоречивости гипотезы о нормальном распределении наших наблюдений. В нашем случае число степеней свободы равно пяти, так как у нас восемь интервалов, и мы накладываем три условия:

1. сумма теоретических вероятностей равна 1,2. задаемся математическим ожиданием теоретического распределения,3. задаемся среднеквадратическим отклонением теоретического распределения.Как известно, число степеней свободы равно разности числа интервалов и числа

условий. В результате мы получили вероятность р=0.436. Это вероятность несоответствия наблюдений нашей гипотезе.

Рис.6. Вычисление вероятности несоответствия наблюдений гипотезе о

нормальности

Следовательно, вероятность соответствия рсоотв. = 1- pchisq = 0.564Это достаточно хорошая вероятность того, что наши наблюдения распределены

нормально.

Лабораторная работа № 14Тема: Программирование в МаткадеЦель: знакомство со встроенным языком, развитие навыков программированияВ Маткаде имеется встроенный язык программирования. Это язык более высокого

уровня, чем Бейсик и Паскаль, он позволяет производить объектно-ориентированные программы.

1. При программировании в Маткаде в программе участвуют локальные переменные, действие которых распространяется только на программу, а не на весь документ в целом, частью которого является программа. Переменные, действующие во всем документе, называются глобальными.

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

114

x 6 5.9 6

dnorm x m s( )f T 0.012 0.05 0.144 0.266 0.24 0.176 0.092 0.02( )

p ivi

vi 1

xdnorm x m s( )

d

U 500

0

7

i

f i p i 2f i

10 5 0 5 10

0.1

0.2

0.3

f i

dnorm x m s( )

H 0 i x

p ivi

vi 1

xdnorm x m s( )

d

pT 0.014 0.055 0.141 0.235 0.256 0.182 0.084 0.025( )

U 3.899pchisq U 5( ) 0.436

Page 103: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Появится новая панель – панель программирования, состоящая из кнопок:Кнопка ADD LINE- ДОБАВЬ СТРОКУ. При ее нажатии возникает вертикальная

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

Кнопка - это оператор присвоения, например

Локальной переменной А присваивается значение В.Кнопка IF аналогична оператору условного перехода в языках Бейсик

и Паскаль, например, выражение

означает , что , если С > 0, то A присваивается значение B.

Кнопка OTHERWISE дает возможность сделать выбор (аналог ELSE в Бейсике и Паскале).

Если A>B, то С присваивается значение D, в противном случае E присваивается значение F.

Кнопка FOR вводит в программу цикл с параметром (когда заранее известно,

сколько циклов необходимо выполнить).Количество циклов задается несколькими способами:

Кнопка WHILE - образует заголовок цикла с предусловием. Такой цикл используется, если мы заранее не знаем, сколько циклов нам необходимо сделать для решения задачи

(Аналогичные операторы имеются в Бейсике - оператор WHILE - WEND и в Паскале - оператор WHILE - DO).

В Маткаде набирается: WHILE < логическое условие> < операторы, которые должны выполняться>.Ниже приводятся элементы программ в Маткаде. Их необходимо прогнать.Пример 1. Задано значение х. В зависимости от этого значения z принимает значение

0 или 3. При изменении х меняется Z

114

A B C 0if

A B

C D A Bif

E F otherwise

VFORFORFOR

A

i

A

1..105,4,7,8

Page 104: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Пример2. Задано значение х. Значение у по-прежнему зависит от х, но вариантов здесь уже три.

Пример 3. Задано найти сумму первых десяти натуральных чисел. До начала следует присвоить сумме s нулевое значение. Так как число циклов известно, используем оператор FOR.

В процессе решения примера 1. измените наибольшее значение x до 100 ,2. Суммируйте квадраты xПример 4. Сумма составляется в зависимости от величины x.

Пример 5. Применение оператора WHILE. Суммировать натуральный ряд следует до

тех пор, пока сумма не превысит число 30. Здесь используются две линии ADD LINE. Прежде всего устанавливаются начальные значения s и x. Затем пишется оператор WHILE и во втором цикле - само накапливание. Нижняя буква s показывает, по какой переменной производится операция.

Порядок вычислений следующий:1.Устанавливаются начальные значения s и x.2.Осуществляется проверка условия. Так как оно выполняется, производится

операция s=s + x = 0+1.3. Проверяется условие s<304. Производится вычисление s.

114

Page 105: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

И так далее. То есть проверка производится ДО вычислений. Поэтому результат превышает заданный. Проверка то проводилась ДО вычисления, тогда было s<30, а после вычисления стало s>30 на очередной x.

Оператор WHILE проверяет условие ( s<=30) ДО ОЧЕРЕДНОГО ЦИКЛА.

После решения заданного примера измените предельное значение s на 15,20, 50.

Составить программы для решения следующих задач:Задача 1. Найти сумму 25 натуральных чисел S=1+2+3+4+.......+25Задача 2. Найти сумму 25 членов числового ряда S=1-2+4-8+16-32+..........ПОДСКАЗКА. Здесь каждый следующий член ряда равен

предыдущему, умноженному на -2. Un+1= U n(-2). Задача 3. Суммировать 25 членов ряда S= (3+4)/2 +(6+3)/4 +(12+2)/6 + (24+1)/8 + ............ПОДСКАЗКА. Здесь следует представить общий член ряда в виде (a+ b )/c и

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

следующим образом: на первую клетку шахматного поля было положено одно зерно, на вторую - два, на третью - четыре (22 ), на четвертую - восемь (23 ) и т. д. На последнюю, 64- ую клетку было положено 263 зерен. Сколько зерна получил изобретатель шахмат, если одно зерно весит 0,3 г.?

Все вышеприведенные задачи имели в ответе скаляр. Маткад позволяет получать ответ в виде вектора и матрицы. В задаче 7 ответы получаются в виде вектора.

Задача 7. Составить циклическую программу заполнения нижеприведенного v вектора числами :А) v=(1,2,3) , В) v=(3,2,1) , С) v=( 1.4.9).Ниже приведено решение варианта А.

ORIGIN:=1 означает, что счет начинается с 1, а не с 0.Здесь проведено различие между ГЛОБАЛЬНЫМИ и ЛОКАЛЬНЫМИ переменными.Программа в МАТКАДЕ является обычно частью большой задачи, переменные

которой называются ГЛОБАЛЬНЫМИ.Переменные внутри программы называются ЛОКАЛЬНЫМИ. Иногда они могут

совпадать.В данной задаче VEKTOR - глобальная , а V, I - локальные переменные.В программе приведена связь между ними. Определено начальное значение вектора

V.114

vektor v

0

0

0

vi i

i 1 3for

vektor

v1

v2

v3

vektor

ORIGIN 1

Page 106: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Слово VEKTOR в нижней части программы определяет, по какой переменной происходит вычисление.

Лабораторная работа № 15Тема: Задачи линейного программированияЦель: развитие навыков для решения задач линейного программированияХарактерной тенденцией в построении современных систем управления является

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

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

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

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

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

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

Наиболее предпочтительным или оптимальным способом управления будет такой, при котором критерий качества управления достигает минимального (иногда максимального) значения.

Различные виды задач управления. Различные виды задач оптимального управления отличаются друг от друга способом и последовательностью выполнения этих операций.

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

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

Поэтому методы математического программирования эффективны лишь при использовании ЭВМ.

Задача линейного программирования является простейшим случаем задачи математического программирования. Метод решения таких задач разработал советский математик Канторович, за что он получил Нобелевскую премию. Задача линейного программирования состоит в следующем:

Дана система т линейно независимых уравнений с n неизвестными x1, x2 ,…….x n ,

называемая системой ограничений задачи линейного программирования:

a11x1+…a1nx n=b1

114

Page 107: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

……………… (1) am1x1+…amnx n=bm

где, не уменьшая общности, можно считать b I >=0 , i=1…m.Характерной особенностью данной задачи является то, что число уравнений меньше

числа неизвестных, т.е. m<n. Требуется найти неотрицательные значения переменных (xi>=0, i=1…n), которые удовлетворяют уравнениям (1) и обращают в минимум (максимум) критерий оптимальности, который в данном случае называют целевой функцией.

q=c1x1 +….c n x n. (2) Задачи линейного программирования можно решать в различных пакетах. Для этого

не нужно знать математический метод их решения, но нужно уметь поставить задачу.Задача 1. Кондитерский цех может производить три вида карамели: А, В, С. Затраты

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

Вид сырья Затраты сырья т/т Запасы сырья т.Сах. Песок 0,8 0,5 0,6 800Патока 0,4 0,4 0,9 600Фруктов. Сироп - 0,1 0,1 120Прибыль руб /т 108 112 126

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

Это задача на нахождение оптимального решения. Опишем задачу математически.Обозначим через Х1 – количество производимой цехом карамели А, Х2-

количество производимой цехом карамели В, Х3- количество производимой цехом карамели С, F- прибыль от производства всех

трех видов карамели. Прибыль цеха от производства карамели всех трех видов будет описываться

уравнением F=108*Х1+112*Х2+126*Х3

И нам требуется найти максимум этой функции. Это - критерий оптимальности задачи (целевая функция). По-видимому, при производстве нельзя использовать сырья больше имеющихся в цехе запасов, т.е.

0,8*Х1+0,5*Х2+0,6*Х3<=800 0,4*X1+0,4*X2+0,3*X3<=600 0,1*X2+0,1*X3<=120Кроме того, количество произведенных конфет не может быть отрицательным (это

значило бы, что цех не производит, а покупает конфеты). Поэтому, Х1>=0, X2>=0, X3>=0. Теперь мы имеем полное математическое описание задачи. Так как все уравнения и

неравенства в этой задаче линейны, мы имеем задачу ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ.

Решение задачи в Маткаде.

114

Page 108: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.1 Решение задачи линейного программирования в МаткадеЗадача 2: Для поддержания нормальной жизнедеятельности человеку необходимо

потреблять в день не менее 118 г белков, 56 г жиров, 500 г углеводов и 8 г минеральных солей. Эти питательные вещества содержатся в разных количествах в разных пищевых продуктах. В таблице приведено количество питательных веществ в различных продуктах в г/кг и цена этих продуктов за 1 кг. Необходимо составить дневной рацион, содержащий минимальную суточную норму питательных веществ при минимальной их стоимости.

Обозначив через Х1 –количество мяса, Х2- количество рыбы, Х3- количество молока, Х4- количество масла, Х5- количество сыра, Х6- количество крупы и Х7- количество картофеля, потребляемых человеком в день, можем составить уравнение общей стоимости F

питания в день:

Нам нужно найти минимум F.Суммарное количество белков в рационе человека должно быть не меньше 118 г.

Отсюда

Такие же неравенства составляем для жиров, углеводов и солей. Имеем:

Кроме того, так как человек потребляет, а не выделяет продукты , ни один из аргументов Х не может быть отрицательным. Отсюда:

7654321 2X1242455X1835 +X+X+X++X+X=F

118211302601030190180 7654321 X+X+X+X+X+X+X

8102060125X109X500200650206X50

562X30310865403X20

7654321

76543

7654321

X+X+X+X++X+X+X+X++X

+X+X+X+X++X

114

Пит. вещества ПродуктыМясо Рыба Молок

оМасло Сыр крупа Карто

фБелки 180 190 30 10 260 130 21Жиры 20 3 40 865 310 30 2Углеводы - - 50 6 20 650 200Минеральные соли

9 10 7 12 60 20 10Цена руб. /кг 35 18 5 45 42 12 2

Page 109: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Теперь математическое описание задачи составлено полностью. Решить задачу в Маткаде по аналогией с предыдущей..Ориентировочный ответ таков: Чтобы получить все необходимые питательные

вещества при минимальной стоимости продуктов человек не должен есть ни мяса, ни рыбы, ни молока, ни сыра. Он должен потреблять около 20-40 г жиров в день и 500-800 г крупы или 800-900 г картофеля. При этом стоимость дневного рациона составит около 12 рублей.

Задача 3. При откорме животных каждое животное ежедневно должно получить не менее 60 ед. питательного вещества А, не менее 50 ед. вещества В и не менее 12 ед. вещества С. Указанные питательные вещества содержат три вида корма. Содержание единиц питательных веществ в 1 кг каждого из видов корма приведено в следующей таблице:

Составить дневной рацион, обеспечивающий получение необходимого количества питательных веществ при минимальных денежных затратах, если цена 1 кг корма I вида составляет 9 руб., корма II вида —

12 руб. и корма III вида — 10 руб.Составить математические зависимости и решить задачу самостоятельно.Задача 4.Четыре предприятия данного района для производства продукции

используют одно и тоже сырье. Потребности в сырье каждого из предприятий соответственно равны 120,50,190 и 110 единиц. Сырье сосредоточено в трех местах его получения, а запасы соответственно равны 160, 140,170 единиц. На каждое из предприятий сырье может завозиться из любого пункта его получения. Тарифы перевозок являются известными величинами и заданы матрицей Здесь

- цена завоза сырья из пункта 1 в пункт 1;- цена завоза сырья из пункта 1 в пункт 2, и т. д. Требуется составить такой план перевозок, при котором общая стоимость

перевозок является минимальной.Это так называемая транспортная задача.

Нарисуем схему возможных маршрутов перевозок: 1 2 3 4Куда перевозят

Откуда перевозят

1 2 3 Рис.2 Транспортная задача

Перевозка из третьего источника сырья на схеме не показана.114

Питательные

Количество единиц питательных веществ в 1 кг корма вида

вещества

I 11 111

А 1 3 4 В 2 4 2 С 1 4 3

A

7

4

9

8

5

3

1

9

2

9

8

6

A1 2 8

A1 1 7

Page 110: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Обозначим количество груза, перевезенного из пункта 1 в пункт 1 через Х11,из пункта 1 в пункт 2 через Х12,из 1 3 Х13,из 2 1 Х21 и т.д.Нам необходимо минимизировать общую стоимость перевозок F. Воспользовавшись

матрицей стоимости С, составим уравнение этой стоимости. В общем видеF= а 11Х 11 +а 12 Х 12 + а 13Х 13 + а 14Х 14 + а 21Х 21+а 22Х 22 +а 23Х 23 + +а 24Х 24 + а 31 Х 31+а

32Х 32+а 33Х 33 + а 34Х34

или в цифрах: F=7X 11+8X 12+1X 13+2X 14 +4X 21+5X 22+9X 23+8X 24+9X31+2X 32+ +3X 33+X34

Запасы сырья в каждом пункте отправления и потребности в нем в каждом пункте переработки ограничены.

Для первого пункта переработкиХ11+Х 21+ Х 31=120.Соответственно, для остальных пунктов переработки имеем:Х12+Х 22+Х 32 = 50,Х 13+ Х 23+ Х 33=190,Х 14+Х 24+Х 34 =110.Для пунктов отправки сырья имеем:Х 11+Х 12+Х 13+Х 14 =160Х 21+Х 22+Х 23+Х 24= 140Х 31+Х 32+Х 33+Х 34 =170Кроме того, так как мы возим сырье только в одну сторону, все переменные должны

быть положительными:X 11>0 ,X 12> 0, X 13>0, X 14>0, X 21>0, X 22>0,X 23>0, X 24>0,X31>0, X 32>0,X 33>0,X 34>0.Теперь мы полностью составили уравнения задачи и можем решать ее.Решить задачу в Маткаде. Наберем начальные значения переменных X (по-прежнему равные 1), целевую

функцию, все ограничения и все числа аналогично задачам 1 и 2. Получим решение.Математическую запись решения можно записать более компактно, используя

матричное исчисление.Все переменные задаем в форме матрицы. Заметив, что целевая функция может быть

представлена в виде следа ( суммы диагональных элементов) произведения АХТ, где Т – индекс транспонирования, записываем ее в такой форме. Все ограничения записываем также сокращенно. Ответ получен в виде матрицы z.

И так, следует перевезти из пункта 1 в пункт приема 3 160 единиц груза, из пункта 2 в пункт приема 1 – 120 единиц и в пункт 2 – 20 единиц.

Из пункта отправки 3 следует перевезти в пункты приема 2 и 3 по 30 единиц, а в пункт приема 4 – 110 единиц груза. При этом минимальные затраты составят 1000 единиц стоимости.

114

Page 111: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис.3. Решение транспортной задачи в матричной форме

5. САМОСТОЯТЕЛЬНАЯ РАБОТА СТУДЕНТА

СРСП № 1Тема: Решение систем уравнений с помощью блока Given-FindЦель: Рассмотреть оптимальность решения с помощью данного блока.

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

Решающий блок состоит из нескольких компонент, следующих на листе в строго определенном порядке:1. Начальное приближение (присваивание начальных значений переменным).2. Директива Given, которую необходимо набрать с клавиатуры.3. Уравнения, которые необходимо решить. Уравнения вводятся в обычной математической форме, но вместо простого знака равенства «=» используется оператор логического равенства (вводится путем нажатия Ctrl-=).4. Обращение к функции Find. Аргументами функции являются имена переменных, относительно которых решается система. Функция возвращает вектор значений, где первый элемент соответствует первой переменной в списке аргументов, второй элемент - второй переменной и так далее.Пример. Решим систему нелинейных уравнений:

Данная система имеет два решения. Найдем одно из них (рис. 5) с начальным приближением x = 0; y = 0.

114

Page 112: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рис. 5. Решение системы в MathCADПоследняя запись - вектор (-1; -2) есть значение, которое вернула функция Find, то

есть одно из решений системы. Найти второе решение можно, если взять другое начальное приближение x = 2; y = 2. Тогда функция Find вернет вектор (2; 4).

Начиная с MathCAD 2000 существует возможность одновременно найти несколько решений. Для этого система уравнений и начальные приближения должны быть переписаны в векторной форме (рис. 6). Каждая переменная будет вектором, содержащим столько компонент, сколько решений находится. В системе изменения коснутся преимущественно членов с перемножением переменных. Допустим, что в уравнении присутствует выражение

x*x. Если x = (x1; x2) - вектор, то . Нам же необходим результат

поэлементного перемножения . Для этого существует специальная операция,

записываемая как .

Рис. 6. Пример одновременного поиска нескольких решенийИзменения коснулись и части получения результата. В данном случае функция Find

вернет вектор из двух элементов, которые мы обозначили как X и Y. Каждый из этих элементов есть вектор значений x или y для решений. Соответственно первое решение - (-1; -2); второе решение - (2; 4).

Содержание задания: решение задач с помощью данного блока

СРСП № 2Тема: Работа с последовательностями. Законы вычисления элементов матриц Цель: Рассмотреть законы вычисления матриц.

MathCAD позволяет задавать значения элементов матриц не только по отдельности, но и путем определения общих законов вычисления элементов. При этом возникает

114

Page 113: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

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

Замечание: в MathCAD нумерация элементов векторов и матриц начинается с нуля.Пример. Ряд чисел Фибоначчи определяется по следующим правилам:

F1 = 1; F2 = 1;

Fi = Fi-1 + Fi-2; i>2.Данный ряд бесконечен. Но мы не можем определить в MathCAD бесконечные

последовательности, возможно лишь нахождение части ряда. Поэтому вместо указания i>2 необходимо задать конкретный диапазон изменения индекса i, например нас могут интересовать члены ряда со третьего по восьмой. Решение показано на рис. 9.

Рис. 9. Вычисление части ряда чисел Фибоначчи в MathCADЗдесь сначала определен диапазон изменения индекса i, затем заданы значения двух

первых членов ряда и записана общая формула для вычисления члена с индексом i. Последняя часть (столбец значений) есть часть ряда F3 .. F8, вычисленная системой. Такой порядок записи выражений объясняется тем, что MathCAD вычисляет формулы последовательно, в порядке «слева направо и сверху вниз». При вычислении члена F3 по заданной рекуррентной формуле системе уже должны быть известны реальные значения F1 и F2. Поэтому они должны быть записаны до этой формулы.

Содержание задания: решение задач с использованием последовательностей

СРСП № 3Тема: Функции и графики функцийЦель: приобретение навыков построения графиков функции

MathCAD допускает определение на листе новых функций от одного и более аргументов. Определение записывается в строчку в следующем порядке:1. Имя новой функции. На имена функций распространяются те же правила, что и на имена переменных.2. Список аргументов в круглых скобках через запятую.3. Стандартный символ присваивания «:=».4. Выражение, определяющее значение функции от аргументов.

114

Page 114: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Обращение к функции записывается в традиционной математической форме: упоминание имени функции, сразу после которого идет список значений аргументов в круглых скобках через запятую.Пример:

Построение графиковВозможно построение следующих типов графиков:1. Линейный (в прямоугольных и полярных координатах).2. Линии уровня поверхности.

3. Поверхность.4. Столбиковая диаграмма.5. Точечный и векторный графики поверхности.

Для построения любого графика необходимо сначала определить на листе все данные, необходимые для построения, затем вставить на лист соответствующий графический регион и связать его с отображаемыми данными. Для вставки графического региона можно использовать соответствующие кнопки панели Graph либо выбрать требуемый пункт в верхнем меню Insert\Graph (или Вставка\График). Связь с отображаемыми данными производится путем указания этих данных в позициях ввода графического региона.

Для регионов графиков поверхностей заполняется одна позиция ввода. Для графиков вида z = f(x,y) указывается либо имя соответствующей функции от двух переменных, либо имя матрицы, содержащей значения z.

Для параметрических графиков (заданных функциями вида x = f1(u,v); y = f2(u,v); z = f3(u,v)) есть два способа построения. Рассмотрим наиболее универсальный способ.

Содержание задания: Выполнение практических задач на построение графиков

СРСП № 4Тема: Решение задач нецелочисленной оптимизацийЦель: рассмотреть суть решения данных задачЗадача нецелочисленной оптимизации состоит в том, чтобы подобрать такие значения

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

где f - целевая функция; n - количество аргументов целевой функции; gi, hi - элементы системы ограничений (равенств или неравенств различного вида); k - количество ограничений. Пример задачи оптимизации. Предположим, что некоему студенту необходимо сдать два

зачета в один день. Он поставил себе задачу сдать их как можно лучше, причем так, чтобы 114

Page 115: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

оценка за каждый зачет была не меньше 2,5 баллов. У него осталось 24 часа. Студент предположил, что, потратив один час на первый предмет, он повысит возможную оценку на 0,5 балла, потратив тот же час на второй предмет, - повысит оценку по нему на 0,25 балла. Необходимо определить, сколько часов (x) ему надо потратить на первый предмет и сколько (y) на второй предмет, чтобы выполнить поставленную задачу. Математически задача запишется так:

(сумма оценок по предметам), и должны выполняться следующие ограничения:

В системе MathCAD такие задачи решаются с помощью блоков Given-Maximize и Given-Minimize. Так же, как и при решении систем уравнений, решающий блок состоит из нескольких компонент, следующих на листе (рис. 14) в строго определенном порядке:1. Присваивание начальных значений переменным, относительно которых решается задача оптимизации.2. Определение целевой функции.3. Директива Given.4. Ограничения, записываемые в обычной математической форме. Могут использоваться все указанные выше знаки отношений, но вместо простого знака равенства «=» используется оператор логического равенства (вводится путем нажатия Ctrl-=). 5. Обращение к одной из функций Minimize или Maximize для соответственно минимизации или максимизации. Первым аргументом всегда является имя целевой функции. Далее следуют имена переменных, относительно которых решается задача. Функция возвращает вектор значений, где первый элемент соответствует первой переменной в списке аргументов, второй элемент - второй переменной и так далее.

Рис. 14. Решение задачи о студенте в системе MathCAD Здесь система MathCAD определила, что решением задачи являются значения: x = 10 часов, y = 14 часов.

Содержание задания: решение задач

СРСП № 5Тема: Численное решение дифференциальных уравненийЦель: уметь использовать встроенные функции для численного решения

дифуравнений114

Page 116: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Рассмотрим стандартные средства численного решения дифференциальных уравнений и систем дифференциальных уравнений.Численное решение одного дифференциального уравненияMathCAD 2000 позволяет без дополнительных преобразований численно решить дифференциальное уравнение, явно разрешенное относительно старшей производной (рис. 15).

       

а)                 б)

Рис. 15. Примеры уравнений, разрешенного (а) и неразрешенного (б) относительно старшей производной  Решение осуществляется с помощью специального блока Given-Odesolve, состоящего из следующих компонент:1. Директива Given.2. Дифференциальное уравнение, записанное в традиционной математической форме со следующими особенностями: а) вместо простого знака равенства «=» используется оператор логического равенства (вводится нажатием Ctrl-=); б) при обозначении интегрируемой функции всегда указывается аргумент (то есть вместо функции x(t) нельзя писать просто x);

в) при записи производных используются либо стандартные операторы и , либо ставятся (с помощью Ctrl-F7) символы производной, например x’(t), x’’(t).

3. Указание начальных или конечных значений интегрируемой функции и ее производных (за исключением старшей), входящих в уравнение. Значения вводятся в традиционной форме с использованием оператора логического равенства. Число значений должно совпадать с

порядком уравнения. Для уравнения второго порядка вида должны быть заданы начальные значения функции и ее первой производной, например x(0) = 1; x’(0) = 0,5. Для ввода символа производной «’» используется комбинация клавиш Ctrl-F7.4. Обращение к функции Odesolve. Первый аргумент - всегда имя независимой переменной. Второй аргумент - конечное значение независимой переменной. Третий (необязательный) аргумент - количество промежуточных точек решения. Odesolve возвращает функцию, представляющую приближенное (численное) решение дифференциального уравнения на заданном интервале времени. Данная функция может быть использована для определения значений интегрируемой функции в различных точках, а также для построения графика.Пример. Решим вышеуказанное дифференциальное уравнение при значениях t = 0..5; найдем

114

Page 117: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

значения x при t = 2; 4, и построим график решения.

Численное решение систем дифференциальных уравнений с использованием Odesolve возможно только начиная с версии MathCAD 11. В более старых версиях можно воспользоваться специальными функциями (rkadapt, rkfixed, bulstoer).

 Численное решение систем обыкновенных дифференциальных уравнений

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

.

Для преобразования уравнений в нормальную форму есть два основных подхода:

1. Понижение порядка уравнений путем замены переменных. Если исходное дифференциальное уравнение порядка q (q>1) имеет вид

,

то вводятся новые переменные pj, причем j = 1..q-1. В исходном уравнении производится серия замен:

,

а производная высшего порядка заменяется производной первого порядка:

.

Добавляется q – 2 новых уравнений вида114

Page 118: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

.

Добавляется еще одно уравнение

.Например, уравнение

можно преобразовать в систему уравнений:

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

относительно и , получим:

Содержание задания: Выполнение практических задач

СРСП № 6Тема: Элементы программирования в MathCad.Цель: Рассмотреть элементы программирования

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

Примеры:1. Функция, возвращающая –1, 0 или 1 в зависимости от знака аргумента.

114

Page 119: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

2. Пусть интегрируется дифференциальное уравнение

;

;    ,

где параметр z определяется в результате решения нелинейного уравнения

.

Известно, что в рассматриваемом случае это нелинейное уравнение имеет единственное решение. Создадим функцию, которая решает данное уравнение методом касательных с заданной точностью?.

Функция Solve возвращает значение z, которое является корнем уравнения при заданном значении x. Решение дифференциального уравнения:

114

Page 120: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Содержание задания: решение задач.

114

Page 121: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО СРС

СРС № 1Тема: Проблемно-ориентированные пакеты.Цель: рассмотреть ПО пакеты

Проблемно-ориентированные ППП.Это самый представительный класс программных продуктов, внутри которого

проводите классификация по разным признакам:- типам предметных областей;- информационным системам;- функциям и комплексам задач, реализуемых программным способом, и др.Для некоторых предметных областей возможна типизация функций управления

структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов:

- ППП автоматизированного бухгалтерского учета;- ППП финансовой деятельности;- ППП управления персоналом (кадровый учет);- ППП управления материальными запасами;- ППП управления производством;- банковские информационные системы и т.п.Основные тенденции в области развития проблемно-ориентированных программных

средств:- создание программных комплексов в виде автоматизированных рабочих мест (АРМ)

управленческого персонала;- создание интегрированных систем управления предметной областью на базе

вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой клиент-сервер;

- организация данных больших информационных систем в виде распределенной базы данных на сети ЭВМ;

- наличие простых языковых средств конечного пользователя для запросов к базе данных;

- настройка функций обработки силами конечных пользователей (без участия программистов);

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

Содержание реферата: применение проблемно ориентированных пакетов на практике

СРС № 2Тема: Некоторые стандартные функций MathCad.Цель: Рассмотреть стандартные функций и их применение

Набор встроенных функций поставляется вместе с пакетом MathCAD. Их список вместе с кратким описанием можно посмотреть, если использовать команду меню Math/Insert Function. В таблице ниже описаны некоторые функции общего назначения.

114

Page 122: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Некоторые основные функции общего назначения

Название Обозначение в MathCAD

Примечание

Экспоненциальная функция

exp(x)

Натуральный логарифм

ln(x) x0

Логарифм от x с основанием b

log(x,b) x0. Если b отсутствует, то по умолчанию предполагается, что b=10

Синус sin(x) x должно быть в радианахКосинус cos(x) x должно быть в радианахТангенс tan(x) x должно быть в радианахКотангенс сot(x) x должно быть в радианахАрксинус asin(x) Возвращает значение в радианахАрккосинус acos(x) Возвращает значение в радианахАрктангенс atan(x) Возвращает значение в радианахАрккотангенс acot(x) Возвращает значение в радианахУгол радиус-вектора

angle(x,y) Возвращает угол (в радианах) между положительным направлением оси х и точкой (x,y)

Выделение действительной части комплексного

Re(z) z – комплексное число

Выделение мнимой части комплексного числа

Im(z) z – комплексное число

Округление до ближайшего меньшего целого

floor(x)

Округление до ближайшего большего целого

ceil(x)

Остаток от деления mod(x1,x2) Возвращает остаток от деления целого x1 на целое x2 со знаком x1

Функция случайных чисел

rnd(x) Возвращает псевдослучайное число в диапазоне 0…x

Содержание реферата: решение задач с применением стандартных функции

СРС № 3Тема: Решение дифференциальных уравнений в системе MathCad.Цель: Получение навыков решения дифференциальных уравнений с использованием встроенных функций MathCAD

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

Нелинейные дифференциальные уравнения и системы с такими уравнениями, как

правило, не имеют аналитических методов решения, и здесь особенно важна возможность их 114

Page 123: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

решения численными методами. В большинстве случаев желательно представление решений в графическом виде, что и позволяет MathCAD.

Для решения дифференциальных уравнений (систем) различного порядка и различными методами в MathCAD введены 13 встроенных функций: rkadapt, Rkadapt, rkfixed, Bulstoer, bulstoer, bvalfit, multigird, relax, sbval, Stiffb, stiffb, Stiffr и stiffr. Назначение и описание аргументов этих функций даны в приложении.

В функцию rkfixed заложен широко распространенный метод решения дифференциальных уравнений – метод Рунге-Кутта. Несмотря на то, что это не самый быстрый метод, функция rkfixed почти всегда справляется с поставленной задачей. Однако есть случаи, когда лучше использовать более сложные методы. Эти случаи попадают под три широкие категории: система может быть жесткой (Stiffb, Stiffr), функции системы могут гладкими (Bulstoer) или плавными (Rkadap). Нередко приходится пробовать несколько методов на одном дифференциальном уравнении (на одной системе), чтобы определить, какой метод лучше. Как известно, что решение гладкое, используется функция Bulstoer, куда заложен метод Бурлиш-Штера, а не Рунге-Кутта, используемый функцией rkfixed. В этом случае решение будет точнее. Можно решить задачу более точно (более быстро), если уменьшить шаг там, где производная меняется быстро, и увеличить шаг там, где она ведет более спокойно. Для этого предусмотрена функция Rkadap. Но, несмотря на то что она при решении дифференциального уравнения использует непостоянный шаг, функция Rkadap представит ответ для точек, находящихся на одинаковом расстоянии, заданном пользователем. Система дифференциальных уравнений, записанная в матричной форме y=Ax, где A – почти вырожденная матрица, называется жесткой. При решении жестких систем следует использовать одну из двух встроенных функций, разработанных специально для таких случаев: Stiffb и Stiffr. Они используют метод Булирш-Штера (b) или Розенброка (r). Функции, начинающиеся со строчной буквы, дают решения только для конечной точки. Для решения двухточечных краевых задач предназначены функции: sbval и bvalfit. Для решения дифференциальных уравнений Пуассона (в частных производных второго порядка) и уравнений Лапласа в систему введены следующие функции: bvalfit, multigird, relax, sbval. Большое число примеров на решение дифференциальных уравнений с описанными функциями дается в подсказках QuickSheets, размещенных в центре ресурсов.

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

СРС № 4Тема: Пакеты прикладных программ автоматизированного проектирования.Цель: знакомство с системами автоматизированного проектирования

Сегодня серьезное конструирование уже не может обойтись без систем автоматизированного проектирования (САПР), производства и расчетов. А математические пакеты являются составной частью мира CAE-систем, но эта часть никак не может считаться второстепенной, поскольку некоторые задачи вообще невозможно решить без помощи компьютера.

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

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

наиболее известными и приспособленными для математических символьных вычислений 114

Page 124: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

считаются Maple, MathCad, Mathematica и MatLab. Но, делая обзор основных программ символьной математики, мы укажем и на возможные альтернативы, идеологически схожие с тем или иным пакетом-лидером.

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

Отметим только, что спектр задач, решаемых подобными системами, очень широк:проведение математических исследований, требующих вычислений и

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

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

Содержание реферата: особенности САПР

114

Page 125: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

Примерный перечень вопросов:1. На какие виды делится программное обеспечение ЭВМ.2. Перечислите основные компоненты системного программного обеспечения и укажите их

назначение.3. Определите основные функции ОС.4. Каковы функции прикладного программного обеспечения?5. Как классифицируется прикладное программное обеспечение?6. Укажите назначение и функции основных групп прикладного ПО.7. Дайте определение пакету прикладных программ (ППП).8. Чем прикладная программа отличается от ППП?9. Какими свойствами должен обладать ППП?10. Как можно классифицировать ППП?11. Какие ППП относятся к классу универсальных?12. Какие ППП относятся к классу проблемно-ориентированных?13. Из каких основных частей состоит ППП?14. Что такое интерфейс?15. Каких правил нужно придерживаться при разработке интерфейса?16. Какой диалог пользователя с компьютером можно назвать хорошим диалогом?17. Изложите основные принципы при проектировании диалога типа меню.18. Каких правил нужно придерживаться при проектировании оконной формы диалога?19. Перечислите требования для разработки модулей помощи и справки.20. Перечислите функции текстовых процессоров.21. Перечислите функции систем управления базами данных.22. Перечислите функции табличных процессоров.23. Что такое интегрированные ППП?24. Какие возможности табличных процессоров используют при проведении экономических

расчетов?25. Какие ППП можно использовать при проведении экономических расчетов?26. Какие ППП можно использовать при проведении математических вычислений?27. Возможности MathCAD28. Почему MathCAD называют интегрированной системой?29. Какой входной язык использует система MathCAD?30. Что входит в алфавит входного языка MathCAD?31. Какие типы данных поддерживает система MathCAD?32. Какие способы присваивания переменным значений имеются в MathCAD?33. Что такое ранжированные переменные?34. Где используются размерные переменные?35. Какими расширенными операторами обладает Mathcad и как они используются?36. Дайте определение функции, назовите ее свойства.37. Как задаются функции пользователя?38. Какие символьные вычисления выполняет система Mathcad?39. Функции объектно-ориентированных ППП.40. Классификация объектно-ориентированных ППП.

114

Page 126: edu.semgu.kzedu.semgu.kz/ebook/umkd/b6ece698-d307-11e5-bf37... · Web viewОптимизация - вычисление независимых переменных в функцию,

114