Прикладные программы обработки данных

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,31 Мб
  • Опубликовано:
    2012-04-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Прикладные программы обработки данных

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет

информатики и радиоэлектроники»

Факультет заочного обучения

Кафедра экономической информатики

«К защите допустить»

___________В.Ф. Алексеев

__.____.2011



КОНТРОЛЬНАЯ РАБОТА

«Прикладные программы обработки данных»


Выполнил: студент группы 082322

КАЧАНОВИЧ Кристина Иосифовна






2011

СОДЕРЖАНИЕ

1. ТРАНСПОРТНАЯ ЛОГИСТИКА С НЕСКОЛЬКИМИ ПЕРЕВОЗЧИКАМИ: ДОЛИ ПЕРЕВОЗЧИКОВ В ОБЩЕМ КОЛИЧЕСТВЕ ПЕРЕВОЗОК (РАССМОТРЕТЬ РЕШЕНИЕ ДАННОГО ВОПРОСА СРЕДСТВАМИ EXCEL)

. ВЫПОЛНЕНИЕ ЛИНЕЙНОЙ РЕГРЕССИИ С ПОМОЩЬЮ ПАКЕТА РЕГРЕССИВНОГО АНАЛИЗА В EXCEL

.1 Автоматическое прогнозирование линейной зависимости

.2 Автоматическое прогнозирование экспоненциальной зависимости

.3 Ручное прогнозирование линейной или экспоненциальной зависимости

.4 Вычисление тенденций с помощью добавления линии тренда на диаграмму

.5 Прогнозирование значений с функцией

.6 Выполнение регрессионного анализа с надстройкой «Пакет анализа»

. МАТЕМАТИЧЕСКИЙ ПАКЕТ MATHCAD ДЛЯ РЕШЕНИЯ ИНЖЕНЕРНО - ЭКОНОМИЧЕСКИХ ЗАДАЧ: УПРАВЛЕНИЕ ВЫЧИСЛИТЕЛЬНЫМ ПРОЦЕССОМ, СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ

3.1 Возможности символьного процессора MathCAD

.2 Операции с выделенными выражениями

.3 Операции с выделенными переменными

.4 Операции с выделенными матрицами

.5 Операции преобразования

.6 Стиль эволюции

.7 Назначение системы SmartMath

.8 Операторы символьного вывода

.9 Оптимизация

ЗАДАЧА 1

ЗАДАЧА 2

ЗАДАЧА 3

ЗАДАЧА 4

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Транспортная логистика с несколькими перевозчиками: доли перевозчиков в общем количестве перевозок (рассмотреть решение данного вопроса средствами Excel)

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

выбор вида и типа транспортных средств;

ü  совместное планирование транспортного процесса со складским и производственным процессами;

ü  совместное планирование транспортных процессов на различных видах транспорта (в случае смешанных перевозок);

ü  обеспечение технологического единства транспортно - складского процесса;

определение рациональных маршрутов доставки.

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

ü  базисных условий поставки;

ü  характера груза - его консистенции, веса, объема, габаритов и т.д.;

ü  количества отправляемых партий груза

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

ü  расстояния, на которое должен быть доставлен груз;

ü  ограничений скорости перевозки груза;

ü  ценности груза;

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

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

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

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

Вариант исходных данных подобной задачи показан на рис.1.1.

Рис. 1.1. Исходные данные к задаче с долевым участием нескольких перевозчиков

excel mathcad прогнозирование тренд

Суммарные значения количества перевозок и их стоимости вычисляются обычным способом, например, в ячейке В18 находится формула =СУММ(В15:В17). В ячейке G25 находится значение целевой функции, вычисляемое по формуле =СУММ(G22:G24).

Дополнительные исходные данные (доли количества перевозок для каждого из перевозчиков) вводятся в ячейки I5:I7. В ячейках J5:J7 вычисляются доли количества перевозок для каждого из перевозчиков. Например, в ячейке J5 находится формула =ОКРУГЛ($G$18/$I$8*I5;2).

Основные ограничения на значения изменяемых ячеек B15:F17 (рис. 1.2) достаточно очевидны. Учитывая, что целью задачи является минимизация целевой функции, необходимо добавить условия неотрицательности значений изменяемых ячеек. Это можно сделать, добавив еще одно условие в список ограничений или в окне «Параметры поиска решения» (кнопка «Параметры» в окне «Поиск решения»).

Если используется окно «Параметры поиска решения», то достаточно установить флажок «Неотрицательные значения» (рис. 1.3).

Рис. 1.2. Ограничения для изменяемых ячеек

Рис. 1.3. Дополнительные параметры поиска

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


Рис. 1.4. Результат вычисления задачи с несколькими перевозчиками

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

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

Рис. 1.5. Измененный вариант ограничений

Для видоизмененного варианта задачи легко находится решение, удовлетворяющее всем ограничениям (рис. 1.6).

Рис. 1.6. Решение задачи с несколькими перевозчиками

Данное решение может показаться слишком очевидным, поэтому можно изменить исходные данные (рис. 1.7) и выполнить повторный расчет. На рис. 1.8 показано соответствующее решение.

Рис. 1.7. Измененные исходные данные

Рис. 1.8. Решение измененного варианта задачи с несколькими перевозчиками

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

2. Выполнение линейной регрессии с помощью пакета регрессивного анализа в Excel

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

Microsoft Excel позволяет заполнить ячейки рядом значений, соответствующих простой линейной или экспоненциальной зависимости с помощью маркера заполнения <javascript:AppendPopup(this,'532233102_1')> или команды Ряды. Для экстраполяции сложных и нелинейных данных можно применять функции листа или средство регрессионного анализа <javascript:AppendPopup(this,'274367317_2')> из надстройки <javascript:AppendPopup(this,'805113428_3')> «Пакет анализа».

Предполагаемое действие:

·        Автоматическое прогнозирование линейной зависимости <#"551402.files/image009.gif"> на математической панели инструментов. (Начиная с версии MathCAd 4.0 для активных символьных вычислений применяется термин SMARTMATH, представляющий комбинацию слов smart и Mathcad, что в буквальном смысле означает умный Mathcad).

·        С использованием команды Optimization позиции главного меню Math.

Операции, относящиеся к работе символьного процессора, содержатся в подменю позиции Symbolics (Символика) главного меню (рис. 3.1).

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

Рис. 3.1. Symbolics (Символика) главного меню

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

Следует отметить некоторые особенности при работе с командами меню Symbolics .

Для символьных вычислений выражения необходимо указывать явно. Например, недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл. Это существенное ограничение, о котором надо всегда помнить. Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath, которая описывается в дальнейшем; главное в том, что для вывода символьных вычислений в этом случае используется оператор - >.

Иногда результат вычислений содержит встроенные в систему специальные математические функции; в этом случае результат помещается в буфер обмена. Используя команду Paste или клавишу F4, можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат.

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

Если операция невыполнима - система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изменений)

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

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

3.2 Операции с выделенными выражениями

В таблице 3.2 представлены операции с выделенными выражениями.

Таблица 3.2 - Операции с выделенными выражениями

Evaluate (Вычислить)

преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

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

Expand (Разложить по степеням)

раскрыть выражение [например,  для (Х+ Y) • (Х- Y) получаем X22]

Factor (Разложить на множители) ;

разложить число или выражение на множители [например, Х­2 2 даст (Х+ Y) • (Х- Y)]

Collect (Разложить по подвыражению)

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

Polynomial Coefficients  (Полиномиальные коэффициенты)

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


Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами:

·        Evaluate Symbolically [Shift+F9](Вычислить в символах) - выполнить символьное вычисление выражения;

·        Floating Point Evaluation... (С плавающей точкой) - выполнить арифметические операции в выражении с результатом в форме числа с плавающей точкой;

·        Complex Evaluation (В комплексном виде) - выполнить преобразование с представлением в комплексном виде.

Команда Evaluate Symbolically тут наиболее важная. Назначение других команд очевидно: они нужны, если результат требуется получить в форме комплексного или действительного числа. К примеру, если вы хотите вместо числа p получить 3.141..., используйте команду Floating Point Evaluation. В режиме символьных вычислений результат может превосходить машинную бесконечность системы. При этом число точных значащих цифр результата практически не ограничено (или, точнее говоря, зависит от емкости ОЗУ).

Символьная операция Evaluate Symbolically [Shift+F9] (Вычислить) обеспечивает работу с математическими выражениями, содержащими встроенные в систему функции и представленными в различном виде: полиномиальном, дробно-рациональном, в виде сумм и произведений, производных и интегралов и т. д. Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде. Она возможна над матрицами с символьными элементами. Производные и определенные интегралы, символьные значения которых вычисляются, должны быть представлены в своей естественной форме.

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью - 20 знаков после запятой. Для перехода в такой режим вычислений нужно числовые константы в вычисляемых объектах задавать с обязательным указанием десятичной точки, например 10.0 или 3.0, а не 10 или 3. Этот признак является указанием на проведение вычислений такого типа.

Операция Evaluate Symbolically одна из самых мощных. Она позволяет в символьном виде вычислять суммы (и произведения) рядов, производные и неопределенные интегралы, выполнять символьные и численные операции с матрицами.

Simplify(Упростить)

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

Упрощение означает замену более сложных фрагментов выражений на более простые. Приоритет тут отдается простоте функций. К примеру, функция tan(x) считается более сложной, чем функции sin(x) и cos(x). Поэтому tan(x) упрощается так, что получает представление через соотношение этих функций, что несколько неожиданно, так как в некоторых пакетах символьной математики, например Derive, ситуация иная: они заменяют отношение sin(x)/cos(x) функцией tan(x).

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

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

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

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

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в известном смысле противоположно действию операции Simplify. Подвергаемое преобразованию выражение расширяется с использованием известных (и введенных в символьное ядро) соотношений, например алгебраических разложений многочленов, произведений углов и т. д. Разумеется, расширение происходит только в том случае, когда его результат однозначно возможен. Иначе нельзя считать, что действие этой операции противоположно действию операции Simplify. К примеру, операция Simplify преобразует сумму квадратов синуса и косинуса в 1, тогда как обратное преобразование многозначно и потому в общем виде невыполнимо.

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

Factor (Разложить на множители)

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

Collect (Разложить по подвыражению)

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

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

Polynomial Coefficients( Полиномиальные коэффициенты)

Операция Polynomial Coefficients(Полиномиальные коэффициенты) в ранних версиях MathCAD отсутствующая, служит для вычисления коэффициентов полинома.

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

3.3 Операции с выделенными переменными

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

В таблице 3.3 приведены операции с выделенными переменными.

Таблица 3.3 - Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

заменить указанную переменную содержимым буфера обмена;

Differentiate (Дифференцировать переменной)

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

Integrate (Интегрировать по переменной)

интегрировать все выражение, содержащее выделенную переменную, по этой переменной;

Expand to Series... (Разложить в ряд)

найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной;

Convert to Partial Fraction (Разложить на элементарные дроби)

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


Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х, то операция Solve (Решить) возвращает символьные значения указанной переменной х, при которых F(x)=0. Это очень удобно для решения алгебраических уравнений, например квадратных и кубических, или для вычисления корней полинома.

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

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

Более того, форма представления результата в таком случае отличается от принятой в системе MathCAD (например, в качестве знака деления используется косая черта, для возведения в степень - составной знак ** и т. д.). Это сделано ради компактности представления результатов вычислений.

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

Substitute (Заменить переменную)

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

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

Differentiate(Дифференцировать переменной)

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

Integrate (Интегрировать по переменной)

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

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

Expand to Series... (Разложить в ряд)

Операция Expand to Series...(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной переменной с заданным по запросу числом членов ряда n (число определяется по степеням ряда). По умолчанию задано n=6.

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

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

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction(Разложить на элементарные дроби) возвращает символьное разложение выражения, представленное относительно заданной переменной в виде суммы правильных целых дробей.

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

3.4 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции), которая имеет свое подменю со следующими операциями:(Транспонировать) - получить транспонированную матрицу;(Обратить) - создать обратную матрицу;(Определитель) - вычислить детерминант (определитель) матрицы.

3.5 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования, создающий подменю со следующими возможностями:

·        Fourier Transform (Преобразование Фурье)- выполнить прямое преобразование Фурье относительно выделенной переменной;

·        Inverse Fourier Transform (Обратное преобразование Фурье) - выполнить обратное преобразование Фурье относительно выделенной переменной;

·        Laplace Transform (Преобразование Лапласа)- выполнить прямое преобразование Лапласа относительно выделенной переменной (результат - функция от переменной s),

·        Inverse Laplace Transform (Обратное преобразование Лапласа) - выполнить обратное преобразование Лапласа относительно выделенной переменной (результат - функция от переменной t);

·        Z Transform (Z-преобразование) - выполнить прямое Z-преобразование выражения относительно выделенной переменной (результат - функция от переменной z);

·        Inverse Z Transform (Обратное Z-преобразование) - выполнить обратное Z-преобразование относительно выделенной переменной (результат - функция от переменной n).

3.6 Стиль эволюции

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

В группе переключателей Show envaluation steps (Стиль эволюции) - можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним. Кроме того можно установить опции Show Comments для вставки комментариев и задать вывод результирующего выражения вместо исходного Evaluate in Place.

3.7 Назначение системы SmartMath

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

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

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

3.8 Операторы символьного вывода

Вначале для визуализации результатов символьных преобразований был введен специальный символ - удлиненная горизонтальная стрелка ->. Ее можно вызвать нажатием клавиш Ctrl+. (точка) или вызовом из палитр математических символов (для ввода отношений и символьных операций). Шаблон этого знака имеет вид, где на месте черного прямоугольника вводится подвергаемое символьному преобразованию исходное выражение.

Указанный символ можно рассматривать как простой оператор символьного вывода. Если задать исходное выражение и вывести курсор из формульного блока с ним, то система помещает результат его символьных преобразований после стрелки (оператора символьного вывода). Это и есть первый этап работы с системой SmartMath.

В версию системы MathCAD 7.0 PRO введен еще один оператор - расширенный оператор символьного вывода. Он задается нажатием клавиш Ctrl+Shift+. (точка) или выбором из палитры символьных операций. Этот оператор имеет вид. В первый шаблон-прямоугольник вводится исходное выражение, а во второй - директивы символьных преобразований. Задаются эти директивы или вводом соответствующих ключевых слов, или из палитры символьных операций.

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

3.9 Оптимизация

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

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

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

ЗАДАЧА 1

Решить системы линейных уравнений AX=B, A3АTX=B и вычислить значение квадратичной формы z=YT A2АT AY


Решение:

Организуем в Excel форму как показано на рис. 1.1.

Рис. 1.1. Организация данных в Excel для вычислений

В ячейках В14, Е14, Н14 записаны выражения. Для первых двух уравнений необходимо выразить Х, которые следует записать в ячейках В16 и Е16.

Для решения первого уравнения выполним следующие действия:

Выделим диапазон ячеек В8:В11 и запишем формулу =МУМНОЖ(МОБР(A2:D5);F2:F5). Выполним сочетание клавиш CTRL+SHIFT+ENTER. Результат выполненных действий: X={1,44;3,12;-0,88;-1,8}

Для решения следующего уравнения организуем дополнительные промежуточные таблицы вычислений: АТ, А2, А3, (А3)-1, (АТ)-1.

Для нахождения АТ выделим диапазон ячеек К2:N5 и запишем формулу =ТРАНСП(A2:D5). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Для нахождения А2 и А3 воспользуемся формулой =МУМНОЖ (массив 1; массив 2). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Для нахождения (А3)-1 и (АТ)-1 воспользуемся формулой =МОБР (массив). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Данные вычисления показаны на рис. 1.2.

Рис. 1.2. Промежуточные таблицы вычислений

Далее поочередно выполним операции умножения:

сначала ,

далее .

Результат решения второго уравнения:

X={1,2603;-1,9961;4,3292;-4,6845}.

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

Далее поочередно выполним операции умножения:

сначала

далее

далее

В результате получилась следующая квадратичная форма: Z=2734850.

Выполнение расчетов приведено на рис. 1.3.

Рис 1.3. Результат выполнения всех расчетов

Решение задачи средствами MathCAD (рис. 1.4).

Для первого уравнения используем функцию lsolve(A, b) - решение системы линейных алгебраических уравнений Ax=b.

Рис. 1.4. Решение задачи средствами MathCAD

ЗАДАЧА 2

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

Таблица 2.1 - Время обработки одного изделия

Станок

Время обработки одного изделия, ч


Тип 1

Тип 2

Тип 3

Тип 4

1

2

3

4

2

2

3

2

1

2


Затраты на производство одного изделия каждого типа определяются как величины, прямо пропорциональные времени использования станков ( в машино-часах). Стоимость машино-часа составляет 10 и 15 долларов для станков 1 и 2 , соответственно. Допустимое время использования станков для обработки изделий всех типов ограничено следующими значениями: 500 машино-часов для станка 1 и 380 машино-часов для станка 2. цены изделий типов 1,2,3 и 4 равны 65,70,55 и 45 долларов соответственно. Составить план производства, максимизирующий чистую прибыль.

Решение:

Создадим таблицу в Microsoft Excel, в ячейки введем формулы, как показано на рис. 2.1:

Рис. 2.1. Создание формы для расчета задачи

Выполним команду Сервис - Поиск решения…Заполняем вызванное окно в соответствии с рис. 2.2.

Рис. 2.2. Окно Поиска решения для задачи

После заполнения окна Поиск решения нажимаем кнопку Выполнить в окне Поиск решения.

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

Рис. 2.3. Результат решения задачи

Решение задачи средствами MathCAD (рис. 2.4).

Рис. 2.4. Решение задачи средствами MathCAD

ЗАДАЧА 3

Транспортная задача. Имеются n пунктов производства и m пунктов распределения продукции. Стоимость перевозки единицы продукции с i-го пункта производства в j-й центр распределения c­ij приведена в таблице, где под строкой понимается пункт производства, а под столбцом - пункт распределения. Кроме того, в этой таблице в i-й строке указан объем производства в i-м пункте производства, а в j-м столбце указан спрос в j-м центре распределения. Необходимо составить план перевозок по доставке требуемой продукции в пункты распределения, минимизирующий суммарные транспортные расходы (табл. 3.1).

Таблица 3.1 - Условия задачи

Объем потребления

Объем производства


7

5

9

9

21


8

6

45

8

22


5

4

23

7

12


4

3

22

6

21


12

15

31

15



Решение:

Данная задача является несбалансированной, т.к. суммарный объем запасов выше суммарного объема потребностей в ней (21+22+12+21 > 12+15+31+15). Поэтому на предприятиях остается 3 единицы продукции. Для решения задачи сверх имеющихся n пунктов потребления введем еще один, фиктивный, дополнительный пункт потребления n+1, которому припишем фиктивную заявку, равную избытку запасов над заявками. Стоимость перевозок из всех пунктов отправления в фиктивный пункт потребления будем считать равным нулю. Введением фиктивного пункта потребления с его заявкой мы сравняли баланс транспортной задачи и теперь ее можно решать как обычную транспортную задачу с правильным балансом.

Создадим таблицы в Microsoft Excel, в ячейки введем формулы, как показано на рис. 3.1:

Рис. 3.1. Создание формы для расчета транспортной задачи

Результат на рис. 3.2.

Рис.2. Форма для расчета транспортной задачи

Выполним команду Сервис - Поиск решения…Заполняем вызванное окно в соответствии с рис. 3.3.

Рис. 3.3. Окно Поиска решения для транспортной задачи

После заполнения окна Поиск решения переходим по кнопке Параметры в окно Параметры поиска решений (рис. 3.4) и устанавливаем флажки напротив полей Линейная модель и Неотрицательные значения. Далее выполняем команду ОК и нажимаем кнопку Выполнить в окне Поиск решения.

Рис. 3.4. Окно Параметры поиска решения

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

Рис. 3.5. Результат решения транспортной задачи

Решение задачи средствами MathCAD

Специальной переменной ORIGIN присваивается значение 1. задаем начальные значения xi общую стоимость перевозок F(x), условия. Используя встроенную функцию Minimize, находим минимальные значения x1..x5. Находим минимальную стоимость перевозки. Результат решения задачи на рис. 3.6 :

Рис. 3.6. Решение транспортной задачи средствами MathCAD

ЗАДАЧА 4

Решить системы линейных уравнений AX=B, ATА3X=B и вычислить значение квадратичной формы z=YT AАT A2 Y

 

, ,

Решение:

Организуем в Excel форму, как показано на рис. 4.1.

Рис. 4.1. Организация данных в Excel для вычислений

В ячейках В14, Е14, Н14 записаны выражения. Для первых двух уравнений необходимо выразить Х, которые следует записать в ячейках В16 и Е16.

Для решения первого уравнения выполним следующие действия:

Выделим диапазон ячеек В8:В11 и запишем формулу =МУМНОЖ(МОБР(A2:D5);F2:F5). Выполним сочетание клавиш CTRL+SHIFT+ENTER. Результат выполненных действий:

X={-4,5;-1,625;0,625;3,375}

Для решения следующего уравнения организуем дополнительные промежуточные таблицы вычислений: АТ, А2, А3, (А3)-1, (АТ)-1.

Для нахождения АТ выделим диапазон ячеек К2:N5 и запишем формулу =ТРАНСП(A2:D5). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Для нахождения А2 и А3 воспользуемся формулой =МУМНОЖ (массив 1; массив 2). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Для нахождения (А3)-1 и (АТ)-1 воспользуемся формулой =МОБР (массив). Выполним сочетание клавиш CTRL+SHIFT+ENTER.

Данные вычисления показаны на рис. 4.2.

Рис. 4.2. Промежуточные таблицы вычислений

Далее поочередно выполним операции умножения:

сначала ,

далее .

Результат решения второго уравнения:

X={-21,913;34,85434;0,900513;-16,7512}.

Далее поочередно выполним операции умножения:

сначала

далее

далее

В результате получилась следующая квадратичная форма:

Z=1045038.

Выполнение расчетов приведено на рис. 4.3.

Рис 4.3. Результат выполнения всех расчетов

Решение задачи средствами MathCAD (рис. 4.4).

Для первого уравнения используем функцию lsolve(A, b) - решение системы линейных алгебраических уравнений Ax=b.

Рис. 4.4. Решение задачи средствами MathCAD

Список использованных источников

1.      Трусов, А.Ф. Excel 2007 для менеджеров и экономистов: логистические, производственные и оптимизационные расчеты / А.Ф. Трусов. - М. : Питер, 2009. - 256 с.

2.      Гарнаев, А.Ю. Excel, VBA, Internet в экономике и финансах / А.Ю. Гарнаев. - СПб. : БХВ-Петербург, 2002.

3.      Курицкий, Б.Я. Поиск оптимальных решений средствами Excel 7.0. / Б.Я. Курицкий. - СПб. : BHV-Санкт-Петербург, 1997.

4.      Дьяков, В.П. Справочник по MathCAD 7 Pro. / В.П. Дьяконов. - М. : СК Прогресс, 1998.

5.      ГОСТ 7.1-2003. Библиографическая запись. - Введ. 2004-11-01. - Минск : Госстандарт Респ. Беларусь, 2004.

6.      Общие требования к текстовым документам. ГОСТ 2.105-95 ЕСКД. - Введ. 1996-07-01. - М. : Изд-во стандартов, 1996.

Похожие работы на - Прикладные программы обработки данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!