WWW.MASH.DOBROTA.BIZ
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - онлайн публикации
 

Pages:   || 2 | 3 |

««БХВ-Петербург» УДК 681.3.06 ББК 32.973.26-018.2 К43 Кирьянов Д. В. К43 Самоучитель Mathcad И. - СПб.: БХВ-Петербург, 2003. - 560 с: ил. ISBN 5-94157-348.0 В книге автор попытался совместить две ...»

-- [ Страница 1 ] --

Дмитрий Кирьянов

Санкт-Петербург

«БХВ-Петербург»

УДК 681.3.06

ББК 32.973.26-018.2

К43

Кирьянов Д. В .

К43 Самоучитель Mathcad И. - СПб.: БХВ-Петербург, 2003. - 560 с: ил .

ISBN 5-94157-348.0

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

от простого к сложному, дать возможность читателю самостоятельно освоить Mathcad. Таким образом, книга может использоваться как самоучитель, позволяющий "с нуля" освоить ключевые возможности этой вычислительной системы. Вторая исль — ИЗЛОЖИТЬ материал, делая акцент на решении конкретных математических проблем. Поэтому, приступая к той или иной задаче, открывайте соответствующую главу книги и используйте ее как справочник. Изложение материала начинается с краткого определения математических понятий и терминов, при этом предполагается, что читатель имеет базовые математические знания .

Для начинающих пользователей, студентов, программистов и научных работников УДК 681.3.06 ББК 32.973.26-018.2

Группа подготовки издания:

Главный редактор Екатерина Кондукова Зам. главного редактора Анатолий Адаменко Зав. редакцией Григории Добин Редактор Анатолий Хрипов Компьютерная верстка Екатерина Трубникова Корректор Анна Брезман Дизайн обложки Игорь Цырульников Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07,00. Подписано в печать 07.07.03 .

Формат 70x100Vie. Печать офсетная. Усл. печ. л. 44,50 .

Доп. тираж 5000 экз. Заказ № 984 .

"БХВ-Петербург", 198005, Санкт-Петербург, Измайловский пр., 29 .

Гигиеническое заключение на продукцию, товар Na 77.99.02.953.Д.001537.03.02 от 13.03.2002 г. выдано Департаментом ГСЭН Минздрава России .

Отпечатано с готовых диапозитивов в Академической типографии "Наука" РАН 199034, Санкт-Петербург, 9 линия, 12 .

ISBN 5-94157-348.0

–  –  –

Введение Эта книга — о самом популярном из компьютерных математических пакетов Mathcad 11 компании MathSoft. С его помощью можно решать самые разные математические задачи и оформлять результаты расчетов на высоком профессиональном уровне .

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

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

Книга разбита на четыре части. В первой даны основные сведения о Mathcad и приемы работы с его математическим редактором, во второй и третьей частях рассматриваются решения практических задач математики, снабженные примерами, которые представлены листингами. В четвертой части приводятся сведения, касающиеся профессионального оформления расчетов в Mathcad 11 и методы эффективной работы для опытных пользователей .

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





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

Что же такое система Mathcad? Следует хорошо представлять себе, что в состав Mathcad 11 входят несколько интегрированных между собой компонентов:

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

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

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

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

Обо всех перечисленных возможностях я попытался в доступной форме рассказать в этой книге. Дополнительную информацию читатель может получить в Интернете на сервере производителя Mathcad http://www.Mathcad.com, дистрибьютора Mathcad в России http://www.Mathcad.ru и на личной странице автора http://www.kirianov.orc.ru .

ЧАСТЬ I

ОБЩИЕ СВЕДЕНИЯ

ГЛАВА 1 Начинаем работу В данной главе рассмотрено назначение приложения Mathcad 11 и, в целях знакомства с его основными возможностями, приведены базовые приемы его использования (см. разд. 1.1—1.2). Если вы уже имели дело с прежними версиями, начиная с Mathcad 7, и у вас неплохие навыки работы с его редактором, то можете смело пропустить эту главу. В ней основное внимание уделено главным компонентам интерфейса Mathcad 11, который интуитивен и похож на другие программы Windows (см. разд. 1.3), а также эффективному использованию справочной системы Mathcad (см. разд. 1.4) .

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

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

Mathcad 11, в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG ("What You See Is What You Get" — "что Вы видите, то и получите") .

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

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

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

проведение математических расчетов;

П

• подготовка графиков с результатами расчетов;

• ввод исходных данных и вывод результатов в текстовые файлы или файлы с базами данных в других форматах;

• подготовка отчетов работы в виде печатных документов;

О подготовка Web-страниц и публикация результатов в Интернете;

П получение различной справочной информации из области математики .

Со всеми этими (а также некоторыми другими) задачами с успехом справляется Mathcad:

• математические выражения и текст вводятся с помощью формульного редактора Mathcad, который по возможностям и простоте использования не уступает, к примеру, редактору формул, встроенному в Microsoft Word;

П математические расчеты производятся немедленно, в соответствии с введенными формулами;

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

• возможен ввод и вывод данных в файлы различных форматов;

• документы могут быть распечатаны непосредственно в Mathcad в том виде, который пользователь видит на экране компьютера, или сохранены в формате RTF для последующего редактирования в более мощных текстовых редакторах (например Microsoft Word);

Глава 1. Начинаем работу D возможно полноценное сохранение документов Mathcad 11 в формате Web-страниц (генерация вспомогательных графических файлов происходит автоматически);

О имеется опция объединения разрабатываемых Вами документов в электронные книги, которые, с одной стороны, позволяют в удобном виде хранить математическую информацию, а с другой — являются полноценными Mathcad-программами, способными осуществлять расчеты;

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

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

–  –  –

После того как Mathcad 11 установлен на компьютере и запушен на исполнение, появляется основное окно приложения, показанное на рис. 1.1. Оно имеет ту же структуру, что и большинство приложений Windows. Сверху вниз располагаются заголовок окна, строка меню, панели инструментов (стандартная и форматирования) и рабочий лист или рабочая область документа (worksheet). Новый документ создается автоматически при запуске Mathcad. В самой нижней части окна находится строка состояния. Не забывая о сходстве редактора Mathcad с обычными текстовыми редакторами, вы интуитивно поймете назначение большинства кнопок на панелях инструментов .

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

Для того чтобы выполнить простые расчеты по формулам, проделайте следующее:

• определите место в документе, где должно появиться выражение, щелкнув мышью в соответствующей точке документа;

• введите левую часть выражения;

G введите знак равенства ~ .

Оставим пока разговор о более надежных способах ввода математических символов и приведем пример простейших расчетов. Для вычисления синуса какого-нибудь числа достаточно ввести с клавиатуры выражение типа sin(i/4)=. После того как будет нажата клавиша со знаком равенства, с правой стороны выражения, как по мановению волшебной палочки, появится результат (листинг 1.1) .

Листинг 1.1 .

Расчет простого выражения

–  –  –

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

Чтобы ввести встроенную функцию в выражение:

1. Определите место в выражении, куда следует вставить функцию .

2. Нажмите кнопку с надписью f(x) на стандартной панели инструментов (на нее указывает курсор на рис. 1.2) .

3. В списке Function Category (Категория функции) появившегося диалогового окна Insert Function (Вставить функцию) выберите категорию, к которой принадлежит функция, — в нашем случае это категория Trigonometric (Тригонометрические) .

4. В списке Function Name (Имя функции) выберите имя встроенной функции, под которым она фигурирует в Mathcad (sin). В случае затруднения с выбором ориентируйтесь на подсказку, появляющуюся при выборе функции в нижнем текстовом поле диалогового окна Insert Function .

5. Нажмите кнопку ОК — функция появится в документе .

6. Заполните недостающие аргументы введенной функции (в нашем случае это 1/4) .

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

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

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

Для этого в Mathcad имеются специальные панели инструментов, очень похожие на средства формульного редактора Microsoft Word. Как уже было отмечено ранее, одна из них — панель инструментов Math — показана на рис. 1.1. Она содержит инструменты для вставки в документы математических объектов (операторов, графиков, элементов программ и т. п.). Эта панель показана более крупным планом на рис. 1.3 уже на фоне редактируемого документа .

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

С помощью этих девяти дополнительных панелей можно вставлять в документы Mathcad разнообразные объекты. На рис. 1.3, как легко увидеть, на панели Math в нажатом состоянии находятся две первые сверху слева кнопки (над левой из них находится указатель мыши). Поэтому на экране присутстЧасть I. Общие сведения вуют еще две панели — Calculator (Калькулятор) и Graph (График). Легко догадаться, какие объекты вставляются при нажатии кнопок на этих панелях .

–  –  –

Примечание Подробнее о назначении этих и других наборных панелей инструментов рассказано ниже (см. разд. 1.3) .

К примеру, можно ввести выражение из листинга 1.1 исключительно с помощью панели Calculator. Для этого нужно сначала нажать кнопку sin (самую первую сверху). Результат данного действия показан на рис. 1.3 (выражение в рамке). Теперь остается лишь набрать выражение 1/4 внутри скобок (в меопозаполнителе, обозначаемом черным прямоугольником). Для этого нажмите последовательно кнопки 1, — и 4 на панели Calculator и затем, на ней же, кнопку =, чтобы получить ответ (разумеется, тот же самый, что и в предыдущей строке документа) .

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

Глава 1. Начинаем работу 11

–  –  –

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

Описанные действия демонстрируют использование Mathcad в качестве обычного калькулятора с расширенным набором функций. Для математика же интерес представляет, как минимум, возможность задания переменных и операций с функциями пользователя. Нет ничего проще — в Mathcad эти действия, как и большинство других, реализованы по принципу "как принято в математике, так и вводится". Поэтому приведем соответствующие примеры (листинги 1.2 и 1.3), не теряя времени на комментарии (если у вас возникнут проблемы с пониманием листингов, обратитесь за разъяснением к соответствующим разделам этой главы). Обратите внимание только на оператор присваивания, который применяется для задания значений переменным в первой строке листинга 1.2. Его, как и все остальные символы, можно ввести с помощью панели Calculator. Присваивание обозначается символом ":=", чтобы подчеркнуть его отличие от операции вычисления .

Листинг 1.2 .

Использование переменных в расчетах

–  –  –

В последнем листинге определяется функция f (х). Ее график показан на рис. 1.4. Чтобы построить его, следует нажать на панели Graph кнопку с нужным типом графика (на нее на рисунке наведен указатель мыши) и в появившейся заготовке графика определить значения, которые будут отложены по осям. В нашем случае потребовалось ввести х в местозаполнитель возле оси х и f (х) — возле оси Y .

–  –  –

–  –  –

( Примечание ^ Сравните содержание листинга 1.3 и рис. 1.4. Такой стиль подачи материала будет сохранен во всей книге. Листинги представляют собой фрагменты рабочих областей документа, которые работают без какого-либо дополнительного кода (если это не оговорено особо). Можно ввести содержание любого листинга в новый (пустой) документ, и он будет работать точно так же, как в книге. Чтобы не загромождать листинги, графики выведены в отдельные рисунки. В отличие от рис. 1.4, в следующих рисунках код листингов не дублируется, а если имеется ссылка на листинг в подрисуночной надписи, то это подразумевает, что данный график может быть вставлен в документ после упомянутого листинга .

Одной из самых впечатляющих возможностей Mathcad являются символьные вычисления, позволяющие решить многие задачи аналитически. Фактически, по мнению автора, Mathcad "знает" математику, по крайней мере, на уровне неплохого ученого. Умелое использование интеллекта символьного процессора Mathcad избавит вас от огромного количества рутинных вычислений, к примеру, интегралов и производных (листинг 1.4). Обратите внимание на традиционную форму написания выражений, единственная особенность заключается в необходимости применения символа символьных вычислений - вместо знака равенства. Его, кстати, можно ввести в редакторе Mathcad с любой из панелей Evaluation (Выражения) или Symbolic (Символика), а символы интегрирования и дифференцирования — с панели Calculus (Вычисления) .

Листинг 1.4 .

Символьные вычисления

–  –  –

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

J4 Часть I. Общие сведения

1.3. Интерфейс пользователя

В Mathcad интерфейс пользователя интуитивен и сходен с другими приложениями Windows. Его составные части:

• верхнее меню, или строка меню (menu bar);

П панели инструментов (toolbars) Standard (Стандартная), Formatting (Форматирование), Resources (Ресурсы) и Controls (Элементы управления);

панель инструментов Math и доступные через нее дополнительные маО тематические панели инструментов;

О рабочая область (worksheet);

• строка состояния (status line или status bar);

О всплывающие, или контекстные, меню (pop-up menus или context menus);

О диалоговые окна или диалоги (dialogs);

Большинство команд можно выполнить как с помощью меню (верхнего или контекстного), так и панелей инструментов или клавиатуры .

1.3.1. Меню Строка меню располагается в самой верхней части окна Mathcad. Она содержит девять заголовков, щелчок мышью на каждом из которых приводит к появлению соответствующего меню с перечнем команд:

• File (Файл) — команды, связанные с созданием, открытием, сохранением, пересылкой по электронной почте и распечаткой на принтере файлов с документами;

О Edit (Правка) — команды, относящиеся к правке текста (копирование, вставка, удаление фрагментов и т. п.);

View (Вид) — команды, управляющие внешним видом документа в окне • редактора Mathcad, а также команды, создающие файлы анимации;

• Insert (Вставка) — команды вставки различных объектов в документы;

• Format (Формат) — команды форматирования текста, формул и графиков;

• Tools (Инструменты) — команды управления вычислительным процессом и дополнительными возможностями;

• Symbolics (Символика) — команды символьных вычислений;

П Window (Окно) — команды управления расположением окон с различными документами на экране;

П Help (Справка) — команды вызова справочной информации, сведений о версии программы, а также доступа к ресурсам и электронным книгам .

Глава 1. Начинаем работу 15 С Примечание Состав каждого меню, снабженный описанием действий каждого пункта, вы можете отыскать в приложении 3 .

Чтобы выбрать нужную команду, щелкните мышью на содержащем ее меню и повторно на соответствующем элементе меню. Некоторые команды находятся не в самих меню, а в подменю, как это показано на рис. 1.5. Чтобы выполнить такую команду, например команду вызова на экран панели инструментов Symbolic, наведите указатель мыши на пункт Toolbars (Панели инструментов) выпадающего меню View (Вид) и выберите в появившемся подменю пункт Symbolic .

Примечание ^ Далее в книге, говоря о совершении того или иного действия с помощью меню, последовательность выбора пунктов меню будем приводить сокращенно, разделяя их косыми чертами. Например, рассмотренная команда обозначается как View / Toolbars / Symbolic .

–  –  –

Обратите внимание, что пункты меню, которые содержат подменю, снабжены стрелками (как пункт Toolbars на рис. 1.5). Кроме того, некоторые пункты меню имеют (или не имеют) флажки проверки, указывающие на включение (или выключение) соответствующей опции в текущий момент. Так, на рис. 1.5 флажки проверки выставлены в пунктах Status Bar (Строка состояния) и имен трех панелей инструментов, что говорит о наличии в данный момент на экране строки состояния и трех панелей. Флажки же в Часть I. Общие сведения пунктах Ruler (Линейка), Regions (Регионы) и имен математических панелей инструментов отсутствуют, т. е. в данный момент эти опции выключены .

Назначение пунктов меню, на которые наведен указатель мыши, появляется в виде подсказки слева на строке состояния (в нижней части окна Mathcad). На рис. 1.5 указатель наведен на пункт Symbolic, поэтому подсказка гласит "Show or hide the symbolic keyword toolbar" (Показать или скрыть панель символики) .

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

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

примечательно, что эту операцию в Mathcad можно осуществить только при помощи контекстного меню) .

–  –  –

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

Кнопки в панелях сгруппированы по сходному действию команд:

• Standard — служит для выполнения большинства операций, таких, как действия с файлами, редакторская правка, вставка объектов и доступ к справочным системам;

Глава 1. Начинаем работу 17

• Formatting — для форматирования (изменения типа и размера шрифта, выравнивания и т. п.) текста и формул;

• Math — для вставки математических символов и операторов в документы;

П Resources — для вызова ресурсов Mathcad (примеров, справок и т.п.) .

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

–  –  –

Панель Math предназначена для вызова на экран еще девяти панелей (рис. 1.8), с помощью которых, собственно, и происходит вставка математических операций в документы. В прежних версиях Mathcad эти математические панели инструментов назывались палитрами (palettes) или наборными панелями. Чтобы показать какую-либо из них, нужно нажать соответствующую кнопку на панели Math (см. рис. 1.3).

Перечислим назначение математических панелей:

О Calculator — служит для вставки основных математических операций;

• Graph (График) — для вставки графиков;

О Matrix (Матрица) — для вставки матриц и матричных операторов;

Часть I. Общие сведения

• Evaluation (Выражения) — для вставки операторов управления вычислениями;

• Calculus (Вычисления) — для вставки операторов интегрирования, дифференцирования, суммирования;

• Boolean (Булевы операторы) — для вставки логических (булевых) операторов;

О Programming (Программирование) — для программирования средствами Mathcad;

G Greek (Греческие символы) — для вставки греческих символов;

• Symbolic — для вставки символьных операторов .

С* Malhcad-[Untitled:1 J i\ Ее H Vw Insert Fr a Jools Syrriiolics Пd e i amt Help

–  –  –

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

Глава 1. Начинаем работу 19 1 3 3 Настройкапанелиинструментов .

. .

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

Вы можете:

О показывать или скрывать панели;

О перемещать панели в любое место экрана и изменять их форму;

П делать панели плавающими, и наоборот;

П настраивать основные панели, т. е. определять набор их кнопок .

Присутствие панелей на экране Вызвать любую панель на экран или скрыть ее можно с помощью меню View / Toolbars, выбирая в открывающемся подменю имя нужной панели (см. рис. 1.5). Убрать любую панель с экрана можно еще и посредством контекстного меню, которое вызывается щелчком правой кнопкой мыши в любом месте панели (например на любой кнопке). В контекстном меню следует выбрать пункт Hide (Скрыть). Кроме того, если панель плавающая, т. е. не прикреплена к основному окну (как, например, все панели на рис. 1.8), то ее можно отключить кнопкой закрытия (на рис. 1.8 указатель мыши наведен на эту кнопку панели Calculator) .

Математические панели, в отличие от основных, можно вызвать или скрыть нажатием соответствующей кнопки панели Math. Присутствие или отсутствие математических панелей показано в виде нажатой (или отжатой) соответствующей кнопки (см. рис. 1.3, 1.4 или 1.8) .

Создание плавающих панелей

Чтобы открепить любую из панелей от границ окна Mathcad:

1. Поместите указатель мыши над первым (см. рис. 1.7) или последним разделителем панели (первый разделитель имеет характерный объемный вид, а последний — обычный) .

2. Нажмите и удерживайте левую кнопку мыши — вы увидите характерный профиль очертаний панели .

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

4. Отпустите кнопку мыши — панель станет плавающей и переместится туда, где находился ее профиль .

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

Примечание J Большинство математических панелей могут быть только плавающими .

–  –  –

Рис. 1.9. Изменение расположения и размера панелей инструментов Имеется также и более простой способ открепить панель от границ окна Mathcad. Для этого просто щелкните дважды на ее первом или последнем разделителе. Чтобы прикрепить панель к окну, достаточно двойного щелчка на ее заголовке .

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

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

–  –  –

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

Настройка состава основных панелей Настройка означает изменение количества и состава кнопок на любой из трех основных панелей (Standard, Formatting и Mathematics). Она, например, полезна, если требуется убрать редко используемые кнопки, чтобы не загромождать экран (в особенности, если его невысокое разрешение вынуждает пользователя экономить место). Для изменения состава кнопок на панели вызовите щелчком правой кнопкой мыши в любом ее месте (но не на заголовке) контекстное меню и выберите в нем пункт Customize (Настроить). Появится диалоговое окно Customize Toolbar (Настройка панели инструментов), в котором имеются два списка— в левом перечислены отсутствующие кнопки, а в правом — кнопки, которые присутствуют в данный момент на панели (рис. 1.10) .

–  –  –

Чтобы убрать кнопку (или разделитель кнопок) с панели инструментов, выделите ее имя в правом списке и затем нажмите кнопку Remove (Удалить) в диалоговом окне (на нее наведен указатель мыши на рис. МО). Чтобы добавить новую кнопку, выделите ее имя в левом списке и нажмите Add (ДобаЧасть I. Общие сведения вить). Для изменения порядка расположения на панели той или иной кнопки выделите ее в правом списке и перемещайте в нужную сторону, нажимая кнопки Move Up (Вверх) или Move Down (Вниз) .

Подтвердить сделанную настройку панели можно нажатием кнопки Close (Закрыть) или кнопки закрытия диалогового окна, а вернуться к прежнему составу панели — с помощью кнопки Reset (Сброс) .

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

Курсор ввода На некоторых рисунках этой главы (см., например, рис. 1.7) виден курсор ввода в виде небольшого крестика (на дисплее он имеет красный цвет) .

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

Примечание Применение курсора ввода и приемов редактирования документов будет подробно рассмотрено в главе 2 .

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

Чтобы показать или скрыть расположение регионов с математическими выражениями, текстом или графиками, имеется возможность включить опцию показа границ регионов. Делается это с помощью главного меню View / Regions (Вид / Регионы). Если эта опция включена, документ выглядит так, как показано на рис. 1.11 (см. рис. 1.4 для сравнения) .

Присмотревшись к рис. 1.11 и некоторым другим рисункам этой главы, вы обнаружите в правой части рабочей области вертикальную линию раздела страниц. Если документ большой, то в некотором месте будет наблюдаться и прерывистая горизонтальная линия раздела страниц. Эти линии показывают, каким образом будет осуществлено разбиение на страницы при распечатке документа на принтере. Изменить параметры страницы можно с помощью команды File / Page Setup (Файл / Параметры страницы) .

Глава 1. Начинаем работу

–  –  –

Ориентироваться в размещении объектов на странице документа помогает горизонтальная линейка, расположенная под панелями инструментов в верхней части окна Mathcad (рис. 1.12). Линейку можно вызвать на экран с помощью команды View / Ruler (Вид / Линейка) .

–  –  –

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

Кроме того, если документ имеет большой размер, просматривать его содержимое удобно при помощи меню Edit / Go to Page (Правка / Перейти к странице). При выборе этого пункта откроется диалог, позволяющий перейти к странице с заданным номером .

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

–  –  –

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

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

Изменение масштаба Изменение масштаба документа не влияет на его содержание, а просто определяет размер букв и графики, отображаемых на экране .

Для того чтобы изменить масштаб изображения, войдите в соответствующее поле на панели инструментов Standard, которое отмечено указателем мыши на рис. 1.13. Щелчок мыши на этом поле приводит к появлению списка возможных масштабов от 25 до 200%. Значение 100% соответствует размеру страницы документа, который получится при его распечатке. Сравните рис. 1.13 и 1.14, на которых один и тот же документ представлен при разном увеличении .

–  –  –

Чтобы выбрать другое значение масштаба отображения документа, необходимо выполнить команду View / Zoom (Вид / Масштаб). В этом случае появляется диалоговое окно Zoom (Масштаб) управления масштабом (рис. 1.14), в котором можно выбрать один из переключателей с желаемым значением масштаба. Для задания значения вручную выберите переключатель Custom (Настройка) и в открывшемся текстовом поле введите нужное число (в процентах от реального масштаба страницы). Для подтверждения проделанных изменений нажмите кнопку ОК .

Многооконный режим редактирования Все предыдущие рисунки были примерами одного документа, развернутого во все пространство окна Mathcad. Однако допускается одновременно держать на экране и редактировать сразу несколько документов. Их можно расположить на экране в любом порядке. Для этого, открыв меню Window (Окно), следует выбрать в нем один из пунктов Cascade (Расположить каскадом), Tile Horizontal (Горизонтальная мозаика), Tile Vertical (Вертикальная мозаика). В результате все окна будут расположены на экране в пределах окна либо каскадом друг за другом, либо вертикально или горизонтально так, чтобы они не перекрывались (рис. 1.15—1.17) .

Mathcad Untitled:1

Fie Edit \tfew Insert Fojmat l o o k Symbolic* [ Window Help

–  –  –

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

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

–  –  –

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

1.3.5. Строка состояния В нижней части окна Mathcad, под горизонтальной полосой прокрутки, на большинстве рисунков этой главы видна строка (линия) состояния. На ней отображается самая основная информация о режиме редактирования (рис. 1.18), разграниченная разделителями (слева направо):

• контекстно-завис и мая подсказка о готовящемся действии;

режим вычислений: автоматический (AUTO) или задаваемый вручную П (Calc F9);

О текущий режим раскладки клавиатуры САР;

Глава 1. Начинаем работу П текущий режим раскладки клавиатуры NUM;

• номер страницы, на которой находится курсор .

–  –  –

Чтобы показать или скрыть строку состояния, выполните команду View / Status Ваг (Вид / Строка состояния) .

1.4. Справочная информация Вместе с Mathcad поставляется несколько источников справочной информации, доступ к которым осуществляется через меню Help (Справка) .

D Справочные системы по вопросам использования Mathcad:

• Mathcad Help (Справка) — система справки или технической поддержки;

• What's This (Что это такое?) — контекстно-зависимая интерактивная справка;

• Developer's Reference (Справка для разработчиков) — дополнительные главы справки для разработчиков собственных самостоятельных приложений на языке Mathcad;

• Author's Reference (Справка для авторов) — дополнительные главы справки для пользователей, разрабатывающих собственные электронные книги Mathcad .

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

Tutorials (Учебники) — библиотека электронных книг Mathcad с примерами, которые построены в форме обучающих курсов;

QuickSheels (Быстрые шпаргалки) — большое число документов • Mathcad, которые удобно использовать в качестве шаблона для собственных расчетов;

• Reference Tables (Справочный стол) — физические и инженерные таблицы, включающие перечни фундаментальных констант, единиц измерения величин, сводку разнообразных параметров веществ и т. п.;

• E-Books (Электронные книги) — доступ к существующим библиотекам документов пользователя, примерам, а также встроенным электронным книгам, посвященным расширениям Mathcad .

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

Кроме поименованных, меню Help (Справка) содержит следующие пункты:

–  –  –

Если в какой-либо момент работы с Mathcad вам потребовалась помощь, выберите Help/ Mathcad Help, либо нажмите клавишу F1, либо кнопку Help со знаком вопроса на стандартной панели инструментов .

Справка в Mathcad является контекстно-зависимой, т. е. ее содержание определяется тем, на каком месте документа она вызвана. Например, на рис. 1.19 курсор (линии ввода) указывает в редактируемом документе на оператор транспонирования матрицы. Поэтому вызов справки приведет к загрузке окна Mathcad Help (Справка Mathcad), открытого на месте описания операции транспонирования матриц (рис. 1.20) .

Окно справочной системы Mathcad построено в характерном для Windows стиле и состоит из двух частей. Слева отображается содержание статей (вкладка Contents), а справа — их текст. Левая часть окна может быть временно скрыта нажатием кнопки Hide на панели инструментов в верхней части окна. Вновь вызвать ее на экран всегда можно кнопкой Show (Показать), заменяющей кнопку Hide в режиме скрытия содержания .

Глава 1. Начинаем работу 31 & Mathcad Help

–  –  –

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

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

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

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

Кроме того, довольно мощное средство поиска статей на сходную тему — это Часть I. Общие сведения кнопка Related Topics (Близкие статьи). Нажатие этой кнопки раскрывает диалоговое окно Topics Found (Найденные статьи) с перечнем справочных статей близкой тематики (рис. 1.21). Чтобы перейти к какой-либо статье, выберите соответствующий элемент из списка и нажмите кнопку Display (Показать) или просто дважды щелкните на элементе списка .

–  –  –

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

–  –  –

• Choose Save from the File menu."ir jou'waiic w a n e 1 a ireW"lianliel'iu'tfie'1iiiuuinl4lU"i;ePnplate, choose Save As from the File menu instead and enter a new name for the template in the dialog bos Note that when you modify a template, your changes affect only new fries created from the modified template. The changes will not affect any worksheets created ntth the template before the template was modified,

–  –  –

• Index (Указатель) — перечень названий справочных статей в алфавитном порядке (рис. 1.23);

О Search (Поиск) — поиск статей справки по ключевым словам или фразам (рис. 1.24) .

<

–  –  –

На вкладке Index следует либо выбрать искомую статью из нижнего списка, либо ввести несколько первых букв в текстовое поле Т^ре in the keyword to find (Введите ключевое слово для поиска). Для перехода к содержимому справки требуется дважды щелкнуть на элементе списка. После этого либо статья появится справа, либо будет выведено уже известное нам диалоговое окно Topics Found (Найденные статьи), позволяющее выбрать справочную статью из списка .

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

1.24):

D перейдите в окне Mathcad Help на закладку Search;

• введите ключевые слова в текстовом поле сверху (через пробел, если слов несколько), например (для поиска статей о квадратных матрицах) "matrix square";

34 Часть I. Общие сведения О нажмите кнопку List Topics (список статей);

выберите из появившегося списка статью и нажмите кнопку Display П (Показать);

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

В? Mathcad Help

–  –  –

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

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

ГЛАВА 2 Редактирование документов В данной главе рассматриваются основные приемы редактирования документов Mathcad. Первый раздел посвящен созданию новых документов и сохранению расчетов в файлах (см. разд. 2.1). В трех следующих рассмотрены способы редактирования формул (см. разд. 2.2), текста (см. разд. 2.3) и правки частей документа Mathcad (см. разд. 2.4). В заключение главы приводятся основные сведения по распечатке документов (см. разд. 2.5), рассылке их по электронной почте (см. разд. 2.6) .

2.1. Работа с документами В Mathcad все расчеты организуются на рабочих областях, или "листах" (worksheets), изначально пустых, на которые можно добавлять формулы и текст. Здесь и далее будем называть рабочий лист документом Mathcad. Это не совсем точно передает смысл английского термина "worksheet", зато более привычно с точки зрения терминологии Windows-приложений. Каждый документ представляет собой независимую серию математических расчетов и сохраняется в отдельном файле. Документ является одновременно и листингом Mathcad-программы, и результатом исполнения этой программы, и отчетом, пригодным для распечатки на принтере или публикации в Web .

2.1.1. Управление документами Если Mathcad запускается из главного меню Windows (с помощью кнопки Пуск в углу экрана), например Start /Programs /MathSoft Apps /Mathcad 11 (Пуск/ Программы/Приложения MathSoft/Mathcad 11), то окно Mathcad появляется с открытым в нем новым пустым безымянным документом, условно называемым Untitled: 1 .

Часть I.

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

О нажатие одновременно клавиш Ctrl+N;

• нажатие кнопки New (Создать) на панели инструментов;

П щелкнув на команде верхнего меню File / New (Файл / Создать) .

В Mathcad 11 кнопка New на стандартной панели состоит из двух частей (рис. 2.1) .

–  –  –

В результате любого из проделанных действий в окне Mathcad появляется пустой документ с условным названием Lntilled:2. или Untitled:3 или т. д., в зависимости от того, какой по счету новый документ создается. (Сохранение документа описывается в разд. 2.1.3.) 2.1.2. Создание документа на основе шаблона Поработав с Mathcad некоторое время, вы, скорее всего, часто будете создавать новые документы не с чистого листа, а на основе разработанных ранее .

Для этого имеются два пути:

• открыть ранее созданный документ и сохранить его под другим именем;

П использовать шаблоны .

Шаблон (template) — это заготовка нового документа с введенными формулами, графиками, текстом, включая разметку, форматирование, выбор по умолчанию режима вычислений и т. д. В предыдущем разделе было рассмотрено создание нового документа на основе пустого шаблона. Пример документа, созданного на основе шаблона Web Page (Web-страница), показан на рис. 2.3. Новый документ, имеющий дизайн и характерную разметку Web-страницы, следует использовать, например, для представления расчетов в формате HTML в сети Интернет .

Глава 2. Редактирование документов 37

–  –  –

Рис. 2.З. Новый документ на основе шаблона Web-страницы Для выбора другого шаблона, который имеется на Вашем компьютере в виде файла соответствующего формата, нажмите в диалоговом окне New (Создать), показанном на рис. 2.2, кнопку Browse (Обзор). В появившемся диалоге Browse (Обзор) найдите местоположение нужного файла с шаблоном Mathcad. Эти файлы имеют расширение.met (Math Cad Template). Выберите желаемый шаблон в списке файлов и нажмите кнопку Открыть (Open) .

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

Для того чтобы разработать шаблон самостоятельно, проделайте следующее:

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

2. Выполните команду File / Save As (Файл / Сохранить как) .

3. Найдите на диске папку \template (ее местонахождение может быть примерно таким: \Program Files \ Mathcad 11 \ template) и перейдите к ее содержимому (рис. 2.4) .

4. Выберите в списке Тип файла (File type) элемент Mathcad Template (*.mct) (Шаблон Mathcad) .

5. Введите имя шаблона в поле ввода имени файла (на рис. 2.4 он назван "userl") .

6. Нажмите кнопку Сохранить (Save) .

Часть I. Общие сведения

–  –  –

2.1.3. Сохранение документа Для того чтобы сохранить документ в формате Mathcad, выберите File / Save (Файл / Сохранить), либо нажмите клавиши Ctrl+S или кнопку Save на стандартной панели инструментов. Если созданный документ сохраняется впервые, на экран будет выведено диалоговое окно Сохранение (Save), в котором потребуется определить его имя (рис. 2.6) .

–  –  –

Чтобы переименовать документ, сохраните его под другим именем с помощью команды File / Save As (Файл / Сохранить как) .

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

На рис. 2.6 показан раскрывающийся список с возможными форматами сохраняемых файлов:

П Mathcad 11 Worksheet (*.mcd) — последний и наиболее мощный формат, используется по умолчанию;

• HTML/MathML File (*.htm) — формат Web-страницы. Начиная с версии Mathcad 11, все атрибуты документа Mathcad могут сохраняться в HTML-файле (с дополнительной XML-разметкой). С одной стороны, такие файлы могут просматриваться обычным браузером, а с другой — без ущерба для функциональности — открываться и редактироваться в Mathcad как обычные (*.mcd) документы .

Часть I. Общие сведения Примечание При сохранении в формате *.htm можно выбирать различные опции экспорта .

Подробнее об этом написано в последнем разделе данной главы .

П Mat he ad Template (*.mct) — формат шаблона (см. предыдущий разд.)', П Rich Text Format (*.rtf) — сохраняйте файлы в этом формате только для дальнейшего редактирования в текстовых редакторах с целью создания отчетов. В частности, сохранив документ в RTF-файле, можно загрузить его в Microsoft Word или другой текстовый процессор, большинство из которых поддерживает этот формат;

О Mathcad 6...2001i Worksheet (*.mcd) — форматы прежних версий Mathcad. Если вы работаете одновременно с несколькими версиями Mathcad (например, разрабатываете с другими разработчиками общую задачу), то запасайте файлы в наиболее раннем формате из тех, с которыми приходится иметь дело. Однако помните, что возможности прежних версий (в частности, наборы встроенных функций) ограничены по сравнению с более поздними версиями Mathcad, поэтому некоторые из них будут недоступны .

2.1.4. Открытие существующего документа Чтобы открыть существующий документ для редактирования, выполните команду File / Open (Файл / Открыть) или нажмите клавиши CtrI+0 (или кнопку Open на стандартной панели инструментов). В диалоговом окне Open выберите файл и нажмите кнопку ОК .

Кроме того, открыть файл можно и в обозревателе Windows, щелкнув дважды на его имени с расширением.mcd .

–  –  –

Рис. 2.7. Отображение панели адреса URL в окне Ресурсов Mathcad

Открыть документ Mathcad, находящийся в сети Интернет, можно мри помощи окна Ресурсов Mathcad:

I. Вызовите один из Ресурсов Mathcad, например, Быстрые шпаргалки (Help / QuickSheets) .

Глава 2. Редактирование документов 41

2. Нажмите кнопку с изображением глобуса и двух стрелок на панели инструментов появившегося окна Mathcad Resources (рис. 2.7) .

3. Введите URL-адрес страницы в сети Интернет, где находится документ Mathcad, например http://www.mathsoft.com — в поле для ввода адреса в окне .

4. Нажмите клавишу Enter .

2.1.5. Закрытие документа

Активный документ закрывается одним из способов:

П нажатием кнопки закрытия окна документа в его правой верхней части (рис. 2.8);

–  –  –

при помощи команды File / Close (Файл / Закрыть);

• нажатием клавиш Ctrl+W;

П при завершении сеанса работы с Mathcad: посредством либо команды File / Exit (Файл / Выход), либо кнопки управления окном, либо панели задач Windows, — будут закрыты все открытые документы, включая и неактивные .

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

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

2.2.1. Элементы интерфейса Перечислим еще раз элементы интерфейса редактора Mathcad (со многими из них мы познакомились в разд. "Знакомство с Mathcad" гл. 1):

О указатель мыши (mouse pointer) — играет обычную для приложений Windows роль, следуя за движениями мыши;

42 Часть I. Общие сведения

• курсор — обязательно находится внутри документа в одном из трех видов:

• курсор ввода (crosshair) — крестик красного цвета, который отмечает пустое место в документе, куда можно вводить текст или формулу;

• линии ввода (editing lines) — горизонтальная (underline) и вертикальная (insertion line) линии синего цвета, выделяющие в тексте или формуле определенную часть;

• линия ввода текста (text insertion point) — вертикальная линия, аналог линий ввода для текстовых областей .

П местозаполнители (placeholders) — появляются внутри незавершенных формул в местах, которые должны быть заполнены символом или оператором:

• местозаполнитель символа — черный прямоугольник;

• местозаполнитель оператора — черная прямоугольная рамка .

–  –  –

Курсоры и местозаполнители, относящиеся к редактированию формул, представлены на рис. 2.9 .

2.2.2. Ввод формул Ввести математическое выражение можно в любом пустом месте документа Mathcad. Для этого поместите курсор ввода в желаемое место документа, щелкнув в нем мышью, и просто начинайте вводить формулу, нажимая клавиши на клавиатуре. При этом в документе создается математическая область (math region), которая предназначена для хранения формул, интерпретируемых процессором Mathcad. Продемонстрируем последовательность действий на примере ввода выражения х5+х (рис. 2.10):

1. Щелкните мышью, обозначив место ввода .

2. Нажмите клавишу х — в этом месте вместо курсора ввода появится регион с формулой, содержащей один символ х, причем он будет выделен линиями ввода .

3. Введите оператор возведения в степень, нажав клавишу ", либо выбрав кнопку возведения в степень на панели инструментов Calculator — в формуле появится местозаполнитель для введения значения степени, а линии ввода выделят этот местозаполнитель .

4. Последовательно введите остальные символы 5, +, х .

Глава 2. Редактирование документов 43 Рис .

2.10. Пример ввода Рис. 2.11. Пример формулы (коллаж) начала ввода операторов Таким образом, поместить формулу в документ можно, просто начиная вводить символы, числа или операторы, например + или /. Во всех этих случаях на месте курсора ввода создается математическая область, иначе называемая регионом, с формулой, содержащей и линии ввода. В последнем случае, если пользователь начинает ввод формулы с оператора (рис. 2.11), в зависимости от его типа, автоматически появляются и местозаполнители, без заполнения которых формула не будет восприниматься процессором Mathcad .

2.2.3. Перемещение линий ввода внутри формул

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

П щелкая в нужном месте мышью;

• нажимая на клавиатуре клавиши — со стрелками, пробел и Ins:

• клавиши со стрелками имеют естественное назначение, переводя линии ввода вверх, вниз, влево или вправо;

• клавиша Ins переводит вертикальную линию ввода с одного конца горизонтальной линии ввода на противоположный;

• пробел предназначен для выделения различных частей формулы .

Если раз за разом нажимать клавишу пробела в формуле, пример ввода которой рассмотрен выше (см. рис. 2.10), то линии ввода будут циклически изменять свое положение, как это показано на рис. 2.12. Если в ситуации, показанной сверху на этом рисунке, нажать стрелку «-, то линии ввода переместятся влево (рис. 2.13). При нажатии пробела теперь линии ввода будут попеременно выделять одну из двух частей формулы .

–  –  –

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

2.2.4. Изменение формул Редактируйте формулы в Mathcad так, как подсказывают Вам интуиция и опыт работы с другими текстовыми редакторами. Большинство операций правки формул реализованы естественным образом, однако некоторые из них несколько отличаются от общепринятых, что связано с особенностью Mathcad как вычислительной системы. Рассмотрим основные действия по изменению формул .

Вставка оператора Операторы могут быть унарными (действующими на один операнд, как, например, оператор транспонирования матрицы или смены знака числа), так и бинарными (например + или /, действующими на два операнда). При вставке нового оператора в документ Mathcad определяет, сколько операндов ему требуется. Если в точке вставки оператор один или оба операнда отсутствуют, Mathcad автоматически помещает рядом с оператором один или два местозаполнителя .

Внимание!

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

–  –  –

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

На рис. 2.14 показано несколько примеров вставки оператора сложения в разные части формулы, создание которой мы подробно разбирали выше (см. рис. 2.10). В левой колонке рис. 2.14 приведены возможные размещения линий ввода в формуле, а в правой — результат вставки оператора сложения (т. е. нажатия клавиши +). Как видно, Mathcad сам расставляет, если это необходимо, скобки, чтобы часть формулы, отмеченная линиями ввода, стала первым слагаемым .

–  –  –

Некоторые операторы Mathcad вставит в правильное место независимо от положения линий ввода. Таков, например, оператор численного вывода =, который по смыслу выдает значение всей формулы в виде числа. На рис. 2.15 показан момент ввода этого оператора в формулу при помощи панели Calculator (Калькулятор), а в листинге 2.1 приведен результат его действия .

Листинг 2.1 .

Вычисление простого выражения

–  –  –

Выделение части формулы Чтобы выделить часть формулы в некоторой математической области (рис.

2.16):

1. Поместите ее между линиями ввода, пользуясь, при необходимости, клавишами-стрелками и пробелом .

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

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

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

,= 4 3 8. 1 3 3 1 .

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

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

Удаление части формулы

Чтобы удалить часть формулы:

1. Выделите ее .

2. Нажмите клавишу Del .

3. Кроме того, можно удалить часть формулы, помещая ее перед вертикачьной линией ввода и нажимая клавишу BackSpace .

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

Вырезка, копирование и вставка части формулы

Для правки части формулы:

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

Глава 2. Редактирование документов 47

2. Воспользуйтесь либо верхним меню Edit (Правка), либо контекстным меню, либо кнопкой на панели инструментов, либо соответствующим сочетанием горячих клавиш (см. рис. 2.17 и 2.18):

• Cut (Вырезать) или Ctrl+X — для вырезки части формулы в буфер;

• Сору (Копировать) или Ctrl+C — для копирования в буфер;

• Paste (Вставить) или Ctrl+V — для вставки из буфера предварительно помещенной туда части формулы .

–  –  –

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

Изменение чисел или имен переменных и функций

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

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

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

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

–  –  –

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

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

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

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

G греческие буквы легче всего вставляются с помощью панели инструментов Greek (Греческие символы) (рис. 2.19). Можно также ввести соответствующую латинскую букву и нажать клавиши Ctrl+G (после этого, например, из латинской буква "а" получается греческая а);

G операторы могут быть вставлены либо с различных математических панелей инструментов, либо соответствующим сочетанием клавиш. Например, наиболее часто употребляемые операторы (см. рис. 2.15) сгруппированы на панели Calculator (Калькулятор);

О имена функций вводятся либо с клавиатуры, либо, с большей надежностью, с помощью команды Insert / Function (Вставка / Функция) (см .

разд. "Знакомство с Mathcad" гл. 1) .

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

Особенности применения операторов и функций будут подробно рассмотрены в гл. 3 .

–  –  –

2.2.6. Управление отображением некоторых операторов Некоторые операторы, например умножения или присваивания численного вывода, допускают различное представление в документах Mathcad. Сделано это, главным образом, для упрощения подготовки отчетов (в Mathcad-npoГлава 2. Редактирование документов 49 грамме символ присваивания в виде := выглядит естественно, но в отчетной документации зачастую неприемлем) .

Оператор умножения может иметь различный вид (рис. 2.20):

• Dot (Точка);

О Narrow Dot (Узкая точка);

П Large Dot (Большая точка);

а х;

П Thin Space (Тонкий пробел);

• No Space (Вместе) .

–  –  –

Оператор присваивания представляется либо знаками := (двоеточием и равенством — Colon Equal), либо просто знаком равенства (Equal), как показано на рис. 2.21 .

Для того чтобы в документе поменять отображение указанных операторов:

1. Поместите указатель мыши на оператор и вызовите щелчком правой кнопкой мыши контекстное меню .

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

3. В открывшемся подменю выберите нужный вид оператора, как показано на рис. 2.20 и 2.21 .

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

( *Совет ^ Изменять вид операторов следует только при серьезной необходимости. Помните, что непривычный вид оператора может ввести вас при дальнейшем разборе программ в заблуждение и вызвать ошибки .

Всегда можно вновь переложить ответственность за представление операторов на Mathcad, выбирая в контекстном меню пункт Default (По умолчанию). Кроме того, выбор пункта AutoSelect (Автоматический выбор) этого меню приводит к отображению оператора редактором Mathcad в зависимости от контекста .

Выбор представления по умолчанию для этих и некоторых других операторов производится на вкладке Display (Отображение) диалогового окна Worksheet Options (Опции документа) (рис.2.22). Для его вызова выполните команду Tools / Worksheet Options (Сервис / Опции). Отображение по умолчанию задается с помощью соответствующих раскрывающихся списков, в частности списка Multiplication для оператора умножения или списка Definition для оператора присваивания .

–  –  –

2.3. Ввод и редактирование текста Mathcad — это математический редактор. Основное его назначение заключается в редактировании математических формул и расчете по ним. Вместе с тем, наряду с формульным редактором Mathcad обладает довольно развиГлава 2. Редактирование документов 5) тыми средствами по оформлению текста. Назначение текстовых областей в документах Mathcad для разных пользователей и разных задач может быть различным. Качественно стоит различать подход к тексту, используемому:

О просто в качестве комментариев;

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

Рассмотрим в этом разделе основные приемы работы с текстом, а разбор расширенных возможностей текстового процессора Mathcad отложим до последней части этой книги (см. гл. 16) .

2.3.1. Ввод текста Текстовую область (или, по-другому, регион с текстом — text region) можно разместить в любом незанятом месте документа Mathcad. Однако, когда пользователь помещает курсор ввода в пустое место документа и просто начинает вводить символы, Mathcad по умолчанию интерпретирует их как начало формулы. Чтобы до начала ввода указать программе, что требуется создать не формульный, а текстовый регион, достаточно, перед тем как ввести первый символ, нажать клавишу ". В результате на месте курсора ввода появляется новый текстовый регион, который имеет характерное выделение (рис. 2.23). Курсор принимает при этом вид вертикальной линии красного цвета, которая называется линией ввода текста и аналогична по назначению линиям ввода в формулах .

–  –  –

Примечание Создать текстовый регион можно и эквивалентным способом, с помощью команды Insert /Text Region (Вставка / Текстовая область) .

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

2.3.2. Редактирование текста

Чтобы изменить какой-либо текст внутри документа:

1. Щелкните мышью на области текста — она приобретет характерный вид (рис. 2.24) .

2. При необходимости переместите линию ввода текста внутри текстовой области к символам, которые собираетесь изменить, щелкая мышью в Часть I. Общие сведения нужном месте текста или нажимая клавиши со стрелками и клавиши Ноте и End .

3. Отредактируйте текст .

–  –  –

Для редактирования текста применяются те же средства, что и для редактирования формул:

П выделение части текста протаскиванием указателя мыши или нажатием клавиш-стрелок при удерживаемой клавише Shift;

• вырезка, копирование и вставка части текста либо сочетанием горячих клавиш Ctrl+X, Ctrl+C, Ctrl+V, соответственно, либо при помощи меню Edit, контекстного меню или панели Standard .

Примечание Кроме того, существуют развитые средства форматирования текста, такие, как управление типом и размером шрифта, выравниванием и т. п. Большинство этих возможностей (см. гл. 17) реализуется при помощи панели инструментов Formatting (Форматирование) .

2.3.3. Импорт текста Mathcad позволяет импортировать фрагменты текста из других приложений (например, Notepad или Microsoft Word). Сделать это проще всего через буфер обмена:

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

2. Перейдите в окно Mathcad и отметьте (щелчком мыши в желаемом месте) курсором ввода место вставки фрагмента .

3. Выберите один из двух путей:

• создайте в документе Mathcad текстовый регион, нажав клавишу ", и, находясь внутри него, вставьте содержимое буфера обмена сочетанием Ctrl+V. Фрагмент будет вставлен в документ в виде обычной текстовой области (рис. 2.25), которую затем можно редактировать стандартными для Mathcad средствами;

• не создавая текстовой области, вставьте фрагмент из буфера нажатием Ctrl+V. Текст будет вставлен в виде объекта OLE (Object Linking and Embedding), т. е. для его редактирования каждый раз будет вызываться то приложение, в котором он был создан (рис. 2.26) .

Глава 2. Редактирование документов 53

–  –  –

S2.3.3. Импорт текста '_ лВы можете импортировать в документы fathead фрагменты текста из других приложений • * (например, Notepad, или Microsoft Word) .

]

–  –  –

Применяйте второй способ в том случае, когда специальное форматирование текста невозможно осуществить средствами Mathcad. Чтобы вернуться к редактированию вставленного таким образом текста, следует дважды щелкнуть на нем мышью. При этом вместо меню и панелей инструментов в Mathcad появятся соответствующие средства другого приложения (чтобы подчеркнуть это, на рис. 2.26 открыто меню Help, свидетельствующее о работе в данный момент приложения Microsoft Word). С их помощью можно отредактировать объект и затем вернуться к обычному редактированию документа Mathcad, щелкнув в нем мышью за пределами объекта .

2.3.4. Математические символы внутри текста

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

1. Щелкните в нужной части текстовой области .

2. Выберите команду Insert/ Math Region (Вставка/Математическая область) или нажмите клавиши Ctrl + Shift+A, чтобы создать пустой местозаполнитель внутри текста (рис. 2.27) .

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

Часть I. Общие сведения

–  –  –

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

Примечание Если необходимо, чтобы математическая область внутри текста не влияла на вычисления, отключите их. Для этого, находясь в режиме редактирования формулы, выполните команду Format / Properties (Формат / Свойства) и, перейдя в открывшемся диалоговом окне Properties (Свойства) на вкладку Calculations (Вычисления), установите флажок Disable Evaluations (Выключить вычисления) и нажмите кнопку ОК .

2.3.5. Гиперссылки Иногда необходимо сделать текстовую область одновременно и гиперссылкой, переводящей курсор на какое-либо иное место в активном документе, другой документ Mathcad либо на сайт в Интернете. Для вставки гиперссылки используется команда Insert/ Hyperlink (Вставка/ Гиперссылка) .

(см. гл. 17),

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

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

Выделенные регионы от курсора ввода до указателя мыши будут отмечены пунктиром (рис. 2.29) .

–  –  –

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

О Несколько разрозненных регионов можно выделить (рис. 2.30), щелкая на первом из них, нажав клавишу Ctrl и, не отпуская ее, последовательно щелкая на остальных регионах .

Все содержание документа можно выделить при помощи команды Edit / • Select All (Правка / Выделить все) или нажатием клавиш Ctrl+A .

П Для снятия выделения щелкните мышью в любой части документа .

–  –  –

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

Вырезка, копирование, вставка и перемещение части документа

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

• верхнее меню Edit (Правка);

• контекстное меню;

• кнопки правки на панели инструментов Standard (Стандартная);

• сочетание горячих клавиш Ctrl+X, Ctrl+C, Ctrl+V .

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

• для перемещения поместите указатель мыши на один из выделенных регионов — он приобретет форму ладони. Затем нажмите левую кнопку мыши и перетащите при нажатой кнопке выделение в желаемое место (рис. 2.31). При отпускании кнопки мыши выделенные регионы переместятся на новое место;

• для копирования выделенных регионов перетаскивайте их мышью при нажатой клавише Ctrl .

Рис. 2. 3 1. Перетаскивание части документа в другое место Выравнивание регионов Чтобы документы воспринимались лучше, в Mathcad предусмотрены опции выравнивания регионов (и математических, и текстовых) по левому краю вдоль вертикальной линии и по верхнему краю вдоль горизонтальной. Для выравнивания выделите сначала несколько регионов и нажмите одну из двух кнопок Глава 2. Редактирование документов 57 выравнивания (рис. 2.32), или воспользуйтесь командой Format / Align Regions (Формат/ Выравнивание регионов) и выберите в открывающемся подменю (рис. 2.33) либо Across (Горизонтально), либо Down (Вертикально) .

–  –  –

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

Примечание При попытке выровнять регионы может возникнуть ситуация, когда они станут перекрываться. В этом случае Mathcad задаст вопрос в диалоговом окне "Selected regions may overlap. Align selected regions?" (Выбранные регионы могут перекрываться. Выровнять их?). Если нажать в этом диалоге кнопку Cancel (Отмена), то операция выравнивания будет отменена .

–  –  –

Обновление вида документа Редактор Mathcad — довольно сложная программа, и в результате работы в нем на поверхности документа может время от времени появляться "мусор" — лишние символы, которых на самом деле в документе нет. Если вы подозреваете, что имеете дело именно с такой ситуацией, выполните команду View/ Refresh (Вид/ Обновить) или нажмите клавиши Ctrl+R .

В результате все лишние символы должны исчезнуть .

Поиск и замена Находясь в Mathcad, несложно организовать поиск символа, фрагмента или слова в документе (рис.

2.35):

1. Выполните команду Edit/ Find (Правка/ Найти) или нажмите клавиши CtrI+F для вызова диалога Find (Поиск) .

2. Введите в поле Find what (Найти) в верхней части диалога искомый текст .

3. Укажите, если это необходимо, опции поиска, устанавливая или снимая флажки:

• Match whole word only (Искать совпадение только слов целиком);

Match case (Учитывать регистр);

• Find in Text Regions (Искать в текстовых областях);

• Find in Math Regions (Искать в математических областях) .

4. При необходимости задайте направление поиска переключателем Up (Вверх) или Down (Вниз) .

5. Нажмите кнопку Find Next (Найти) для поиска места, где указанный символ встречается в следующий раз .

6. Чтобы выйти из диалога, нажмите кнопку Cancel. Вы переместитесь в найденное место документа .

–  –  –

Похожим образом можно автоматически заменить одни символы в документе другими (рис. 2.36):

1. Выберите меню Edit/ Replace (Правка/ Заменить) или нажмите клавиши Ctrl+H для вызова диалога Find (Поиск) .

2. Введите текст, подлежащий замене, в поле Find what (Найти) в открывшемся диалоге Replace (Заменить) .

3. Введите текст для замены в поле Replace with (Заменить) .

4. Укажите, если это необходимо, рассмотренные выше опции поиска .

5. Нажмите одну из кнопок:

Find Next (Найти) — для поиска следующего вхождения указанного • символа;

Replace (Заменить) — для замены следующего найденного символа • другим;

Replace All (Заменить все) — для замены всех символов в документе, • удовлетворяющих критериям поиска;

• Cancel — для выхода из диалога Replace .

–  –  –

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

Примечание Орфография проверяется только внутри текстовых регионов .

Если в процессе проверки Mathcad обнаружит слово, отсутствующее в его словаре, оно будет выделено в документе, а пользователь увидит диалоговое окно Check Spelling (Проверка орфографии), показанное на рис. 2.37 .

Часть I. Общие сведения

–  –  –

В диалоговом окне Check Spelling находятся следующие элементы:

О Not Found (Нет в словаре) — указание на то, что слово отсутствует в словаре. Проверить написание слова придется самостоятельно и затем ввести правильный вариант в поле ввода;

• Change To (Заменить на) — предложение наиболее близких слов из словаря для исправления. Выберите правильную замену из предложенного списка;

• Change (Заменить) — нажмите эту кнопку, чтобы заменить слово в документе на исправленное;

П Ignore (Пропустить) — оставить слово в документе неизменным;

О Add (Добавить) — оставить слово в документе и, кроме того, добавить его в словарь Mathcad, чтобы впоследствии он интерпретировал его как правильное;

О Cancel (Отмена) — оставить все как есть и выйти из диалогового окна, закончив проверку орфографии .

2.5. Печать документа Чтобы распечатать экземпляр активного документа на принтере, нажмите клавиши Ctrl+P или кнопку с изображением принтера на стандартной панели инструментов .

Для более активного управления процессом печати служат следующие пункты меню File (Файл):

• Page Setup (Параметры страницы) — опции страницы вывода активного документа на печать (стандартный размер страницы, тип подачи бумаги, поля);

• Print Preview (Просмотр) — предварительный просмотр на экране вывода на печать активного документа;

Глава 2. Редактирование документов 61 П Print (Печать) — печать активного документа с возможностью выбора принтера (если установлено несколько принтеров), смены установок принтера (таких, как качество печати, разрешение, количество печатных копий документа и диапазон печатаемых страниц) .

Отметим, что нажатие кнопки печати на панели инструментов приводит к мгновенной распечатке всего активного документа с текущими опциями печати и установками принтера .

2.6.Посылкадокумента по электронной почте Послать документ по электронной почте можно с помощью почтового приложения (например, Microsoft Outlook), присоединяя файл с документом Mathcad к письму обычным образом. Но, кроме того, отправить активный документ по электронной почте легко, и не выходя из Mathcad. Для этого выберите команду File/ Send (Файл/ Отправить), в результате чего сразу появится окно New Message (Новое сообщение), изображенное на рис. 2.38 с автоматически присоединенным к нему файлом Mathcad. Пользователю остается лишь ввести в соответствующие поля окна электронный адрес получателя, тему и текст письма (последние два пункта необязательны) и отправить письмо .

–  –  –

Л ( Примечание Для использования этой опции компьютер должен быть подключен к Интернету и на нем должно быть предварительно установлено соответствующее почтовое приложение .

ГЛАВА 3 Вычисления Эта глава посвящена основам вычислений в Mathcad. Она содержит все необходимые сведения о применении переменных и функций, операторов присваивания, численного вывода и символьного вывода (см. разд. 3.1), а также других операторов (см. разд. 3.2). В заключение описываются основные средства управления процессом вычислений в Mathcad (см. разд. 3.3) и говорится несколько слов о том, каким образом происходит выдача сообщений об ошибках при вычислениях (см. разд. 3.4) .

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

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

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

3.1.2. Присваивание переменным значений

Чтобы присвоить переменной новое значение, например переменную х сделать равной 10:

1. Введите в желаемом месте документа имя переменной, например х .

2. Введите оператор присваивания с помощью клавиши : или нажатием соответствующей кнопки Definition (Присваивание) на панели инструментов Calculator или Evaluation (Выражения), как показано на рис. 3.1 .

Часть I. Общие сведения

3. Введите в появившийся местозаполнитель новое значение переменной (ю) .

–  –  –

Результат перечисленных действий показан в листинге 3.1 .

(" Примечание ) Кнопка оператора присваивания для удобства помещена сразу на две панели Calculator (Калькулятор) и Evaluation (Выражения) .

Листинг 3.1 .

Присваивание переменной численного значения х:= 10 Ввести новое значение переменной возможно как в виде числа, так и в виде математического выражения, содержащего другие переменные (листинг 3.2) и функции (см. следующие разделы), а также в виде строкового выражения (листинг 3.3.). В последнем случае будет создана переменная s не численного, а строкового типа .

Листинг 3.2 .

Присваивание переменной вычисленного значения выражения

–  –  –

| Листинг 3.3. Присваивание переменной строкового значения s := "Hello, " Если переменная с некоторым именем создается в данном документе впервые, то для ввода оператора присваивания, вместо двоеточия, допускается использовать символ равенства "=", который Mathcad автоматически заменит символом присваивания .

Глава 3. Вычисления 65 ( Примечание В некоторых случаях это невозможно, в частности, когда значение присваивается переменной, имя которой зарезервировано Mathcad .

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

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

Не вполне соответствующий общепринятому математическому стилю вид оператора присваивания (не =, а :=) является, на самом деле, компромиссом, связанным с назначением Mathcad как системы программирования .

Этот оператор показывает, что он действует, в отличие от других, не слева направо, а справа налево, поскольку значение (справа) задается переменной (слева). И если непосвященного математика внешний вид этого оператора может ввести в некоторое заблуждение, то пользователю Mathcad он прямо говорит о действии, выполняемом в данном месте документа: значение переменной не выводится на экран (о чем говорит знак =), а некоторое значение присваивается (:=) данной переменной .

Для подготовки отчетов, тем не менее, может потребоваться изменить отображение оператора присваивания с принятых по умолчанию символов ":=" на символ равенства. Это делается для конкретного оператора присваивания с помощью пункта View Definition As контекстного меню (рис. 3.2) либо для всего документа с помощью команды Tools / Worksheet Options / Display (Сервис / Опции документа / Отображение) (см. разд. "Управление отображением некоторых операторов"гл. 2) .

–  –  –

3.1.3. Функции

Функции в Mathcad записываются в обычной для математика форме:

• f ( х,... ) — функция;

• f — имя функции;

• х,... — список переменных .

Легче всего ввести написание функции в документ при помощи клавиатуры .

В Mathcad формально можно разделить функции на два типа:

• встроенные функции;

• функции, определенные пользователем .

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

3.1.4. Определение функции пользователя Для того чтобы определить функцию пользователя, например f (х,у)= (х+у) :

1. Введите в желаемом месте документа имя функции (f) .

2. Введите левую скобку "(", имена переменных через запятую х, у и правую скобку ")". При вводе левой скобки и запятой автоматически будут появляться соответствующие местозаполнители .

3. Введите оператор присваивания с панели инструментов или нажатием клавиши : .

4. Введите в появившийся местозаполнитель выражение, определяющее функцию x -cos (х+у), пользуясь клавиатурой или панелями инструментов .

Результат ввода иллюстрируется листингом 3.4 .

–  –  –

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

1. Введите это выражение, например ху .

2. Нажмите клавишу = .

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

i Листинг 3.5. Вычисление выражения :,....„„., „..„,i.,.......,..,..,...„„...J.,..,...,„„.„,., J,,,.. 1 s i..!

х:=10 у : = ( х - З ) 50+ 1 х У = IX 10 х = 10 Заметьте, что, перед тем как вычислить значение математического выражения, Вы обязаны определить значение каждой входящей в него переменной (две первых строки листинга 3.5). Вычисляемое выражение может содержать любое количество переменных, операторов и функций. Вывод текущего значения той или иной переменной приведен в последней строке листинга 3.5, а значения функции — в листингах 3.6 и 3.7 .

–  –  –

Внимание!

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

Так происходит потому, что значения аргумента заданы непосредственно в строке вычисления функции. Если же определить функцию f fx) так, как это сделано в листинге 3.8, то она будет зависеть от значения переменной у в момент определения f (х) (т. е. у=5), поскольку у не входит в список аргументов f ! х ). Фактически (х) =x 2 'cos (х+5). Даже если где-нибудь ниже в программе пользователь переопределит значение у, Mathcad все равно будет помнить функцию f ( x ) как выражение x 2 c o s (х+5) (листинг 3.9) .

–  –  –

Вводя знак равенства для вычисления математических выражений в Mathcad, Вы фактически применяете оператор вычисления или численного вывода (numerical evaluation). Его можно ввести также нажатием кнопки со знаком равенства на одной из панелей инструментов: Calculator (Калькулятор) или Evaluation (Выражения) (см. рис. 3.1). Оператор численного вывода означает, что все вычисления проводятся с числами, а различные встроенные алгоритмы реализуются соответствующими численными методами .

3.1.6. Символьный вывод Наряду с численным выводом, в Mathcad имеется возможность символьного, или аналитического, вычисления значения выражения. Для символьных вычислений имеется ряд специальных средств, которые будут детально рассмотрены позднее (см. гл. 5), самое простое из них — это оператор символьного вывода (symbolic evaluation). Он обозначается символом -» и в большинстве случаев применяется точно так же, как оператор численного вывода, однако внутреннее различие между действием этих двух операторов огромно. Если численный вывод — это в обычном смысле этого слова "запрограммированный" расчет по формулам и численным методам, скрытый от глаза пользователя, то символьный вывод — результат работы системы искусственного интеллекта, встроенной в Mathcad и называемой символьным процессором. Работа символьного процессора также невидима (и, чаще всего, даже трудно представима) пользователю и заключается в анализе самого текста математических выражений. Конечно, гораздо более узкий круг формул можно рассчитать символьно, хотя бы потому, что, вообще говоря, относительно не такая большая часть математических задач допускает аналитическое решение .

Чтобы попытаться вычислить символьно математическое выражение, например в- s i n ( a r c s i n ( c • х)), где в,с,х — некоторые переменные:

1. Введите это выражение: в • sin (as in (с - х)) .

2. Введите оператор символьного вывода сочетанием клавиш Ctrl+., либо нажатием соответствующей кнопки (рис. 3.4) на панели Symbolic (Символика) или Evaluation (Выражения) .

–  –  –

После этого справа от символа оператора символьного вывода появится определенное аналитически значение выражения (листинг. 3.10) либо сообщение об ошибке "No answer found" (Ответ не найден). Если символьному процессору Mathcad не удается аналитически упростить выражение, то оно будет выдано справа от знака — в том же виде, что и слева .

Листинг 3.10 .

Символьный вывод выражения

–  –  –

I Листинг 3.11. Символьный вывод выражения, которое не удалось упростить х ' С О Е ( х + у ) - * Х " • C O S ( Х + у) Внимание!

Присмотритесь внимательнее к листингам 3.10 и 3.11: для символьного вывода не требуется предварительно определять переменные, входящие в левую часть выражения! Если же переменным были все-таки присвоены ранее некоторые значения, символьный процессор просто подставит их в упрощенную формулу и выдаст результат с учетом этих значений (см. в качестве примера два следующих листинга — 3.12 и 3.13) .

Точно так же, как рассчитываются численно значения функций, можно вычислять их и с помощью символьного процессора. Сравните соответствующие результаты, которые представлены в листинге 3.12 (конечно, символьный и численный ответы равны: 9 • cos(8)=-i.3i). Аналогично можно символьно выводить значения переменных. Например, присвоить некоторой переменной значение функции или сложного выражения (листинг 3.13, вторая строка) и затем вывести значение переменной в символьном виде .

Листинг 3.12 .

Численный и символьный вывод значения функции f ( х ) :- х • c o s ( х + 5

–  –  –

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

3.1.7. Допустимые имена переменных и функций

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

• большие и маленькие буквы — Mathcad различает регистр: так, имена х и х определяют разные переменные. Кроме того, Mathcad различает и шрифт, например имена х и х воспринимаются как разные;

П числа от 0 до 9;

П символ бесконечности (клавиши Ctrl+Shift+Z);

П штрих (клавиши CtrI+F7);

• греческие буквы — они вставляются с помощью панели Greek (Греческие символы);

• символ подчеркивания;

П символ процента;

• нижний индекс .

Внимание!

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

Теперь рассмотрим ограничения на имена переменных и функций:

П имя не может начинаться с цифры, символа подчеркивания, штриха или процента;

• символ бесконечности должен быть только первым в имени;

• все буквы в имени должны иметь один стиль и шрифт;

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

72 Часть I. Общие сведения

• Mathcad не различает имен переменных и функций: если сначала определить функцию f(x, а потом переменную f, то в оставшейся части документа будет утерян доступ к функции f (x) .

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

Во-первых, имя, составленное из любых символов и заключенное в квадратные скобки, Mathcad будет воспринимать корректно (рис. 3.5, сверху) .

Например, чтобы ввести имя [а+Ь]:

1. Нажмите клавиши Ctrl+Shift+J — появится пара квадратных скобок с местозаполнителем внутри .

2, Введите в местозаполнитель последовательность любых символов, например а+Ь .

–  –  –

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

Например, для ввода имени а+ь:

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

2. Нажмите клавиши Ctrl+Shift4-K для перехода в специальный "текстовый" режим редактирования,

3. Введите последовательность любых символов (+) .

4. Еще раз нажмите клавиши Ctrl+Shift+K, чтобы вернуться в обычный режим редактирования. Теперь можно продолжать ввод допустимых символов в имя (Ь) .

Результат этих действий показан в нижней строке рис. 3.5. Если требуется, чтобы имя начиналось со специального символа (средняя строка рис. 3.5), то необходимо выполнить все пункты 1—4, вводя в начале имени произвольный допустимый символ, а по завершении ввода просто стирая его .

Глава 3. Вычисления 73

3.2. Операторы Каждый оператор в Mathcad обозначает некоторое математическое действие в виде символа. В полном согласии с терминологией, принятой в математике, ряд действий (например, сложение, деление, транспонирование матрицы и т. п.) реализован в Mathcad в виде встроенных операторов, а другие действия (например, sin, erf и т. п.) — в виде встроенных функций. Каждый оператор действует на одно или два числа (переменную или функцию), которые называют операндами. Если в момент вставки оператора одного или обоих операндов не хватает, то недостающие операнды будут отображены в виде местозаполнителей. Символ любого оператора в нужное место документа вводится одним из двух основных способов:

П нажатием соответствующей клавиши (или сочетания клавиш) на клавиатуре;

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

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

( Примечание ^ Везде в этом разделе будем рассматривать только второй способ вставки оператора. Те же, кто предпочитает использовать клавиатуру, найдут перечень горячих клавиш в приложении 2 .

Выше мы рассмотрели особенности применения трех операторов: присваивания (см. разд. 3.1.2), численного (см. разд. 3.1.5) и символьного вывода (см .

разд. 3.1.6). Разберем в данном разделе действие прочих операторов Mathcad и возможности определения операторов пользователя .

3.2.1. Арифметические операторы Операторы, обозначающие основные арифметические действия, вводятся с панели Calculator (Калькулятор), показанной на рис. 3.6:

• сложение и вычитание: + — (листинг 3.14);

П умножение и деление: • / + (листинг 3.15);

О факториал: ! (листинг 3.16);

модуль числа: |х| (листинг 3.16);

О О квадратный корень:

-у] (листинг 3.17);

–  –  –

\ Листинг 3.14. Операторы сложения, вычитания и отрицания 1 + з - 7 - -з

- ( - 2 ) =2 Листинг 3.15. Операторы Деления и умножения — -2.5 5 + 2=2.5 2 — - 2.75 1•2 •3 •4•5 =120 Листинг 3.16. Операторы факториала и модуля 5! = 120 1—3.01 - 10 Листинг 3.17. Операторы извлечения корня и возведения в степень

–  –  –

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

Напомним, что в редакторе Mathcad можно выбирать отображение оператора умножения (см. разд. "Управление отображением некоторых операторов" гл. 2).

Для того чтобы поменять его:

1. Щелкните правой кнопкой мыши на выражении, содержащем оператор умножения .

2. Выберите первый пункт появившегося контекстного меню View Multiplication As (Представление умножения),

3. В подменю выберите пункт, соответствующий стилю представления умножения: в виде обычной точки (Dot), точки с уменьшенным расстоянием от него до сомножителей (Narrow Dot), толстой точки (Large Dot), крестика (X), без символа с небольшим расстоянием между сомножителями (Thin Space), вообще вместе (No Space). Чтобы просмотреть, как будет выглядеть выражение в двух последних представлениях, нужно снять с него выделение. Чтобы вернуть представление по умолчанию, выберите в подменю контекстного меню пункт Default .

Некоторых операторов, например таких, как оператор комплексного сопряжения, на панелях инструментов нет (листинг 3.19). Его приходится вводить исключительно с клавиатуры нажатием клавиши " в пределах математической области .

Листинг 3.19 .

Оператор комплексного сопряжения

–  –  –

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

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

76 Часть I. Общие сведения Для того чтобы вычислить неопределенный интеграл, следует заполнить два местозаполнителя: подынтегрального выражения и переменной интегрирования .

–  –  –

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

Перечислим основные вычислительные операторы и приведем простейшие примеры их применения:

О дифференцирование и интегрирование;

• производная (листинг 3.20);

• N-Я производная (листинг 3.20);

• определенный интеграл (листинг 3.21);

• неопределенный интеграл (листинг 3.21) .

П суммирование и вычисление произведения;

• сумма (листинг 3.22);

• произведение (листинг 3.22);

• сумма ранжированной переменной (листинг 3.23);

• произведение ранжированной переменной (листинг 3.23) .

О пределы (листинг 3.24);

• двусторонний;

• левый;

• правый .

Глава 3. Вычисления 77

–  –  –

ва ввода кнопка с символом бесконечности помешена на ту же панель инструментов Calculus (Вычисления). Пример вставки символа бесконечности в задаче поиска бесконечного ряда приведен на рис. 3.8 .

3.2.3. Логические операторы Результатом действия логических, или булевых, операторов являются только числа 0 (если логическое выражение, записанное с их помощью, истинно) или 1 (если логическое выражение ложно). Чтобы вычислить значение логического выражения, например 1=1 (рис. 3.9):

1. Вставьте с панели Boolean (Булевы операторы) соответствующий оператор = .

2. В появившиеся местозаполнители вставьте операнды (две единицы) .

3. Нажмите клавишу -, чтобы получить ответ .

–  –  –

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

Перечислим логические операторы:

• больше (Greater Than) xy;

• меньше (Less Than) х у ;

П больше или равно (Greater Than or Equal) xy;

• меньше или равно (Less Than or Equal) xy;

• равно (Equal) x= y ;

• не равно (Not Equal to) x*y;

• и (And) хлу;

• или (Or) xvy;

О исключающее или (Exclusive or) x©y;

• отрицание (Not) -ix .

Часть I. Общие сведения Примечание Операнды в логических выражениях могут быть любыми числами. Однако если оператор по смыслу применим только к о и 1, то любое неравное нулю число по умолчанию принимается равным 1. Но в результате все равно может получиться либо 0, либо 1. Например, -и(-о.ЗЗ) =о .

Примеры действия логических операторов приведены в листингах 3.25 и 3.26 .

–  –  –

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

3.2.4. Матричные операторы Матричные операторы предназначены для совершения различных действий над векторами и матрицами. Поскольку большинство из них реализует численные алгоритмы, о них будет подробно рассказано в части III (см. гл. 9) .

3.2.5. Операторы выражения Почти все вычислительные операторы были рассмотрены выше (см. разд. 3.1) .

Они сгруппированы на панели Evaluation (Выражения) .

• Оценить численно (Evaluate Numerically) = (см. разд. 3.1.5) П Вычислить символьно (Evaluate Symbolically) — (см. разд. 3.1.6) П Присваивание (Definition) := (см. разд. 3.1.2) П Глобальное присваивание (Global Definition) = Рассмотрим различие между операторами обычного присваивания и глобального присваивания (процесс его вставки в документ показан на рис. 3.10) .

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

Листинг 3.27 .

Действие операторов присваивания и глобального присваивания х= 5 х:=10 х = 10 х= 5 х=5

–  –  –

Как видно из листинга 3.27, обычное, или локальное, присваивание переменной х действует от момента х:=ю до момента глобального присваивания х = 5. Вообще говоря, Mathcad анализирует документы на предмет присваивания переменных в два прохода: сначала распознаются все операторы глобального присваивания, и все выражения в документе сверху вниз и слева направо вычисляются в соответствии с ними, а при втором проходе в том же порядке анализируются операторы локального присваивания, и все выражения вычисляются с поправкой на них. Приведем важный пример взаимодействия глобального и локального присваивания (листинг 3.28) .

] Листинг 3.28. Взаимодействие глобального и локального присваивания !

х= 5 х:=10 х= 10

–  –  –

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

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

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

–  –  –

Примечание Оператор глобального присваивания можно отображать не только в виде тождественного равенства, но и как обычный знак равенства. Для этого вызовите на операторе контекстное меню и в подменю пункта View Definition As выберите пункт Equal (Равенство) .

3.2.6. Создание оператора пользователя Запросы взыскательного пользователя могут отнюдь не исчерпываться набором встроенных операторов Mathcad. Для вставки в документы заранее созданных операторов пользователя применяется панель Evaluation (Выражения) .

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

Это удобно делать с помощью коллекции символов, находящейся в справочной информации Mathcad. Выберите в верхнем меню Help / QuickSheets (Справка / Быстрые шпаргалки) и войдите затем в самый последний раздел Extra Math Symbols (Дополнительные символы) открывшегося содержания Шпаргалок. Там Вы увидите целую коллекцию символов, любой из которых можно просто перетащить указателем мыши в нужное место документа .

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

Глава 3. Вычисления 83 Создание бинарного оператора

Чтобы создать бинарный оператор, например реализующий действие х • у :

1. Введите имя оператора, например, bin .

2. Наберите знак скобки (, затем список из двух операндов через запятую, х,,, у, затем закрывающую скобку ) .

3. Введите оператор присваивания : .

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

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

Например, чтобы создать оператор с именем %, реализующий перевод доли числа в проценты и сводящийся к умножению его на 100 (листинг 3.30):

1. Введите имя оператора. Для этого нажмите клавиши а, Ctrl+ +Shift+K,, эквивалентный o.oi .

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

Листинг 4.5 .

Значения математических констант

–  –  –

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

Системные переменные (system variables) D TOL — точность численных методов (см. часть III);

• — точность выполнения выражений, используемая в некоторых CTOL численных методах (см. часть III);

• — номер начального индекса в массивах (см. разд. 4.3.1);

ORIGIN

• — установка формата данных при выводе в файл;

PRNPRECISION

— установка формата столбца при выводе в файл;

П PRNCOLWIDTH

• CWD — строковое представление пути к текущей рабочей папке .

Часть I. Общие сведения Предустановленные значения системных переменных перечислены в листинге 4.6. Их можно поменять в любой части документа, присвоив соответствующей переменной новое значение. Кроме того, переопределение значения переменной для всего документа производится при помощи команды Tools / Worksheet Options / Built-in Variables (Сервис / Опции документа / Встроенные переменные) в диалоговом окне Worksheet Options (Опции документа ), приведенном на рис. 4.2. Чтобы в любой момент вернуть значения по умолчанию, нажмите кнопку Restore Defaults (Восстановить установки по умолчанию) .

–  –  –

Рис. 4.2. Вкладка Built-in Variables диалога Worksheet Options 4.1.4. Строковые выражения Значением переменной или функции может быть не только число, но и строка, состоящая из любой последовательности символов, заключенной в кавычки (листинг 4.7). Для работы со строками в Mathcad имеется несколько встроенных функций (см. разд. "Строковые функции"гл. 10) .

Глава 4. Типы данных 99 | ЛИСТИНГ 4 .

7.

ВВОД Й ВЫВОД СТррК :;

s := "Hello, " concat ( s, " world! " ) = "Hello, world! " у Примечание^ Совершенно аналогичным образом можно определять пользовательские функции строкового типа .

4.2. Размерные переменные В Mathcad числовые переменные и функции могут обладать размерностью .

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

4 2 1 Созданиеразмернойпеременной.. .

Чтобы создать размерную переменную, определяющую, например, силу тока в 10 А:

1. Введите выражение, присваивающее переменной i значение ю: i:=io .

2. Сразу после ввода ю введите символ умножения "*" .

3. Находясь в области местозаполнителя, выберите команду Insert / Unit (Вставка / Единицы) либо нажмите кнопку с изображением мерного стакана на стандартной панели инструментов, либо клавиши Ctrl+U (рис. 4.3) .

4. В списке Unit (Единица измерения) диалогового окна Insert Unit (Вставка единицы измерений) выберите нужную единицу измерения Ampere (A) .

5. Нажмите кнопку ОК .

Если Вы затрудняетесь с выбором конкретной единицы измерения, но знаете, какова размерность переменной (в нашем случае это электрический ток), то попробуйте выбрать ее в списке Dimension (Размерность) диалогового окна Insert Unit (Вставка единицы измерений) (рис. 4.4) .

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

Просмотреть вставку единиц измерения можно и без выхода из диалогового окна Insert Unit, нажимая вместо кнопки ОК кнопку Insert (Вставить) .

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

Часть I. Общие сведения

–  –  –

4.2.2. Работа с размерными переменными Работая с размерными переменными, приготовьтесь к тому, что Mathcad будет постоянно контролировать корректность расчетов. Например, нельзя складывать переменные разной размерности, в противном случае (рис. 4.6) будет получено сообщение об ошибке "The units in this expression do not match" (Размерности в этом выражении не совпадают). Тем не менее, позволяется складывать, например, амперы с килоамперами (см. рис. 4.9) .

Глава 4. Типы данных 101 :=10-А

–  –  –

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

Листинг 4.8 .

Расчеты с рс

–  –  –

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

Примечание Можно включить автоматический перевод единиц измерения в более простые единицы. Для этого перейдите в диалоговое окно Result Format (Формат результата) на вкладку, посвященную размерностям, с помощью команды Format / Result / Unit Display (Формат/ Результат/ Отображение размерности). Установите в ней флажок Simplify units when possible (Упрощать единицы, когда это возможно) .

–  –  –

4.2.3. Выбор системы единиц Как легко заметить, во всех примерах этого раздела вставлялись единицы системы измерения SI. Об этом можно было судить как по перечню самих единиц, так и по недоступному списку System (Система) в диалоге Insert Unit (Вставка единицы измерений) с выбранным пунктом SI. Сменить систему единиц во всем документе можно, выполнив команду Tools / Document Options (Сервис / Опции документа) и переходя на вкладку Unit System (Система единиц). В ней следует выбрать один из переключателей, соответствующий желаемой системе .

4.2.4. Определение новой размерности Чтобы определить новую (пользовательскую) единицу измерения, достаточно присвоить ее выражение через используемые размерности переменной с соответствующим именем. Пример создания новой единицы измерения "наноампер" приведен в листинге 4.9 .

–  –  –

дить вручную с клавиатуры (как это сделано для новой единицы ПА ВО второй строке листинга 4.9) .

4.3. Массивы Массивами (arrays) называют упорядоченные последовательности чисел или элементов массива. Доступ к любому элементу массива возможен по его индексу, т. е. номеру в последовательности чисел (в листинге 4.10 а — это массив, а г — его элемент). Применение массивов чрезвычайно эффективно в математических расчетах .

–  –  –

а1 = 1.4

В Mathcad условно выделяются два типа массивов:

П векторы (одноиндексные массивы, листинг 4.10), матрицы (двухиндексные, листинг 4.11) и тензоры (многоиндексные);

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

–  –  –

3.7 0,0 = 0. 1,0 = 3.7 4.3.1. Доступ к элементам массива Доступ ко всему массиву осуществляется по имени векторной переменной .

Например, последовательность символов "а", " = " в листингах 4.10 и 4.11 приведет к выводу соответствующего вектора или матрицы. В Mathcad имеются и операторы, и встроенные функции, которые действуют на векторы и матрицы целиком (они рассматриваются в гл. 9), например, транспонирование, матричное умножение и т. д .

104 Часть I, Общие сведения Над элементами массива можно совершать действия как над обычными числами. Нужно только правильно задать соответствующий индекс или сочетание индексов массива. Например, чтобы получить доступ к нулевому элементу вектора а из листинга 4.10:

1. Введите имя переменной массива (а) .

2. Нажмите кнопку Subscript (Нижний индекс) со значком х п на панели Matrix (Матрица) либо введите [ .

3. В появившийся справа снизу от имени массива местозаполнитель введите желаемый индекс (о) .

Если после этого ввести знак численного вывода, то справа от него появится значение нулевого элемента вектора, как показано во второй строке листинга 4.10 .

Чтобы получить доступ к элементу многоиндексного массива (например элементу а 1 г 0 матрицы а из листинга 4.11):

1. Введите имя переменной массива (а) .

2. Перейдите к вводу нижнего индекса, введя [ .

3. Введите в местозаполнитель индекса первый индекс (l), запятую "," и в появившийся после запятой местозаполнитель введите второй индекс (о) .

В результате будет получен доступ к элементу, как показано в предпоследней строке листинга 4.11 .

В рассмотренных листингах нумерация индексов массивов начинается с нуля, иными словами, первый элемент массива имеет индекс о. Стартовый индекс массива задается системной переменной ORIGIN, которая по умолчанию равна нулю. Если Вы привыкли нумеровать элементы векторов и матриц с единицы, присвойте этой переменной значение 1 (листинг 4.12). Обратите внимание, что в этом случае попытка выяснить значение нулевого элемента вектора приводит к ошибке, поскольку его значение не определено .

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

Листинг 4.12 .

Изменение нумерации индексов массивов ORIGIN : = 1

–  –  –

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

Например, для создания ранжированной переменной s с элементами 0,1,2,3,4,5:

1. Поместите курсор ввода в нужное место документа .

2. Введите имя переменной (s) и оператор присваивания ":" .

3. Нажмите кнопку Range Variable (Ранжированная переменная) на панели Matrix (Матрица), показанную на рис. 4.9, либо введите символ точки с запятой с клавиатуры .

4. В появившиеся местозаполнители (рис. 4.9) введите левую и правую границы диапазона изменения ранжированной переменной о и 5 .

Рис. 4.9. Создание ранжированной переменной Результат создания ранжированной переменной показан на рис. 4.10 .

Чтобы создать ранжированную переменную с шагом, не равным i, например, 0,2,4,6,8:

1. Создайте ранжированную переменную в диапазоне от о до 8 (см .

рис. 4.9) .

2. Поместите линии ввода на значение начала диапазона (о) .

3. Введите запятую .

4. В появившийся местозаполнитель (рис. 4.11) введите значение шага изменения ранжированной переменной (2) .

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

Часть I. Общие сведения

–  –  –

Чаше всего ранжированные переменные используются:

П при параллельных вычислениях (листинги 4.13 и 4.14);

• для присвоения значений элементам других массивов (листинги 4.14 и 4.15) .

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

Листинг 4.13 .

Ранжированная переменная при параллельных вычислениях

–  –  –

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

108 Часть I. Общие сведения 4.3.3. Создание массивов

Существует несколько способов создания массива:

ввод всех элементов вручную с помощью команды Insert Matrix;

• определение отдельных элементов массива;

П создание таблицы данных и ввод в нее чисел;

• применение встроенных функций создания массива (см. гл. 9)\ создание связи с другим приложением, например Excel или MATLAB;

О

• чтение из внешнего файла данных;

П импорт из внешнего файла данных .

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

Создание матрицы командой Insert Matrix

Самый простой и наглядный способ создания вектора или матрицы заключается в следующем:

1. Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица) (рис. 4.12) либо клавиши Ctrl+M, либо выберите пункт меню Insert / Matrix (Вставка / Матрица) .

2. В диалоговом окне Insert Matrix (Вставка матрицы) задайте целое число столбцов и строк матрицы, которую хотите создать. Например, для создания вектора 3x1 введите показанные на рис. 4.12 значения .

3. Нажмите кнопку ОК или Insert (Вставить) — в результате в документ будет вставлена заготовка матрицы с определенным числом строк и столбцов (рис. 4.13) .

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

Добавление в уже созданную матрицу строк или столбцов производится точно так же:

1. Выделите линиями ввода элемент матрицы, правее и ниже которого будет осуществлена вставка столбцов и (или) строк .

2. Вставьте в него матрицу, как было описано выше. При этом допускается задание числа столбцов или строк равным нулю (рис. 4.14) .

3. Заполните местозаполнители недостающих элементов матрицы .

Глава 4, Типы данных 109

–  –  –

На рис. 4.14 и 4.15 показаны результаты последовательной вставки в матрицу столбца и строки после определения соответствующего числа столбцов и строк в диалоге Insert Matrix и нажатия в нем кнопки Insert (Вставить) .

–  –  –

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

Листинг 4.16 .

Использование переменных и функций при определении матрицы х:=3

–  –  –

0.141 Создание массива определением его отдельных элементов

Массив можно определить следующим образом:

• присваивая значения непосредственно отдельным элементам массива;

П применяя ранжированные переменные (см. листинг 4.15) .

Любой из этих способов позволяет присвоить нужное значение как всем элементам массива (см. листинг 4.15), так и части из них, либо даже одному-единстве иному элементу. В последнем случае создается массив, размерность которого задается индексами введенного элемента (листинг 4.17), а неопределенным элементам по умолчанию присваиваются нулевые значения .

–  –  –

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

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

–  –  –

О 0 99 О О 0 0 0 0-7 Создание тензора Определение отдельных элементов — удобный способ создания тензоров (многоиндексных массивов). В Mat head имеется непосредственная возможность работы только с векторами и матрицами. Тем не менее, можно создать тензор путем определения вложенного массива (nested array). Для этого необходимо присвоить каждому элементу матрицы значение в виде другого вектора или матрицы (листинг 4.19). Пользователь должен лишь позаботиться о корректности задания индексов тензора и не запутаться в индексировании вложенных матриц (последняя строка листинга) .

–  –  –

Обратите внимание, что Mathcad по умолчанию не отображает трехмерную структуру тензора (предпоследняя строка листинга 4.19), а вместо этого показывает информацию о размерах каждого элемента матрицы s. Развернуть вложенные массивы можно с помощью команды Format / Result / Display Options (Формат / Результат / Опции отображения), устанавливая флажок Expand Nested Arrays (Разворачивать вложенные массивы) на вкладке Display Options (Опции отображения) .

Часть I. Общие сведения 4.3.4. Отображение вывода векторов и матриц Вы, вероятно, обратили внимание, что матрицы, векторы и ранжированные переменные отображались в различных примерах по-разному. Это связано с автоматическими установками отображения матриц, принятыми в Mathcad по умолчанию. Существуют два стиля отображения массива: в форме матрицы и в форме таблицы (рис. 4.16) .

1 = б Рис. 4.16. Отображение массивов 8 в форме матрицы (слева) и таблицы (справа) Изменение стиля отображения какого-либо массива выполняется командой Format / Result (Формат / Результат), вызывающей диалог Result Format (Формат результата). В этом диалоге следует перейти на вкладку Display Options (Опции отображения) (рис. 4.17) и в списке Matrix display style (Стиль отображения матриц) выбрать один из стилей:

П Automatic (Авто) — стиль выбирается Mathcad;

• Matrix (Матрица);

G Table (Таблица) .

–  –  –

наведите в нем указатель мыши на пункт Alignment (Выравнивание) и в подменю выберите тип выравнивания .

%,\ .

–  –  –

В диалоговом окне Result Format (Формат результата), помимо стиля отображения матрицы, можно задать стиль отображения тензоров (вложенных массивов). Для того чтобы отображать тензоры в стиле, показанном на рис. 4.19, установите флажок Expand nested arrays (Разворачивать вложенные массивы). Чтобы отображать их в свернутой форме (см. листинг 4.19), снимите этот флажок .

–  –  –

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

О десятичное (decimal), например 13478.74559321;

с порядком (exponential notation), например i. 348хю4 .

• Выбор формата вывода числовых данных осуществляется при помощи диалогового окна Result Format (Формат результата). Оно вызывается командой Format / Result (Формат / Результат) .

4.4.1. Формат результата

Управление представлением числа в десятичном представлении или представлении с порядком осуществляется при помощи следующих параметров:

G количество отображаемых десятичных знаков (decimal places) после точки. Например, число 122,5587 с четырьмя десятичными знаками при отображении с двумя знаками будет выглядеть как 122,56;

• отображение или скрытие незначащих нулей (trailing zeros) — опция, позволяющая показывать или скрывать незначащие нули в десятичном представлении числа, т. е. выводить, к примеру, "1,5" вместо "1,500" (даже если установлено количество десятичных знаков, равное 3);

П порядковый порог (exponential threshold), при превышении степени 10 которого число будет показываться с порядком. Например, при пороге 3 число 122,56 будет отображаться как десятичное, а при пороге 2 — уже как"1,23х102";

–  –  –

• кроме того, число с порядком может представляться в эквивалентных видах: "1,23хЮ2" или с порядком в инженерном формате (engineering format); "1.23Е+002" .

В Malhcad имеется несколько типов форматов, в каждом из которых разрешается изменение различных параметров представления числа. Формат выбирается на вкладке Number Format (Формат числа) диалогового окна Result Format (Формат результата) (рис. 4.20) .

Глава 4. Типы данных 115 122 .

5889 = 1.226Х 10 2

–  –  –

Основной (general) формат Этот формат принят при выводе чисел по умолчанию. Можно управлять и количеством отображаемых десятичных знаков (поле Number of decimal places), и порядковым порогом (поле Exponential threshold). При превышении порога число отображается с порядком (как показано на рис. 4.20). Несколько примеров вывода одного и того же числа в общем формате показано в листинге 4.21. В левой колонке приведены числа с порядковым порогом, равным 3, и количеством десятичных знаков (сверху вниз) 3, 4, 5, соответственно. Для нижнего числа установлен флажок отображения незначащих нулей. В правой колонке сгруппированы числа с порядковым порогом от 1 до 4 (сверху вниз) .

Листинг 4.21 .

Основной формат результата

–  –  –

Инженерный (engineering) формат Числа отображаются только с порядком, причем обязательно кратным 3;

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

Дробный (fraction) формат Этот формат сильно отличается от предыдущих, представляя число в виде дроби (рис. 4.21). Причем можно управлять как точностью представления числа с помощью поля Level of accuracy (Уровень точности), так и задать модификацию этого формата — отображение числа в виде целой и дробной части (как показано на рис. 4.21 внизу слева) посредством установки флажка Use mixed numbers (Смешанные числа) .

Вид одного и того же числа в различных форматах приведен в листинге 4.22. В первой строке показан десятичный формат, во второй строке — научный с тремя десятичными знаками, в третьей — инженерный также с тремя десятичными знаками. В последних двух строках представлен дробный формат: в предпоследней с уровнем точности 5, в последней — 10. К тому же, для выражения последней строки установлен флажок Use mixed numbers (Смешанные числа) .

–  –  –

4.4.2. Округление малых чисел до нуля Mathcad автоматически округляет малые числа до нуля (листинг 4.23). Допускается установка порогового значения округления (в степенях 10), отдельно для действительной и мнимой части числа. При этом числа, по модулю меньшие порога, отображаются в виде нуля .

Внимание!

Помните, что это касается только отображения чисел. В памяти компьютера они хранятся корректно .

Листинг 4.23 .

Представление близких к нулю чисел =0 2. 1 5 -10 3.4 + i • ю " U = 3.4

-0.0000000000000001 = 0

Чтобы изменить пороговые значения:

1. Щелкните на любом пустом месте документа .

2. Войдите в диалоговое окно Result Format (Формат результата): Format / Result (Формат / Результат) .

3. Перейдите на вкладку Tolerance (Точность) .

4. Установите пороговые значения для действительного нуля в поле Zero threshold (Порог нуля) и мнимого нуля в поле Complex threshold (Комплексный порог нуля) .

5. Нажмите кнопку ОК .

–  –  –

LiJJ Рис. 4.23. Просмотр точного значения числа в строке состояния Изменение порога мнимого нуля возможно и в режиме редактирования формулы (рис. 4.22), но изменение действительного порога нуля при этом недоступно .

Просмотреть число в точном представлении можно, нажав клавиши Ctrl+Shift+N. В этом случае на строке состояния (в самой нижней части окна Mathcad, слева) будет на короткое время выведен результат с максимальной точностью (рис. 4.23) .

4.4.3. Вывод чисел в других системах счисления Аналогично вводу чисел в других системах, счисления (см. разд. 4.1.1), вывести результат также возможно в виде десятичного, двоичного, восьмеричного или шестнадцатеричного числа (листинг 4.24, сверху вниз) .

Листинг 4.24. Вывод чисел в других системах счисления47 = 4747 =101111b47 - 57о47 = 2fh

Чтобы задать систему счисления, выберите команду Format / Result / Display Options (Формат/ Результат/ Опции отображения), а затем желаемый элемент списка Radix (Система счисления) (рис. 4.24). При отображении чисел в других системах счисления также доступно форматирование их представления на вкладке Number Format (Формат числа) того же диалога Result Format (Формат результата). В листинге 4.25 приведено несколько примеров форматирования чисел в двоичном представлении .

Глава 4. Типы данных 119

–  –  –

47 = 1.100bx 10b 101b Примечание Мы рассмотрели в этой главе основные принципы наиболее простого численного ввода и вывода данных. О более впечатляющих формах ввода-вывода (графики, анимация, ввод-вывод в файлы) рассказывается в последней части книги .

4.5. Элементы управления (controls) Одна из редко используемых возможностей Mathcad — ввод данных при помощи общеупотребительных элементов управления (такие, как поле ввода, ползунковый регулятор и т. п.). Очевидно, что такой способ ввода удобен, если Вы занимаетесь разработкой расчетов, которые предназначены для непрофессиональных пользователей Mathcad .

В Mathcad 11 имеются следующие элементы управления (рис. 4.25):

О Check Box (флажок проверки);

• Radio Button (переключатель);

П Push Button (кнопка);

• Slider (ползунковый регулятор);

• Text Box (поле текстового ввода);

П List Box (список) .

Часть I. Общие сведения

–  –  –

Как видно из рис. 4.25, элементы управления в Mathcad используются для присваивания переменным значений, которые определяются действиями пользователя над элементами управления. К примеру, на рис. 4.26 два флажка проверки определяют переменные хо и xl. Если флажок проверки выставлен, переменная принимает значение 1, а если снят — о .

–  –  –

Для того чтобы вставить элемент управления в документ, можно использовать либо команду меню Insert/ Controls (Вставка/ Элемент управления), либо панель инструментов Controls (Элементы управления), которую можно вызвать при помощи пункта Toolbars / Controls (Панели инструментов / Элементы управления) меню View (Вид). После нажатия кнопки с пиктоГлава 4. Типы данных 121 граммой нужного элемента управления новый элемент управления появляется в документе вместе с местозаполнителем, который следует заменить именем переменной .

Чтобы отредактировать свойства самого элемента управления, следует вызвать на нем контекстное меню и выбрать в меню пункт Properties (Свойства). Большинство свойств имеет интуитивный смысл, и Вам будет несложно управлять характеристиками ввода данных посредством регулировки параметров самих элементов управления. Дополнительную информацию об использовании элементов управления Вы сможете найти в специальном справочном пособии, доступном по команде Help / Developer's Reference (Справка / Руководство разработчика) .

ЧАСТЬ II

ТОЧНЫЕ ВЫЧИСЛЕНИЯ

ГЛАВА 5 Символьныевычисления В данной главе рассматриваются возможности символьного процессора Mathcad. Он позволяет решить многие задачи математики аналитически, без применения численных методов и, соответственно, без погрешностей вычислений. В начале главы коротко говорится о путях проведения символьных вычислений в редакторе Mathcad (см. разд. 5.1), а основное содержание главы посвящено организации символьных вычислений для решения конкретных задач математики. Mathcad позволяет проводить широкий спектр аналитических преобразований, таких, как алгебраические и матричные операции (см. разд. 5.2), основные действия математического анализа (см .

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

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

5.1. Способы символьных вычислений Символьные вычисления в Mathcad можно осуществлять в двух различных вариантах:

D с помощью команд меню;

Q с помощью оператора символьного вывода —, ключевых слов символьного процессора и обычных формул (в справочной системе Mathcad этот способ называется символьными вычислениями в реальном времени — live symbolic evaluation) .

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

( Примечание J В символьных вычислениях допускается использование большинства встроенных функций Mathcad .

Для символьных вычислений при помощи команд предназначено главное меню Symbolics (Символика), объединяющее математические операции, которые Mathcad умеет выполнять аналитически (рис. 5.1). Для реализации второго способа применяются все средства Mathcad, пригодные для численных вычислений (например, панели Calculator, Evaluation и т. д.), и специальная математическая панель инструментов, которую можно вызвать на экран нажатием кнопки Symbolic Keyword Toolbar (Панель символики) на панели Math. На панели Symbolic (Символические) находятся кнопки, соответствующие специфическим командам символьных преобразований (рис.5.2). Например, таким, как разложение выражения на множители, расчет преобразования Лапласа и другим операциям, которые в Mathcad нельзя проводить численно и для которых, соответственно, не предусмотрены встроенные функции .

–  –  –

Рассмотрим оба типа символьных вычислений на простом примере разложения на сомножители выражения sin (2-х) .

Первый способ (с помощью меню) .

1. Введите выражение s in (2 -х) .

2. Выделите его целиком (см. рис. 5.1) .

3. Выберите в главном меню пункты Symbolics / Expand (Символика / Разложить) .

После этого результат разложения выражения появится чуть ниже в виде еще одной строки (рис. 5.3) .

–  –  –

Внимание!

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

В данном случае преобразование было применено ко всему выражению s i n (2-х). Если же выделить часть формулы, как показано на рис. 5.4, то соответствующее преобразование будет отнесено к выделенной части (нижняя строка на этом рисунке) .

–  –  –

Второй способ символьных преобразований (с помощью оператора —») .

1. Введите выражение s i n ( 2 х ) .

2. Нажмите кнопку Expand (Разложить) на панели Symbolic .

–  –  –

3. Введите в местозаполнитель после появившегося ключевого слова expand (рис. 5.5, сверху) имя переменной х либо нажмите клавишу Del, чтобы просто удалить местозаполнитель .

4. Введите оператор символьного вывода -^ .

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

Оператор символьного вывода, как Вы помните, можно ввести в редакторе Mathcad несколькими способами: нажатием кнопки - на любой из панелей Evaluation (Выражения) или Symbolic (Символика) либо сочетанием клавиш Ctrl+.. Результат символьного разложения выражения показан на рис 5.5, внизу .

Внимание!

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

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

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

Глава 5. Символьные вычисления 129 Листинг 5 .

1. Символьные преобразования

–  –  –

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

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

–  –  –

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

1. Введите выражение .

2. Выделите выражение целиком или его часть, которую нужно упростить .

3. Выберите команду Symbolics / Simplify (Символика / Упростить) .

[mc5.7.mcd] [a] Eile dit Vjev* insert Fgimat lools 1 Symbolics Window Help

–  –  –

Для упрощения выражения при помощи оператора символьного вывода используйте ключевое слово simplify (листинг 5.2). Не забывайте, если некоторым переменным, входящим в выражение, ранее были присвоены некоторые значения, то они будут подставлены в него при выполнении символьного вывода (листинг 5.3) .

–  –  –

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

Глава 5. Символьные вычисления 131 : Листинг 5 .

4. Упрощение выражения с числами ч/З simplify V3-01 simplify -»1.7349351572897472412 5.2.2. Разложение выражений (Expand) Операция символьного разложения, или расширения, выражений противоположна по смыслу операции упрощения. В ходе разложения раскрываются все суммы и произведения, а сложные тригонометрические зависимости разлагаются с помощью тригонометрических тождеств. Разложение выражений производится путем выбора команды Symbolics / Expand (Символика / Разложить) либо использованием вместе с оператором символьного вывода ключевого слова expand. Применение операции разложения было подробно рассмотрено в разд. 5.1 (см. рис. 5.3—5.6 и листинг 5.1) .

5.2.3. Разложение на множители (Factor) Разложение выражений на простые множители производится при помощи команды Symbolics / Factor (Символика / Разложить на множители) (рис. 5.8) либо использованием вместе с оператором символьного вывода ключевого слова factor (листинг 5.5). Эта операция позволяет разложить полиномы на произведение более простых полиномов, а целые числа — на простые сомножители. Применяя команду меню, не забывайте перед ее вызовом выделить все выражение или его часть, которую планируете разложить на множители .

–  –  –

Чтобы привести подобные слагаемые с помощью оператора символьного вывода (листинг 5.6):

1. Введите выражение .

2. Нажмите кнопку Collect на панели Symbolic (Символика) .

3. Введите в местозаполнитель после вставленного ключевого слова coll e c t имя переменной, относительно которой требуется привести подобные слагаемые (в первой строке примера из листинга 5.6 это переменная х, во второй — у) .

4. Введите оператор символьного вывода - .

5. Нажмите клавишу Enter .

Глава 5. Символьные вычисления 133 Примечание После ключевого слова c o l l e c t допускается задание нескольких переменных через запятую .

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

–  –  –

3. Выполните команду Symbolic / Polynomial Coefficients (Символика / Коэффициенты полинома) .

В результате под выражением появится вектор, состоящий из полиномиальных коэффициентов. Первым элементом вектора является свободный член а 0, ВТОРЫМ — a i, И Т. Д .

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

Чтобы вычислить полиномиальные коэффициенты с помощью оператора символьного вывода:

1. Введите выражение .

2. Нажмите кнопку Coeffs на панели Symbolic (Символика) .

3. Введите в местозаполнитель после вставленного ключевого слова coeffs аргумент полинома .

4. Введите оператор символьного вывода —» .

5. Нажмите клавишу Enter .

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

Листинг 5.7 .

Вычисление коэффициентов полинома

–  –  –

5.2.6. Ряды и произведения

Чтобы вычислить символьно конечную или бесконечную сумму или произведение:

1. Введите выражение, используя панель Calculus (Вычисления) для вставки соответствующих символов суммирования или произведения (см. разд. "Вычислительные операторы" гл. 3). При необходимости введите в качестве предела ряда символ бесконечности (клавиши Ctrl+Shift+Z) .

2. В зависимости от желаемого стиля символьных вычислений выберите команду Symbolics / Simplify (Символика / Упростить) или введите оператор символьного вывода -» .

Примеры численного и символьного вычисления рядов и произведений приведены в листингах 5.9 и 5.10 .

–  –  –

5.2.7. Разложение на элементарные дроби (Convert to Partial Fractions) Чтобы разложить сложную дробь на более простые дроби, следует либо выполнить команду Symbolics / Variable / Convert to Partial Fractions (Символика / Переменная / Разложить на элементарные дроби) (рис. 5.11), либо указать ключевое слово parfrac (листинг 5.11). Применяя первый способ (меню), не забывайте перед выбором его команды выделить переменную, по которой будет производиться разложение, а если используется второй способ (с оператором символьного вывода), то имя переменной следует указать после ключевого слова parfrac. В общем, последовательность действий при разложении на дроби та же самая, что и обычно (см., например, разд. 5.2.4) .

–  –  –

5.2.8. Подстановка переменной (Substitute)

Очень удобная возможность символьных вычислений — это операция подстановки значения переменной в выражение. При помощи меню подстановка производится следующим образом (рис. 5.12):

1. Выделите значение переменной, которое необходимо подставить в некоторое выражение. Значение переменной может быть любым выражением Глава 5. Символьные вычисления 137 относительно любых переменных (на рис. 5.12 в качестве подстановки взята самая первая строка документа) .

2. Скопируйте значение переменной в буфер обмена, например, нажатием клавиш Ctrl+C или кнопки Сору (Копировать) на панели инструментов Standard (Стандартная) .

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

4. Выполните команду Symbolics / Variable / Substitute (Символика / Переменная / Подставить) .

Результат этих действий иллюстрируется нижней строкой в документе на рис. 5.12 .

Mathcad - [pic5.12.mcc))

–  –  –

Для осуществления той же операции в совокупности с оператором символьного вывода используйте ключевое слово s u b s t i t u t e, которое вставляется в документ одноименной кнопкой на панели Symbolic (Символика) .

После ключевого слова s u b s t i t u t e необходимо ввести в местозаполнители логическое выражение, показывающее, какую именно переменную какой формулой следует заменить (листинг 5.12) .

–  –  –

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

Кроме того, имеется ряд специфичных матричных операций, которые можно организовать либо с помощью пункта меню Symbolics / Matrix (Символика / Матрица), либо с помощью нескольких кнопок на панели Symbolic (Символика), относящихся к матрицам (см. рис. 5.2).

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

• Transpose (Транспонирование);

• Invert (Обратная матрица);

• Determinant (Определитель) .

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

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

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

Примечание Символьный поиск предела функции описан в разд. "Вычислительные операторы" гл. 3) .

Глава 5. Символьные вычисления 139

–  –  –

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

5.3.2. Интегрирование(Integrate) Для вычисления неопределенного интеграла от некоторого выражения по определенной переменной выделите в выражении переменную и выполните команду Symbolics / Variable / Integrate (Символика / Переменная / Интегрировать) (рис. 5.14). Вычисленное аналитическое представление неопределенного интеграла появится ниже. При этом результат может содержать как встроенные в Mathcad функции (см. гл. 10 и приложение 3), так и другие спецфункции, которые нельзя непосредственно рассчитать в Mathcad, но символьный процессор "умеет" выдавать их в качестве результата некоторых символьных операций .

–  –  –

5.3.3. Разложение в ряд (Expand to Series) С помощью символьного процессора Mathcad возможно получить разложение выражения в ряд Тейлора по любой переменной х в точке х=о, т. е .

представить выражение в окрестности точки х суммой вида a o +aix+a 2 x 2 +a 3 x 3 +... Здесь a i ~ некоторые коэффициенты, не зависящие от х, но, возможно, являющиеся функциями других переменных, входящих в исходное выражение. Если выражение имеет в точке х=о особенность, то соответствующее разложение называют рядом Лорана .

Чтобы разложить выражение в ряд:

1. Введите выражение .

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

3. Выполните команду Symbolics / Variable / Expand to Series (Символика / Переменная / Разложить в ряд) (рис. 5.15) .

4. В появившемся диалоговом окне (рис. 5.16) введите желаемый порядок аппроксимации (Order of Approximation) и нажмите кнопку ОК .

Результат разложения появится под выражением (рис. 5.17) .

Внимание!

Не забывайте, что разложение строится только в точке х=о. Чтобы получить разложение в другой точке х=а, можно, к примеру, подставить вместо переменной х значение х-а (см. разд. 5.2.8) .

Глава 5. Символьные вычисления 141

–  –  –

К+ 2 [ 120 2 • * Для разложения в ряд альтернативным способом, с помощью оператора символьного вывода, используйте ключевое слово series, вставляя его одноименной кнопкой панели Symbolic (Символика). После ключевого слова series, через запятую, указывается имя переменной, по которой производится разложение, и порядок аппроксимации (листинги 5.13 и 5.14). Сравнение функции и ее разложений в ряды с разными порядками аппроксимации (для к=ь=1) иллюстрируется рис. 5.18. Видно, что разложение в ряд хорошо работает в окрестности точки х-о, а по мере удаления от нее все сильнее и сильнее отличается от функции .

Часть II. Точные вычисления Листинг 5.13. Разложение выражения в ряд с разным порядком аппроксимации

–  –  –

5.3.4. Решение уравнений (Solve)

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

1. Введите выражение .

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

Глава 5. Символьные вычисления 143

3. Выберите в меню Symbolics (Символика) пункт Variable/ Solve (Переменная / Решить) (рис. 5.19) .

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

–  –  –

5.4. Интегральные преобразования Интегральные преобразования, по определению, ставят в соответствие некоторой функции f (х) другую функцию от другого аргумента F(M). Причем это соответствие f(x)-F(w) задается интегральной зависимостью. Символьный процессор Mathcad позволяет осуществлять три вида интегральных преобразований функций — преобразование Фурье, Лапласа и Z-преобразование. Наряду с прямыми преобразованиями, имеется возможность совершать любое из этих трех обратных преобразований, т. е. F(w)-f (x) .

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

Часть II. Точные вычисления Приведем примеры символьного расчета каждого из трех интегральных преобразований .

5.4.1. Преобразование Фурье (Fourier) Преобразование Фурье представляет функцию f(x) в виде интеграла по гармоническим функциям, называемого интегралом Фурье:

F(ffl) = Г f {х) • e x p (-icox) d x .

–  –  –

Аналитический расчет преобразования Фурье при помощи меню показан на рис. 5.20. В листинге 5.15 приведены два примера вычисления прямого преобразования Фурье с применением ключевого слова fourier и оператора символьного вывода —. Листингом 5.16 иллюстрируется обратное преобразование Фурье одной из функций предыдущего листинга .

–  –  –

5.4.2. Преобразование Лапласа (Laplace)

Преобразованием Лапласа называют интеграл от f (х) следующего вида:

F(s) = j f(x) • exp(-sx) d x .

о Рассчитывается преобразование Лапласа совершенно аналогично Фурьепреобразованию (см. предыдущий раздел). Примеры преобразования Лапласа приведены в листинге 5.17 .

–  –  –

5.5. Дополнительные возможности символьного процессора Выше в этой главе были разобраны основные приемы символьных вычислений в Mathcad. Они, как правило, были показаны на простых примерах, которые иллюстрировали ту или иную символьную операцию. Тем не менее, при проведении разнообразных (и численных тоже) расчетов в Mathcad возможности символьного процессора можно использовать более эффективно. Отметим некоторые из них .

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

Несмотря на их идентичность слева от знака символьного вывода, полученные результаты потличаются. Это связано с тем, что в листинге 5.20 предварительно переменной х присвоено значение 4. Поскольку значеншг переменных влияют на символьные вычисления, то результат учитывает подстановку вместо х числа 4 .

Листинг 5.19 .

Функция пользователя в символьных вычислениях

–  –  –

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

Совет Используйте меню Symbolics (Символика), если требуется "сиюминутно" провести некоторые аналитические действия с выражением и получить ответ в общем виде, не учитывающем текущие значения переменных, входящих в выражение .

–  –  –

Аналогичные по действию ключевые слова float и complex можно использовать в документах, вводя их с панели Symbolic (Символика). Ключевое слово float применяется вместе со значением точности вывода результата с плавающей точкой (листинг 5.21). С помощью слова complex можно преобразовывать выражения как в символьном виде, так и с учетом численных значений, если они были ранее присвоены переменным (несколько примеров приведено в листинге 5.22) .

! Листинг 5.21. Вычисление выражения с плавающей точкой

–  –  –

5 5 3 Последовательности.. .

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

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

Глава 5. Символьные вычисления 149

–  –  –

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

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

Несмотря на небольшое число операторов, язык программирования Mathcad позволяет решать самые различные, в том числе и довольно сложные, задачи и является серьезным подспорьем для расчетов (см. разд. 6.3) .

6.1. Программирование без программирования В ранних версиях Mathcad встроенного языка программирования не было .

Чтобы применять привычные операции проверки условий и организовывать циклы, приходилось изобретать причудливую смесь из встроенных функций 6 3ак 484 Часть II. Точные вычисления условия if (листинг 6.1) и u n t i l и комбинаций ранжированных переменных (листинг 6.2) .

Примечание j В связи с устоявшимися традициями применения языка программирования функцию u n t i l настоятельно не рекомендуется использовать в дальнейшей работе (тем не менее, она действует в Mathcad 11, но отнесена к устаревшим функциям) .

–  –  –

f[x) : if (х 0, "negative", "positive" ) = f(1) = "positive" f(-1) = "negative" 1 Листинг 6.2. Организация цикла при помощи ранжированной переменной

–  –  –

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

–  –  –

6.2. Язык программирования Mathcad Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Programming (Программирование), которую можно вызвать на экран нажатием кнопки Programming Toolbar на панели Math (Математика), как показано на рис. 6.1. Большинство кнопок этой панели Глава 6. Программирование 153 выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен .

Изложим последовательно основные составные элементы языка программирования Mathcad и рассмотрим примеры его использования .

6.2.1. Что такое программа?

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

Сравните определение функции f (х) из листинга 6.1 с определением f (х) с помощью программного модуля (листинг 6.3) .

Листинг 6.3, Функция условия, определенная с помощью программы

–  –  –

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

• возможность применения циклов и условных операторов;

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

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

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

Часть II. Точные вычисления 6.2.2. Создание программы (Add Line)

Чтобы создать программный модуль, например, представленный в предыдущем разделе (см. листинг 6.3):

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

2. При необходимости вызовите на экран панель инструментов Programming (Программирование) (см. рис. 6.1) .

3. Нажмите на этой панели кнопку Add Line (Добавить линию) .

4. Если приблизительно известно, сколько строк кода будет содержать программа, можно создать нужное количество линий повторным нажатием кнопки Add Line (Добавить линию) соответствующее число раз (на рис. 6.2 показан результат трехкратного нажатия) .

5. В появившиеся местозаполнители введите желаемый программный код, используя программные операторы. В рассматриваемом примере в каждый местозаполнитель вводится строка, например, "positive" (рис. 6.3), затем нажимается кнопка If (Если) на панели Programming (Программирование) и в возникший местозаполнитель вводится выражение хо (рис. 6.4) .

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

Внимание!

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

–  –  –

6.2.3. Разработка программы Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line (Добавить линию). Для этого следует предварительно поместить на нужное место внутри программного модуля линии ввода. Например, расположение линии ввода на строке, показанной на рис. 6.5, приведет к появлению новой линии с местозаполнителем перед этой строкой. Если передвинуть вертикальную линию ввода из начала строки (как на рис. 6.5) в ее коп-:, то новая линия появится после строки. Если выделить строку не целиком, а лишь некоторую ее часть (рис. 6.6), то это повлияет на положение в программе новой строки кода (результат нажатия кнопки Add Line показан на рис. 6.7) .

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

–  –  –

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

–  –  –

В режиме выполнения программы, а это происходит при любой попытке вычислить f (x), выполняется последовательно каждая строка кода. Например, в предпоследней строке листинга 6.4 вычисляется f ( i ). Рассмотрим работу каждой строки кода этого листинга .

1. Поскольку х=1, то условие хо не выполнено, и в первой строке ничего не происходит .

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

3. Функции f (х) присваивается значение f (x) ="positive" .

4. Условие хюоо не выполнено, поэтому значение "big positive" не присваивается f (х), она так и остается равной строке "positive" .

5. Последняя строка не выполняется, т. к. одно из условий (хо) оказалось истинным, и оператор otherwise (т. е. "иначе") не понадобился .

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

6.2.4. Локальное присваивание (г-) Язык программирования Mathcad не был бы эффективным, если бы не позволял создавать внутри программных модулей локальные переменные, которые "не видны" извне, из других частей документа. Присваивание в пределах программ, в отличие от документов Mathcad, производится с Глава 6. Программирование 157_

–  –  –

Локальное присваивание иллюстрируется листингом 6.5. Переменная z существует только внутри программы, выделенной вертикальной чертой. Из других мест документа получить ее значение невозможно .

–  –  –

6.2.5. Условные операторы (if, otherwise) Действие условного оператора if состоит из двух частей. Сначала проверяется логическое выражение (условие) справа от него. Если оно истинно, выполняется выражение слева от оператора if. Если ложно — ничего не происходит, а выполнение программы продолжается переходом к ее следующей строке. Вставить условный оператор в программу можно следующим образом (см. рис. 6.8):

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

2. Создайте новую строку программного кода, нажав на панели Programming (Программирование) кнопку Add Line (Добавить строку) .

3. Нажмите кнопку условного оператора if .

4. Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Boolean (Булевы операторы) .

5. Выражение, которое должно выполняться, если условие истинно, введите слева от оператора if .

6. Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя оператор if или otherwise .

Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполняться, если ни одно из условий не оказалось истинным. Примеры испольЧасть II. Точные вычисления зования операторов if и otherwise приведены в предыдущих разделах (см. листинги 6.3 и 6.4) .

–  –  –

6.2.6. Операторы цикла (for, while, break, continue) В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Чтобы вставить в программный модуль оператор цикла:

1. Создайте в программном модуле новую линию .

2. Вставьте один из операторов цикла for или while нажатием одноименной кнопки на панели Programming (Программирование) .

3. Если выбран оператор for (рис. 6.9), то вставьте в соответствующие местозаполнители имя переменной и диапазон ее значений (листинги 6.6 и 6.7), а если while — то логическое выражение, при нарушении которого должен осуществляться выход из цикла (листинг 6.8) .

–  –  –

Иногда необходимо досрочно завершить цикл, т. е. не по условию в его заголовке, а в некоторой строке в теле цикла. Для этого предназначен оператор break. Модификации листингов 6.6 и 6.8 с прерыванием цикла оператором break приведены в листингах 6.9 и 6.10, соответственно. Например в листинге 6.9, как только значение переменной цикла i достигает 2, цикл, благодаря оператору break в последней строке программного модуля, прерывается. Соответственно, значение переменной х остается равным 0+1+2=3 .

; Листинг 6.9. Оператор break внутри цикла f o r

–  –  –

Примечание ^ Чтобы четче обозначить границы завершения тела цикла, в его конце может использоваться дополнительная строка с оператором c o n t i n u e, который вводится одноименной кнопкой панели Programming. Примеры, модернизирующие листинги 6.7 и 6.8, иллюстрируются листингами 6.11 и 6.12, соответственно. Как видно, на результат программы наличие оператора c o n t i n u e не влияет .

Листинг 6.11 .

Оператор continue в конце цикла w h i l e

–  –  –

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

В качестве окончательного результата выдается последнее присвоенное значение (примеры можно найти в листингах 6.3—6.12). Чтобы подчеркнуть возврат программным модулем определенного значения, можно взять за правило делать это в последней строке программного модуля (листинг 6.13) .

Глава 6. Программирование 161 Листинг 6 .

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

–  –  –

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

Листинг 6.14 .

Применение оператора return

–  –  –

f(-1) - 1 f(2) - 4 f ( 0) = "zero" f (i) = -i" 6.2.8. Перехват ошибок (on error) Программирование в Mathcad позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение кода в каком-либо месте программного модуля способно вызвать ошибку (например деление на ноль), то эту ошибку можно перехватить с помощью оператора on error. Чтобы вставить его в программу, надо поместить линии ввода в ней в нужное положение и нажать кнопку с именем оператора on error на панели Programming (Программирование). В результате появится строка с двумя местозаполнителями и оператором on error посередине (рис. 6.10) .

Рис. 6.10. Вставка оператора перехода по ошибке Часть II. Точные вычисления В правом местозаполнителе следует ввести выражение, которое должно выполняться в данной строке программы. В левом — выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка. Приведем пример применения оператора on error (листинг 6.15) в программном модуле, который рассчитывает функцию обратного числа значению п. Если п*о, то и присвоенное значение z*o, поэтому в последней строке программы выполняется правое выражение расчета i/z. Так происходит при расчете f (-2). Если попытаться вычислить f (0} как в конце листинга, то выполнение программы, заложенной в f (щ, вызовет ошибку деления на ноль в последней строке программы. Соответственно, вместо выражения справа от оператора on error будет выполнено левое выражение, присваивающее функции f(n) строковое значение "user e r r o r : cannot divide by zero" (пользовательская ошибка: деление на ноль невозможно). Конечно, этой строке можно присвоить и текст на русском языке .

–  –  –

Оператор перехвата ошибок удобно применять в комбинации со встроенной функцией error(S). Она приводит к генерации ошибки в обычной для Mathcad форме с сообщением s. Пример усовершенствования листинга 6.15 для такого стиля обработки ошибки деления на ноль показан на рис. 6.11 .

Глава 6. Программирование 163 Обратите внимание, что сделанные изменения свелись к помещению текста сообщения об ошибке в аргумент функции error .

6.3. Примеры программирования Рассмотрим два простых примера использования программных модулей в Mathcad для численных (листинг 6.16) и символьных (листинг 6.17) расчетов. В двух приведенных листингах используется большинство операторов, рассмотренных в данной главе. Когда вы станете сами разрабатывать свои программные модули в Mathcad, не забывайте, что операторы программирования вставляются в текст программы с помощью кнопок панели инструментов Programming (Программирование). Их имена нельзя ни в коем случае просто набивать на клавиатуре, поскольку они не будут восприняты Mathcad корректно .

Примечание ) С помощью средств программирования можно создавать намного более сложные программы. Несколько примеров достаточно эффективного применения программирования вы найдете в разд. "Фазовый портрет динамической системы" гл. 11 v\ разд. "Разностные схемы для ОДУ" гл. 12 .

–  –  –

Интегрирование и дифференцирование В этой главе рассматриваются основные математические операции, к которым мы отнесли численное дифференцирование и интегрирование функций .

Интегрирование (см. разд. 7.1) и дифференцирование (см. разд. 7.2) — самые простые, с вычислительной точки зрения, операции, реализованные в Mathcad в виде операторов. Тем не менее, если расчеты выполняются с помощью вычислительного процессора, необходимо хорошо представлять себе особенности численных алгоритмов, действие которых остается для пользователя "за кадром". В тех же разделах (см. 7.1 и 7.2) упоминается и об особенностях символьных операций интегрирования и дифференцирования .

7.1. Интегрирование Интегрирование в Mathcad реализовано в виде вычислительного оператора .

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

7.1.1. Операторы интегрирования Интегрирование, дифференцирование, как и множество других математических действий, устроено в Mathcad по принципу "как пишется, так и вводится". Чтобы вычислить определенный интеграл, следует напечатать его обычную математическую форму в документе. Делается это с помощью паЧасть III. Численные методы нели Calculus (Вычисления) нажатием кнопки со значком интеграла или вводом с клавиатуры сочетания клавиш Shift+7 (или символа "&") .

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

Внимание!

Можно вычислять интегралы с одним или обоими бесконечными пределами .

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

Чтобы ввести -« (минус бесконечность), добавьте знак минус к символу бесконечности, как к обычному числу .

–  –  –

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

Листинг 7.1 .

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

–  –  –

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

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

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

2) .

Листинг 7.2 .

Интегрирование функции двух переменных по разным переменным

–  –  –

g (i) = 7.1.2. Об алгоритмах интегрирования Результат численного интегрирования — это не точное, а приближенное значение интеграла, определенное с погрешностью, которая зависит от встроенной константы TOL. Чем она меньше, тем с лучшей точностью будет найден интеграл, но и тем больше времени будет затрачено на расчеты. По Часть III. Численные методы умолчанию TOL=O.001. Для того чтобы ускорить вычисления, можно установить меньшее значение TOL .

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

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

Для этого:

1. Щелкните правой кнопкой мыши в любом месте на левой части вычисляемого интеграла .

2. В появившемся контекстном меню выберите один из четырех численных алгоритмов {рис. 7.2),

–  –  –

Обратите внимание, что, перед тем как один из алгоритмов выбран впервые, как показано на рис. 7.2, флажок проверки в контекстном меню установлен возле пункта AutoSelect (Автоматический выбор). Это означает, что алгоритм определяется Mathcad, исходя из анализа пределов интегрирования и особенностей подынтегральной функции. Как только один из алгоритмов выбран, этот флажок сбрасывается, а избранный алгоритм отмечается точкой .

Разработчиками Mathcad И запрограммированы четыре численных метода интегрирования:

О Romberg (Ромберга) — для большинства функций, не содержащих особенностей;

• Adaptive (Адаптивный) — для функций, быстро меняющихся на интервале интегрирования;

• Infinite Limit (Бесконечный предел) — для интегралов с бесконечными пределами ();

О Singular Endpoint (Сингулярная граница) — для интегралов с сингулярностью на конце. Модифицированный алгоритм Ромберга для функций, не определенных на одном или обоих концах интервала интегрирования .

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

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

П Сначала строится несколько интерполирующих полиномов, которые заменяют на интервале интегрирования подынтегральную функцию f(x). В качестве первой итерации полиномы вычисляются по 1,2 и 4 интервалам. Например, первый полином, построенный по 1 интервалу, — это просто прямая линия, проведенная через две граничные точки интервала интегрирования, второй — квадратичная парабола и т. д .

• Интеграл от каждого полинома с известными коэффициентами легко вычисляется аналитически. Таким образом, определяется последовательность интегралов от интерполирующих полиномов: i i, i 2, i i t.. .

Например, по правилу трапеций i ^ t b - a M f (a)+f (Ь)) /2 и т. д .

172 Часть Ш. Численные методы

• Из-за интерполяции по разному числу точек вычисленные интегралы ii, i 2, • • • несколько отличаются друг от друга. Причем, чем больше точек используется для интерполяции, тем интеграл от интерполяционного полинома ближе к искомому интегралу, стремясь к нему в пределе бесконечного числа точек. Поэтому определенным образом осуществляется экстраполяция последовательности i 1 ( i 2, i 4,... до нулевой ширины элементарного интервала. Результат этой экстраполяции j принимается за приближение к вычисляемому интегралу .

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

N О Чем больше количество точек интерполяции, тем ближе очередное приближение Ромберга к вычисляемому интегралу и, соответственно, тем меньше оно отличается от приближения предыдущей итерации. Как только разница между двумя последними итерациями |J M -J M ~ Х \ становится меньше погрешности TOL ИЛИ меньше T O L | J N |, итерации прерываются, и J N появляется на экране в качестве результата интегрирования .

<

Примечание Об алгоритме полиномиальной сплайн-интерполяции см.гл. 15 .

7.1.3. О расходящихся интегралах Если интеграл расходится (равен бесконечности), то вычислительный процессор Mathcad может выдать сообщение об ошибке, выделив при этом оператор интегрирования, как обычно, красным цветом. Чаще всего ошибка будет иметь тип "Found a number with a magnitude greater than 10 A 307" (Найдено число, превышающее значение ю 3 0 7 ) или "Can't converge to a solution" (He сходится к решению), как, например, при попытке вычислить интеграл f -L-dx- Тем не менее, символьный процессор справляется с этим интеградом, совершенно правильно находя его бесконечное значение (листинг 7.4) .

<

–  –  –

Листинг 7.6 .

Символьное вычисление неопределенного интеграла d x - 2 • х При попытке численного решения задачи из листинга 7.4 методом, отличным от алгоритма вычисления интегралов с бесконечными пределами (Infinite Limit), будет получено неверное решение (листинг 7.7) — вместо бесконечности выдано большое, но конечное число, немного не дотягивающее до численной бесконечности, являющейся для вычислительного процессора просто большим числом ю 3 0 7 (см. разд. "Встроенные константы" гл, 4). Отметим, что Mathcad в режиме автоматического выбора алгоритма (AutoSelect) предлагает именно алгоритм Infinite Limit .

Листинг 7.7 .

Плохо выбранный численный алгоритм неверно находит расходящийся интеграл

–  –  –

7.1.4. Кратные интегралы

Для того чтобы вычислить кратный интеграл:

1. Введите, как обычно, оператор интегрирования .

2. В соответствующих местозаполнителях введите имя первой переменной интегрирования и пределы интегрирования по этой переменной .

174 Часть lit. Численные методы

3. На месте ввода подынтегральной функции введите еще один оператор интегрирования .

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

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

Листинг 7.8 .

Символьное и численное вычисление кратного интеграла

–  –  –

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

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

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

В Mathcad П для ускорения и повышения точности численного дифференцирования функций, заданных аналитически, автоматически задействуется символьный процессор (см. разд. "Оптимизация вычислений" гл. 3) .

7.2.1. Первая производная

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

1. Определите точку х, в которой будет вычислена производная, например х:=1 .

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

"Производная" при N=O ПО определению равна самой функции, при N=I получается обычная первая производная. Листинг 7.14 демонстрирует численное и символьное вычисление второй производной. Обратите внимание, что, как и при вычислении обычной производной, необходимо перед операГлава 7. Интегрирование и дифференцирование 179 тором дифференцирования присвоить аргументу функции значение, для которого будет вычисляться производная .

| Листинг 7.14. Численное и символьное вычисление второй производной х := 0.1 d2 dx 2 cos (x) -x =1.94

–  –  –

Чтобы вычислить производную порядка выше 5-го, следует последовательно применить несколько раз оператор м-й производной, подобно тому как вводились операторы кратного интегрирования (см. разд. 7.1.4). Однако для символьных вычислений этого не потребуется — символьный процессор умеет считать производные порядка выше 5-го. Сказанное иллюстрирует листинг 7.15, в котором сначала численно, а затем символьно вычисляется седьмая производная синуса в точке х=ол .

Листинг 7.15 .

Численное и символьное вычисление седьмой производной

–  –  –

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

180 Часть III. Численные методы Из сказанного ясно, что падение точности при численном расчете высших производных может быть очень существенно. В частности, если попытаться определить девятую производную синуса, подобно идее листинга 7.15, то в качестве результата будет выдан нуль, в то время как истинное значение девятой производной равно cos (о. 1) .

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

Листинг 7.16 .

Символьное и численное вычисление частных производных

–  –  –

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

Листинг 7.17 .

Вычисление второй частной производной

–  –  –

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

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

1. Вызвать контекстное меню из области оператора дифференцирования нажатием правой кнопки мыши .

2. Выбрать в контекстном меню верхний пункт View Derivative As (Показывать производную как) .

3. В появившемся подменю (рис. 7.5) выбрать пункт Partial Derivative (Частная производная) .

–  –  –

Чтобы вернуть вид производной, принятый по умолчанию, выберите в подменю пункт Default (По умолчанию) либо, для представления ее в обычном виде — Derivative (Производная) .

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

–  –  –

Векторное поле рассчитанного градиента функции f(x,y} показано на рис. 7.7. Как можно убедиться, сравнив рис. 7.6 и 7.7, математический смысл градиента состоит в задании в каждой точке (х,у) направления на плоскости, в котором функция f (x,y) растет наиболее быстро .

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

Например, в различных областях математики (см. разд. "Жесткие системы ОДУ" гл. 11) мы сталкиваемся с проблемой вычисления якобиана (или матрицы Якобы) — матрицы, составленной из частных производных векторной функции по всем ее аргументам. Пример вычисления якобиана векторной функции f (x) векторного аргумента х приведен в листинге 7.19. В нем для Глава 7. Интегрирование и дифференцирование 183 определения частных производных якобиана каждый i-й скалярный компонент f (x)i дифференцируется символьным процессором Mathcad .

–  –  –

Тот же самый якобиан можно вычислить и несколько по-другому, если определить функцию не одного векторного, а трех скалярных аргументов f(x,y,z) (листинг 7.20) .

Листинг 7.19 .

Вычисление якобиана векторной функции векторного аргумента

–  –  –

Не забывайте, что для численного определения якобиана необходимо сначала определить точку, в которой он будет рассчитываться, т. е. вектор х в терминах листинга 7.19, или все три переменных х,у, z в обозначениях листинга 7.20 .

ГЛАВА 8 Алгебраические уравнения и оптимизация В этой главе рассматривается решение алгебраических нелинейных уравнений и систем таких уравнений .

Задача ставится следующим образом. Пусть имеется одно алгебраическое уравнение с неизвестным х f х)=о, или система N алгебраических уравнений ( х 1 (..., х м ) = О,, Xf..) — 0, где f (х.1 и f i (xx,..., х„) — некоторые функции. Требуется найти корни уравнения, т. е. все значения х, которые переводят уравнение (или, соответственно, систему уравнений) в верное равенство (равенства) .

) С Примечание Решение систем линейных уравнений, у которых все функции имеют вид f i ( x ) = a u -x 1 +a i 2 -x 2 +...+a iN 'X N, представляет собой отдельную задачу вычислительной линейной алгебры. Она рассматривается в гл. 9 .

Как правило, отыскание корней численными методами связано с несколькими задачами:

П исследование существования корней в принципе, определение их количества и примерного расположения;

• отыскание корней с заданной погрешностью тоь .

Последнее означает, что надо найти значения х0, при которых f (х„) отличается от нуля не более чем на TOL. ПОЧТИ все встроенные функции системы 186 Часть III. Численные методы Mathcad, предназначенные для решения нелинейных алгебраических уравнений, нацелены на решение второй задачи, т. е. предполагают, что корни уже приблизительно локализованы. Чтобы решить первую задачу (предварительной локализации корней), можно использовать, например, графическое представление f(x) (см. разд. 8.1) или последовательный поиск корня, начиная из множества пробных точек, покрывающих расчетную область (сканирование). Mathcad предлагает несколько встроенных функций, которые следует применять в зависимости от специфики уравнения, т. е .

свойств f (х). Для решения одного уравнения с одним неизвестным служит функция root, реализующая метод секущих (см. разд. 8.1); для решения системы — вычислительный блок Given/Find, сочетающий различные градиентные методы (см. разд. 8.3, 8.4). Если f(x) — это полином, то вычислить все его корни можно также с помощью функции poiyroots (см. разд. 8.2). Кроме того, в некоторых случаях приходится сводить решение уравнений к задаче поиска экстремума (см. разд. 8.5). Различные приемы нахождения экстремумов функций реализуются при помоши встроенных ФУНКЦИЙ Minerr, Maximize И Minimize (см. разд. 8.5, 8.6). В КОНЦе ДЭННОЙ главы рассказывается о символьном решении уравнений (см. разд. 8.7) и о возможной программной реализации эффективного метода решения серии алгебраических уравнений или задач оптимизации, зависящих от параметра (см. разд. 8.8) .

8 1 Одноуравнениесоднимнеизвестным. .

Рассмотрим одно алгебраическое уравнение с одним неизвестным х .

f(x)=0, (1) например, sin(x) -0 .

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

root(f(х),х);

П

О root(f(x),x,a,b);

• f (x) — скалярная функция, определяющая уравнение (1);

• х — скалярная переменная, относительно которой решается уравнение;

• а,ь — границы интервала, внутри которого происходит поиск корня .

Первый тип функции root требует дополнительного задания начального значения (guess value) переменной х. Для этого нужно просто предварительно присвоить х некоторое число. Поиск корня будет производиться вблизи Глава 8. Алгебраические уравнения и оптимизация 187 этого числа. Таким образом, присвоение начального значения требует априорной информации о примерной локализации корня .

Приведем пример решения очень простого уравнения sin(x)=o, корни которого известны заранее .

Листинг 8.1 .

Поиск корня нелинейного алгебраического уравнения

–  –  –

0.... .

\ \ / \ / —1 1

-2 0

–  –  –

График функции f (x)=sin(x) и положение найденного корня показаны на рис. 8.1. Обратите внимание, что, хотя уравнение имеет бесконечное количество корней хы=№л ( N = O, ± I, ± 2,... ), Mathcad находит (с заданной точностью) только один из них, х0, лежащий наиболее близко к х=о.5. Если задать другое начальное значение, например х=з, то решением будет другой корень уравнения х^тг и т. д. Таким образом, для поиска корня средствами

Mathcad требуется его предварительная локализация. Это связано с особенностями выбранного численного метода, который называется методом секущих и состоит в следующем (рис. 8.2):

1. Начальное приближение принимается за о-е приближение к корню: хо=х .

2. Выбирается шаг h=TOLx и определяется первое приближение к корню xi=xo+h. Если х=о, то принимается ъ=тоъ .

3. Через эти две точки проводится секущая — прямая линия, которая пересекает ось х в некоторой точке х2. Эта точка принимается за второе приближение .

Часть III. Численные методы

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

5. Если на каком-либо шаге оказывается, что уравнение выполнено, т. е .

If (x) |TOL, то итерационный процесс прерывается, и х выдается в качестве решения .

–  –  –

Результат, показанный на рис. 8.2, получен для погрешности вычислений, которой в целях иллюстративности предварительно присвоено значение TOL=O.5. Поэтому для поиска корня с такой невысокой точностью оказалось достаточно одной итерации. В вычислениях, приведенных в листинге 8.1, погрешность TOL^O.OOI была установлена по умолчанию, и решение, выданное численным методом, лежало намного ближе к истинному положению корня х=о. Иными словами, чем меньше константа TOL, тем ближе к нулю будет значение f (х) в найденном корне, но тем больше времени будет затрачено вычислительным процессором Mathcad на его поиск .

Примечание Соответствующий пример можно найти в Быстрых шпаргалках, на странице Ресурсов Mathcad. Он расположен в разделе "Solving Equations" (Решение уравнений) и называется "Effects of T O L on Solving Equations" (Влияние константы TOL на решение уравнений) .

Если уравнение неразрешимо, то при попытке найти его корень будет выдано сообщение об ошибке. Кроме того, к ошибке или выдаче неправильного корня может привести и попытка применить метод секущих в области локального максимума или минимума f(x). В этом случае секущая может иметь направление, близкое к горизонтальному, выводя точку следующего приближения далеко от предполагаемого положения корня. Для решения таких уравнений лучше применять другую встроенную функцию Minerr (см. разд. 8.5). Аналогичные проблемы могут возникнуть, если начальное приближение выбрано слишком далеко от настоящего решения или f (х имеет особенности типа бесконечности .

Глава 8. Алгебраические уравнения и оптимизация 189

–  –  –

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

Листинг 8.2 .

Поиск корня алгебраического уравнения в заданном интервале solution : root { sin (х), х, -1, 1) = solution ~ 0 Обратите внимание, что явный вид функции f(x) может быть определен непосредственно в теле функции root .

Когда root имеет четыре аргумента, следует помнить о двух ее особенностях:

ГЗ внутри интервала [а,Ь| не должно находиться более одного корня, иначе будет найден один из них, заранее неизвестно, какой именно;

П значения f (а) и f (Ь) должны иметь разный знак, иначе будет выдано сообщение об ошибке .

Если уравнение не имеет действительных корней, но имеет мнимые, то их также можно найти. В листинге 8.3 приведен пример, в котором уравнение x +i=o, имеющее два чисто мнимых корня, решается два раза с разными начальными значениями. При задании начального значения 0.5 (первая строка листинга) численный метод отыскивает первый корень (отрицательную мнимую единицу -i), а при начальном значении -0.5 (третья строка листинга) находится и второй корень (i) .

–  –  –

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

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

Эта возможность проиллюстрирована листингом 8.4 на примере функции двух переменных f (х, у) -х -у +з. В нем сначала решается уравнение f(x,0)=0 относительно переменной х, а потом— другое уравнение f (i,y)=o относительно переменной у .

| Листинг 8,4. Поиск корня уравнения, заданного j функцией двух переменных

–  –  –

В первой строке листинга определяется функция f (x,y), во второй и третьей — значения, для которых будет производиться решение уравнения по у и х, соответственно. В четвертой строке решено уравнение f (х,о)=о, а в последней —уравнение f (i,y)=o. He забывайте при численном решении уравнений относительно одной из переменных предварительно определить значения остальных переменных. Иначе попытка вычислить уравнения приведет к появлению ошибки "This variable or function is not defined above", в данном случае говорящей о том, что другая переменная ранее не определена. Конечно, можно указать значение других переменных непосредственно внутри функции root, беспрепятственно удалив, например, вторую и третью строки листинга 8.4 и введя его последние строки в виде root (f (x, 0),х) = и root (f u, y ),у) =, соответственно .

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

8.2. Корни полинома Если функция (х) является полиномом, то все его корни можно определить, используя встроенную функцию polyroots(v), Глава 8. Алгебраические уравнения и оптимизация 191 где v — вектор, составленный из коэффициентов полинома .

Поскольку полином N-Й степени имеет ровно N корней (некоторые из них могут быть кратными), вектор v должен состоять из N+I элемента. Результатом действия функции poiyroots является вектор, составленный из N корней рассматриваемого полинома. При этом нет надобности вводить какоелибо начальное приближение, как для функции root. Пример поиска корней полинома четвертой степени иллюстрируется листингом 8.5 .

–  –  –

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

Соответственно, последним N+I элементом вектора должен быть коэффициент при старшей степени xN .

Совет Иногда исходный полином имеется не в развернутом виде, а, например, как произведение нескольких полиномов. В этом случае определить все его коэффициенты можно, выделив его и выбрав в меню Symbolics (Символика) пункт Expand (Разложить). В результате символьный процессор Mathcad сам преобразует полином в нужную форму, пользователю надо будет только корректно ввести ее в аргументы функции p o i y r o o t s .

Во второй строке листинга 8.5 показано действие функции poiyroots. Обратите внимание, что численный метод вместо двух из трех действительных единичных корней (иными словами, кратного корня 1) выдает два мнимых числа. Однако малая мнимая часть этих корней находится в пределах погрешности, определяемой константой TOL, И не должна вводить пользователей в заблуждение. Просто нужно помнить, что корни полинома могут быть комплексными, и ошибка вычислений может сказываться как на действительной, так и на комплексной части искомого корня .

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

192 Часть Hi. Численные методы

Для смены метода:

1. Вызовите контекстное меню, щелкнув правой кнопкой мыши на слове polyroots .

2. В верхней части контекстного меню выберите либо пункт LaGuerre (Лаггера), либо Companion Matrix (Парная матрица) .

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

Для того чтобы оставить за Mathcad выбор метода решения, установите флажок AutoSelect (Автоматический выбор), выбрав одноименный пункт в том же самом контекстном меню .

–  –  –

Здесь fi(Xi,...,хм),..., f N (x 1(...,хм) — некоторые скалярные функции от скалярных переменных х!,х 2,...,хн и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Заметим, что систему (I) можно формально переписать в виде f(x)=o, (2) где х — вектор, составленный из переменных Xi,x2,...,хм, a t (х) — соответствующая векторная функция .

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

• Given — ключевое слово;

П система, записанная логическими операторами в виде равенств и, возможно, неравенств;

• Find(x 1 (...,хм) — встроенная функция для решения системы относительно переменных х 1(..., хк .

Вставлять логические операторы следует, пользуясь панелью инструментов Boolean {Булевы операторы). Если Вы предпочитаете ввод с клавиатуры, помните, что логический знак равенства вводится сочетанием клавиш Ctrl+=. Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения для всех х 1 (..., х м. Сделать это необходимо до ключевого слова Глава 8, Алгебраические уравнения и оптимизация 193 Given. Значение функции Find есть вектор, составленный из решения по каждой переменной. Таким образом, число элементов вектора равно числу аргументов Find .

В листинге 8.6 приведен пример решения системы двух уравнений .

–  –  –

g(vo, vL) = о В первых двух строках листинга вводятся функции, которые определяют систему уравнений. Затем переменным х и у, относительно которых она будет решаться, присваиваются начальные значения. После этого следует ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. Завершает вычислительный блок функция Find, значение которой присваивается вектору v. Следующая строка показывает содержание вектора v, т. е. решение системы. Первый элемент вектора есть первый аргумент функции Find, второй элемент— ее второй аргумент .

В последних двух строках осуществлена проверка правильности решения уравнений .

–  –  –

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

Графическая интерпретация рассмотренной системы представлена на рис. 8.3. Каждое из уравнений показано на плоскости XY графиком. Первое — сплошной кривой, второе — пунктиром. Поскольку второе уравнение линейное, то оно определяет на плоскости XY прямую. Две точки пересечения кривых соответствуют одновременному выполнению обоих уравнений, т. е. искомым действительным корням системы. Как нетрудно убедиться, в листинге найдено только одно из двух решений — находящееся в правой нижней части графика. Чтобы отыскать и второе решение, следует повторить вычисления, изменив начальные значения так, чтобы они лежали ближе к другой точке пересечения графиков, например x=-i, y=-i .

Рис. 8.3. Графическое решение системы двух уравнений

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

Листинг 8.7 .

Решение системы уравнений и неравенств

–  –  –

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

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

С Примечание ^ Вычислительный блок использует константу C T O L В качестве погрешности выполнения уравнений, введенных после ключевого слова G i v e n. Например, если C T O L = O. O O I, то уравнение х - Ю будет считаться выполненным и при х = ю. 0 0 1, и при х = 9. 9 9 9. Другая константа T O L определяет условие прекращения итераций численным алгоритмом (см. разд. 8.4), Значение C T O L может быть задано пользователем так же как и T O L, например, C T O L : = о. 0 1. По умолчанию принято, что C T O L = T O L = O. 0 0 1, но Вы по желанию можете переопределить их .

Особенную осторожность следует соблюдать при решении систем с числом неизвестных большим, чем число уравнений. Например, можно удалить одно из двух уравнений из рассмотренного нами листинга 8.6, попытавшись решить единственное уравнение д(х,у)=о с двумя неизвестными х и у .

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

} ( Примечание О том, как найти все решения рассматриваемой задачи, рассказывается в разд. 8.7 .

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

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

196 Часть III. Численные методы Листинг 8.8. Поиск корня уравнения с одним неизвестным с помощью функции Find

–  –  –

В чем же отличие приведенного решения от листинга 8.1 с функцией root?

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

8.4. О численных методах решения систем уравнений Если Вы решаете "хорошие" уравнения, как все те, которые были приведены в предыдущих разделах, то можете никогда не задумываться, как именно Mathcad ищет их корни. Однако даже в этом случае полезно представлять, что происходит "за кадром", т. е. какие действия совершаются в промежутке между введением необходимых условий после ключевого слова Given и получением результата после применения функции Find. Это важно хотя бы с позиций выбора начальных значений переменных перед вычислительным блоком. Рассмотрим в данном разделе некоторые особенности численных методов и возможности установки их различных параметров, которые предоставляет Mathcad .

Функция Find реализует градиентные численные методы. Покажем их основную идею на примере уравнения с одним неизвестным (х)=о для функции f (х) =хг+5х+2, график которой показан на рис. 8.4. Основная идея градиентных методов состоит в последовательных приближениях к истинному решению уравнения, которые вычисляются с помощью производной от f (х).

Приведем наиболее простую форму алгоритма, называемого методом Ньютона:

1. За нулевую итерацию принимается введенное пользователем начальное значение хо=х .

2. В точке хО методом конечных разностей вычисляется производная f'(хО) .

3. Пользуясь разложением Тейлора, можно заменить f (х) в окрестности хО касательной — прямой линией f (x)= f fxO) +f (xo)- (x-xO) .

Глава 8. Алгебраические уравнения и оптимизация 197

4. Определяется точка xi, в которой прямая пересекает ось х (см. рис. 8.4) .

5. Если (XUTOL, то итерации прерываются, и значение xi выдается в качестве решения. В противном случае xi принимается за новую итерацию, и цикл повторяется: строится касательная к f (х) в точке xi, определяется х2 — точка ее пересечения с осью х и т. д .

–  –  –

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

Mathcad предлагает три различных вида градиентных методов. Чтобы поменять численный метод:

1. Щелкните правой кнопкой мыши на названии функции Find .

2. Наведите указатель мыши на пункт Nonlinear (Нелинейный) в контекстном меню .

3. В появившемся подменю (рис. 8.5) выберите один из трех методов:

Conjugate Gradient (Сопряженных фадиентов), Quasi-Newton (Квази-Ньютоновский) или Levenberg-Marquardt (Левенберга) .

Часть III. Численные методы

–  –  –

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

Помимо выбора самого метода, имеется возможность устанавливать их некоторые параметры. Для этого нужно вызвать с помощью того же контекстного меню диалоговое окно Advanced Options (Дополнительные параметры), выбрав в контекстном меню пункты Nonlinear / Advanced options (Нелинейный / Дополнительные параметры). В этом диалоговом окне (рис. 8.6) имеется пять групп переключателей, по два в каждой .

В первой строке Derivative estimation (Аппроксимация производной) определяется метод вычисления производной Forward (Вперед) или Central (Центральная). Они соответствуют аппроксимации производной либо правой (двухточечная схема "вперед"), либо центральной (трехточечная симметричная схема) конечной разностью .

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

Глава 8. Алгебраические уравнения и оптимизация 199 Во второй строке Variable estimation (Аппроксимация переменных) можно определить тип аппроксимации рядом Тейлора .

Для рассмотренного нами в этом разделе случая аппроксимации касательной прямой линией выберите переключатель Tangent (Касательная), для более точной квадратичной аппроксимации (параболой) выберите Quadratic (Квадратичная). Следующая группа переключателей Linear variable check (Проверка линейности) позволяет в специфических задачах сэкономить время вычислений. Если Вы уверены, что нелинейности всех функций, входящих в уравнение, мало сказываются на значениях всех их частных производных, то установите переключатель Yes (Да). В этом случае производные будут приняты равными константам и не будут вычисляться на каждом шаге .

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

–  –  –

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

Наконец, последний переключатель Evolutionary (Эволюционный алгоритм), если установить его в положение Yes (Да), позволяет использовать модификацию численного метода для решения уравнений, определяемых не обязательно гладкими функциями. Как мы убедились в этом разделе, все градиентные методы, реализованные в функции Find, требуют многократного вычисления производных. Если Вы работаете с достаточно гладкими функЧасть III. Численные методы циями, то градиентные методы обеспечивают быстрый и надежный поиск корня. Для поиска корня недостаточно гладких функций одной переменной, следует либо выставить данную опцию функции Find, либо использовать метод секущих (функцию root). Помните, что правильный выбор численного метода и его параметров может помочь при решении нестандартной задачи, которая при стандартных установках может и не поддаваться решению .

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

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

1. х 1 :=с 1... х м :=с м — начальные значения для неизвестных .

2. Given — ключевое слово .

3. Система алгебраических уравнений и неравенств, записанная логическими операторами .

4. MinerrfXi хм) — приближенное решение системы относительно переменных х1#...,хм, минимизирующее невязку системы уравнений .

С Примечание В функции M i n e r r реализованы те же самые алгоритмы, что и в функции F i n d, иным является только условие завершения работы численного метода. Поэтому пользователь может тем же самым образом, с помощью контекстного меню (см. разд. 8.4), выбирать численный алгоритм приближенного решения для ФУНКЦИИ M i n e r r .

Пример использования функции Minerr показан в листинге 8.9. Как видно, достаточно заменить в вычислительном блоке имя функции на Minerr, чтобы вместо точного (с точностью до TOL) получить приближенное решение уравнения, заданного после ключевого слова Given .

Листинг 8.9 .

Приближенное решение уравнения, имеющего корень (к=о,у=О)

–  –  –

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

Тем не менее, при попытке решить его функцией Find для больших к, порядка принятых в листинге, происходит генерация ошибки "No solution was found" (Решение не найдено). Это связано с иным поведением функции f (x,y)=k-x2+y2 вблизи ее корня, по сравнению с функциями, приводимыми в качестве примеров выше в этой главе (см. рис. 8.1, 8.2) .

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

Ситуация еще более ухудшается, если наряду с корнем типа касания (см .

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

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

Рис. 8.7. График функции k-х +у



Pages:   || 2 | 3 |


Похожие работы:

«4. МНЕНИЯ О СЛАВЯНОФИЛЬСТВЕ В РУССКОЙ ЭМИГРАЦИИ Л. П. КАРСАВИН А. С. Хомя ов. Фра менты "Церковь осуществляет в жизни познание Бога, т. е. догмат, и жизнь возводит в догмат, но эта жизнь есть ее жизнь, этот догмат есть ее мысль, тожество их в самосознании Церкви". — Так писал Ю. Ф. Самарин, повторяя идею А. С. Хомяк...»

«Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования "Российский государственный профессионально-педагогический университет"ПРОБЛЕМЫ СОЦИАЛЬНОЙ АДАПТАЦИИ БЕЗ...»

«Рассмотрено Утверждаю: на педагогическом совете Г(0)БУ "Боринский ЦПД" ЦПД" ИЙ Протокол № J/ А.А.Морхов о т.J lP ? года от^^ Jg&bjidi ПОЛОЖЕНИЕ о структурном подразделении "Учебный цен...»

«Методика художественно-эстетического развития детей старшего дошкольного возраста средствами хореографии: учебно-методическое пособие для педагогов учреждений дополнительного образования и студентов Челябинск УДК 372.3:792.5(021) ББК 74.100.551.4:85.32я73 М 54...»

«Учреждение образования "Мозырский государственный педагогический университет имени И.П. Шамякина" РАЗДАТОЧНЫЙ МАТЕРИАЛ ДЛЯ ЛАБОРАТОРНЫХ ЗАНЯТИЙ ПО ДИСЦИПЛИНЕ "АНАТОМИЯ ЧЕЛОВЕКА" РАЗДЕЛ "МЫШЕЧНОЕ СТРОЕНИЕ ТЕЛА ЧЕЛОВЕКА" Мозырь Составитель кандидат сельскохозяйственных наук, заведующи...»

«КАФЕДРА ПСИХОЛОГИИ ЧЕЛОВЕКА РОССИЙСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА ИМ. А. И. ГЕРЦЕНА ИНТЕГРАТИВНЫЙ ПОДХОД К ПСИХОЛОГИИ ЧЕЛОВЕКА И СОЦИАЛЬНОМУ ВЗАИМОДЕЙСТВИЮ ЛЮДЕЙ Ма...»

«Министерство образования Республики Беларусь Учреждение образования "Гомельский государственный университет имени Франциска Скорины" ПСИХОЛОГИЯ Ощущение. Восприятие. Память. Воображение ПРАКТИЧЕСКОЕ ПОСОБИЕ для студентов специальности 1-03 04 02-02 "Социальная педагогика. Практическая психология" Cоставитель Н. Н. ДУДАЛЬ Гоме...»

«Е. Г. Лопес Российский государственный профессионально-педагогический университет, Екатеринбург Н. В. Филиппова Российский государственный профессионально-педагогический университет, Екатеринбург E. G. Lopez Russian State Vocational Pedagogic University, Yekaterinburg N. V. Filippova Russian...»

«Федеральное государственное бюджетное образовательное учреждение высшего образования ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНО-ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ПСИХОЛОГИИ Кафедра теоретической и прикладной...»

«Государственное бюджетное дошкольное образовательное учреждение детский сад № 61 комбинированного вида Кировского района Санкт-Петербурга Принято Решением Педагогического Совета образовательного учреждения Протокол № 1 от 30.08.2016 года Рабочая программа с...»

«1 Принято педагогическим советом от 17 ноября 2016 года Утверждена приказом № 055 от 17.11.2016 г. Положение об балльно-рейтинговой системе (БРС) оценивания индивидуальных результатов обучения учащихся и основных функция...»

«Сахалинская областная универсальная научная библиотека Сахалинская областная детская библиотека Новые методические материалы Аннотированныи список литературы Южно-Сахалинск Составители: В. В. Мельникова, Пак Сен Сун Редакторы: Е. К. Беляевская, М. Г. Рязанова Компьютерный набор, дизайн и вёрстка В. В. Мельн...»

«УДК 37 (091); 37 (092) К ПРОБЛЕМЕ АКТУАЛИЗАЦИИ ЭМОЦИОНАЛЬНО-ВОЛЕВЫХ ДЕТЕРМИНАНТ САМОВОСПИТАНИЯ ЛИЧНОСТИ ШКОЛЬНИКОВ В ТВОРЧЕСТВЕ В.А. СУХОМЛИНСКОГО © 2017 Н. А. Крыжская ст. преподаватель кафедры методики, педагогики и психологии профессионального образования e-mail:...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования "ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ" Ишимский педагогический институт им. П.П. Ершова (филиал) Тюменского государственного университета УТВЕРЖДАЮ Директор ИПИ и...»

«ФОМИНА СВЕТЛАНА НИКОЛАЕВНА ИНТЕГРАТИВНЫЙ ПОДХОД К ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКЕ В ВУЗЕ СПЕЦИАЛИСТОВ ПО РАБОТЕ С МОЛОДЕЖЬЮ 13.00.08 – Теория и методика профессионального образования Диссертация на соискание ученой степени доктора педагогических наук Научный консультант: доктор педагогических наук, профессор Л.В. Мардахаев...»

«государствснное автономное профессиональное образовательное учреждение Тюменской области "Тюменский медицинский колледж" (ГАПОУ ТО "Тюменский медицинский колледж") СОГЛАСОВАНО ВЕРЖДАЮ На заседании педагогического совета АПОУТО Протокол № / колледж" от _2017 г. Макарова ^2017 ИНСТРУКЦИЯ по ДЕЛОПРОИЗ...»

«Утверждаю Ректор ГБУ ДПО РО РИПК и ППРО _ Хлебунова С.Ф. "_"20г ПОЛОЖЕНИЕ о Региональном банке цифровых образовательных ресурсов Ростовской области 1. Общие положения 1.1. Региональный банк цифровых образовательных ресурсов Ростовской области (далее – Региональный банк ЦОР) располагается на сервере ГБУ ДПО РО "РИПК и ППРО" п...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования "Нижневартовский государственный университет" Факультет искусств и дизайна УТВЕРЖДАЮ Декан факультета /А.А...»

«ДИДАКТИЧЕСКИЕ ОСНОВЫ ИНДИВИДУЛИЗИРОВАННОГО ОЬУЧЕНИЯ Дидактика является одной из основных педагогических наук. Некоторые считают,что она самая главная из них. Г. Бланкерц, ведущий дидакт Германии, например, пишет, что понятия дидактики, а также постулаты по исследованиям в ее области...»

«ТТА УЗУРИДАГИ ПЕДАГОГ КАДРЛАРНИ АЙТА ТАЙЁРЛАШ ВА УЛАРНИНГ МАЛАКАСИНИ ОШИРИШ ТАРМО МАРКАЗИ “ЎЗБЕКИСТОН ОТМ ПЕДАГОГ КАДРЛАРИНИНГ МАЛАКАСИНИ ОШИРИШ ТИЗИМИ: ТАЖРИБА, ЮТУЛАР ВА РИВОЖЛАНИШ ИСТИБОЛЛАРИ” ИЛМИЙ-АМАЛИЙ АНЖУМАН МАТЕРИАЛЛАРИ Материалы научно–практической конференции "Система повышения квалификации педагогических кад...»

«УДК 159.922.1 ББК 88.53 С 32 Сергеева, Оксана. С 32 Как легко общаться с разными людьми. 50 простых правил / Оксана Сергеева. — Москва : Эксмо, 2015.  — 128 с.  — (Психология. Все по полочкам). ISBN 978-5-699-7...»

«муниципальное казенное дошкольное образовательное учреждение города Новосибирска "Детский сад № 306 комбинированного вида" (МКДОУ д/с № 306) г. Новосибирск, ул. Новая, 22; тел: 276-10-99; 276-10-01; mdou306@rambler.ru "Творческая группа,...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Забайкальский государственный университет" (ФГБОУ ВПО "ЗабГУ") Институт социальных наук, психологии и педа...»

«МУК "УГ ЦБС" Филиал № 7 и МБОУ "Лицей № 1" "Положи свое сердце у памяти.", посвященное Гуле Королевой Разработку выполнили: Иванская Т.И., Заведующая детской библиотекой МУК "УГ ЦБС" Филиал № 7, МУК "УГ ЦБС", Филиал № 7 Кисмерешкина Н.И. Библиотекарь; Назарова М.В., Заведующая библиотекой МБОУ "Лицей № 1"...»

«До свидания, Азбука!Действующие лица: Ведущий (учитель). Учащиеся 1 класса. Маша. Шапокляк. Звукомор. Баба Яга. Азбука. Звучит музыка. Входят первоклассники. Учитель: Здравствуйте, дорогие ребята, уважаемые учителя и родители! Мы рады приветствовать вас на на...»







 
2019 www.mash.dobrota.biz - «Бесплатная электронная библиотека - онлайн публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.