290 34 15MB
Russian Pages 592 Year 2007
Кудрявцев Е. М.
Mathcad 11 Полное руководство по русской версии
Москва, 2005
УДК ББК
К88
004.4 32.973.26-018.2я7 К88 Кудрявцев Е.М. Mathcad 11: Полное руководство по русской версии. – М.: ДМК Пресс, 2005. – 592 с., ил. ISBN 5-94074-175-4 В настоящем издании рассматривается универсальная интегрированная среда Mathcad 11. Mathcad – это популярнейший математический пакет. Основная черта этого пакета – простота и мощь. Все привычно и интуитивно понятно. При создании Mathcad 11 основное внимание было обращено на увеличение скорости и мощности работы системы. Цель состояла в том, чтобы улучшить ядро Mathcad, расширить и улучшить удобства работы с Mathcad. Mathcad 11 предлагает более легкую обработку данных, улучшение редактирования документов, более глубокую интеграцию с другими программными средствами, расширение математических функциональных возможностей. Он позволяет решать и анализировать широкий спектр задач в различных отраслях науки и техники, финансов и экономики, физики и астрономии, строительства и архитектуры, математики и статистики, организации производства и управления… Мощные визуальные средства Mathcad облегчают вычисления и помогают лучше понять решаемые проблемы. В данной книге вы найдете описание структуры среды, главной и инструментальных панелей, текстового, формульного редакторов и редактора графиков, встроенных функций, операторов и других элементов Mathcad, а также правила работы с системой. Издание предназначено для широкого круга читателей: учащихся, студентов, инженеров, экономистов, менеджеров и научных работников. УДК 004.4 ББК 32.973.26-018.2я7 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.
ISBN 5-94074-175-4
© Кудрявцев Е. М., 2004 © Оформление ДМК Пресс, 2005
Краткое содержание Глава 1 ИНТЕГРИРОВАННАЯ СРЕДА MATHCAD ............. 29 Глава 2 СОЗДАНИЕ И РЕДАКТИРОВАНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ, ТЕКСТА И ГРАФИКОВ В СИСТЕМЕ MATHCAD ................. 108 Глава 3 ОСНОВНОЙ ИНСТРУМЕНТАРИЙ СИСТЕМЫ MATHCAD ........................................................ 169 Глава 4 БЫСТРЫЙ ИНСТРУМЕНТАРИЙ СИСТЕМЫ MATHCAD ........................................................ 265 Глава 5 ВСТРОЕННЫЕ ФУНКЦИИ MATHCAD .................... 315 Глава 6 АНАЛИТИЧЕСКИЕ ВЫЧИСЛЕНИЯ И ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD .............................................................. 410
4
Mathcad 11
Глава 7 РЕШЕНИЕ ЗАДАЧ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ .................................. 469 Глава 8 РЕШЕНИЕ ИНЖЕНЕРНЫХ ЗАДАЧ ........................ 547
Содержание ПРЕДИСЛОВИЕ ........................................................................ 24 Глава 1 ИНТЕГРИРОВАННАЯ СРЕДА MATHCAD ............. 29 Запуск системы Mathcad ......................................................... 29 Основные функциональные компоненты ....................... 31 Структура и состав главного меню .................................... 34 Главные понятия и определения ......................................... 38 Основные типы данных в Mathcad ...................................... 44 Наиболее важные операторы Mathcad ............................ 51 Изменение вида отдельных операторов ........................ 53 Булевы операторы ...................................................................... 57 Усовершенствованные способы показа и редактирования уравнений ............................... 58 Решение уравнений в системе Mathcad ......................... 59 Аналитическое решение квадратного уравнения ................................ 59 Численное решение квадратного уравнения....................................... 60 Численное решение нелинейного уравнения ...................................... 61 Решение параметрического нелинейного уравнения ......................... 63
6
Mathcad 11 Графическое решение нелинейного уравнения .................................. 65 Определение корней полинома .......................................................... 66
Решение системы уравнений ............................................... 68 Решение системы линейных уравнений матричным методом ............. 68 Решение системы линейных уравнений с помощью функции Find ...... 71 Численное решение системы нелинейных уравнений ......................... 71 Аналитическое решение системы нелинейных уравнений .................. 73
Решение дифференциальных уравнений ...................... 74 Основные этапы решения дифференциальных уравнений ................. Аналитическое решение дифференциального уравнения .................. Решение дифференциальных уравнений с помощью функции odesolve .............................................................. Решение дифференциальных уравненийс помощью функции rkfixed ... Решение дифференциального уравнения с помощью функции Bulstoer ...............................................................
74 76 80 82 85
Вычисление определенного и неопределенного интеграла ............................................. 88 Вычисление определенного интеграла ............................................... 88 Вычисление неопределенного интеграла ........................................... 89 Вычисление интеграла методом Монте-Карло ................................... 91
Операции над матрицами и векторами ........................... 91 Формирование матрицы и вектора ..................................................... 91
Решение статистических задач ........................................... 94 Группировка статистических данных в классы .................................... 94
Корреляционно-регрессионный анализ ......................... 96 Решение общей задачи линейного программирования .......................................... 104 Постановка задачи ............................................................................ 104 Выявление основных особенностей .................................................. 104 Решение задачи в системе Mathcad .................................................. 105
Содержание
7
Глава 2 СОЗДАНИЕ И РЕДАКТИРОВАНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ, ТЕКСТА И ГРАФИКОВ В СИСТЕМЕ MATHCAD ................. 108 Общие приемы редактирования документа ............... 109 Возможные формы курсора .............................................................. 109 Выделение фрагментов выражений .................................................. 109 Специальные клавиши и комбинации клавиш для редактирования .. 111
Создание и редактирование математических выражений ................................................ 113 Создание математических выражений .............................................. 113 Создание функций пользователя ...................................................... 115 Форматирование выражений ............................................................ 116 Редактирование математических выражений ................................... 117 Перемещение и удаление выражений ............................................... 119 Формирование дискретных переменных .......................................... 120 Форматирование результатов .......................................................... 122
Создание и редактирование текста ................................ 126 Создание текстовых комментариев .................................................. 126 Редактирование текста ..................................................................... 129 Копирование и удаление фрагментов текста .................................... 129 Изменение текстового шрифта ......................................................... 133 Создание и изменение стиля текста ................................................. 134 Вставка выражений в текстовую область .......................................... 135 Создание и редактирование строковых данных ................................ 136 Установка гипертекстовой связи ...................................................... 139 Использование комбинации клавиш ................................................. 139
Создание и редактирование графиков ......................... 140 Создание и форматирование декартова графика ............................. 140 Создание и форматирование полярного графика ............................. 146
8
Mathcad 11 Удаление графической области ........................................................ 147 Перемещение и изменение размеров графической области ............ 147 Форматирование кривых графиков ................................................... 149 Создание трехмерных графиков ....................................................... 152 Анимация графика ............................................................................ 153 Вставка и импортирование графического изображения и объекта ... 155 Добавление в документ нового объекта типа ''Adobe Photoshop Image'' .......................................................... 157 Преобразование изображений ......................................................... 158
Полезные подсказки ................................................................ 160
Глава 3 ОСНОВНОЙ ИНСТРУМЕНТАРИЙ СИСТЕМЫ MATHCAD ........................................................ 169 Меню работы с файлами ....................................................... 170 Состав и структура меню .................................................................. 170 Создание нового файла .................................................................... 171 Открытие существующего файла ...................................................... 172 Закрытие текущего файла ................................................................. 173 Сохранение файла в текущем каталоге ............................................. 174 Сохранение файла в другом каталоге ............................................... 175 Сохранение файла как Web-страницы ............................................... 176 Установка параметров страницы, просмотр и печать ....................... 176 Предварительный просмотр ............................................................. 177 Печать документа .............................................................................. 177 Передача документа по электронной почте ...................................... 178 Выход из Mathcad ............................................................................. 179
Меню редактирования ........................................................... 179 Состав и структура меню .................................................................. 179 Отмена последней операции редактирования .................................. 180 Восстановление операции редактирования ..................................... 180
Содержание
9
Удаление фрагмента документа ....................................................... 180 Копирование фрагмента документа .................................................. 182 Вставка фрагмента документа .......................................................... 182 Специальная вставка фрагмента документа ..................................... 182 Удаление фрагмента документа ....................................................... 183 Выделение всех элементов документа ............................................. 183 Поиск фрагмента текста ................................................................... 183 Замена фрагмента текста ................................................................. 184 Переход к нужной странице .............................................................. 185 Установка связи объекта с приложением .......................................... 185 Ввод объекта из другого приложения ............................................... 186
Меню просмотра ....................................................................... 188 Состав и структура меню .................................................................. 188 Панели инструментов ....................................................................... 188 Установка линейки на экране ............................................................ 190 Строка состояний и границы областей ............................................. 191 Заголовок и нижний колонтитул ........................................................ 192 Выделение областей ......................................................................... 192 Обновление документа ..................................................................... 192 Изменение масштаба ........................................................................ 193
Меню управления вставкой ................................................. 193 Состав и структура меню .................................................................. 193 Построение графика ......................................................................... 193 Создание и модификация матрицы .................................................. 203 Вставка функций ............................................................................... 205 Выбор и вставка единиц измерения .................................................. 206 Вставка рисунков .............................................................................. 206 Создание скрываемой области ......................................................... 207 Вставка разрыва страниц .................................................................. 210 Выделение поля для математических выражений в текстовой области .......................................................................... 210 Создание текстовой области ............................................................ 210
10
Mathcad 11 Вставка компонентов ........................................................................ 211 Вставка данных ................................................................................. 214 Вставка элементов управления ......................................................... 215 Вставка объекта ................................................................................ 215 Вставка ссылки ................................................................................. 217 Создание гиперсвязи с другими документами .................................. 218
Меню управления форматом .............................................. 219 Состав и структура меню .................................................................. 219 Форматирование выражений ............................................................ 220 Форматирование результатов расчета ............................................. 221 Форматирование текста ................................................................... 221 Форматирование параграфа ............................................................. 222 Установка табуляторов в текстовой области ..................................... 223 Выбор стиля ...................................................................................... 224 Установка свойств объекта ............................................................... 226 Форматирование графиков ............................................................... 227 Установка цвета ................................................................................ 228 Форматирование области ................................................................. 229 Отделение областей ......................................................................... 231 Выравнивание областей ................................................................... 231 Перенумерация страниц ................................................................... 231
Меню математических средств ......................................... 231 Состав и структура меню .................................................................. 231 Проверка орфографии ...................................................................... 232 Анимация графика ............................................................................ 232 Воспроизведение анимационных графиков ...................................... 236 Ручной режим вычисления выражений на экране ............................. 238 Вычисление выражений .................................................................... 239 Ручной режим вычисления выражений, видимых на экране .............. 239 Ручной режим вычисления всего документа ..................................... 240 Автоматический режим вычисления всего документа ....................... 241 Оптимизация уравнений ................................................................... 241 Запрещение вычислений определенных выражений ........................ 243
Содержание
11
Ошибка следа ................................................................................... 243 Установка параметров переменных и систем единиц измерений ..... 245
Меню символьных средств .................................................. 249 Структура и состав меню .................................................................. 249 Установка стиля вычисления ............................................................. 250
Меню управления окнами ..................................................... 253 Структура и состав меню .................................................................. 253 Каскадное размещение окон ............................................................ 254 Горизонтальное размещение окон ................................................... 254 Вертикальное размещение окон ....................................................... 255 Перемещение и изменение размеров окна ....................................... 255
Меню помощи ............................................................................. 256 Состав и структура меню .................................................................. 256 Вызов справочной системы .............................................................. 256 Вызов контестно-зависимой справочной системы ........................... 258 Вызов ресурсов Разработчика .......................................................... 259 Вызов ресурсов автора ..................................................................... 259 Вызов учебного пособия ................................................................... 259 Вызов быстрых листов ...................................................................... 260 Вызов справочных таблиц ................................................................. 262 Вызов электронных книг ................................................................... 262 Запуск ресурсов ............................................................................... 263 Обновление системы Mathcad .......................................................... 263 Дополнительная информация по Mathcad ........................................ 263
Глава 4 БЫСТРЫЙ ИНСТРУМЕНТАРИЙ СИСТЕМЫ MATHCAD ........................................................ 265 Панели инструментов ............................................................. 265 Представление панелей инструментов на экран ............................... 265 Панель инструментов Стандартная ................................................... 266
12
Mathcad 11 Панель инструментов Форматирование ........................................... 268 Панель инструментов Математика ...................................................... 269 Панель инструментов Арифметика ..................................................... 270 Панель инструментов Графики ........................................................... 271 Панель инструментов Матрицы .......................................................... 271 Панель инструментов Вычисление ...................................................... 272 Панель инструментов Матанализ ........................................................ 275 Панель инструментов Булево ............................................................. 280 Панель инструментов Программирование .......................................... 283 Панель инструментов Греческий алфавит ........................................... 287 Панель инструментов Символы .......................................................... 287
Системы, расширяющие возможности Mathcad .... 296 Пакет с кратким обзором и руководствами ........................................ 297 Пакет примеров использования Mathcad ........................................... 298 Пакет справочных таблиц и ссылок ..................................................... 299 Расширенный пакет обработки изображений ..................................... 301 Расширенный пакет обработки сигналов ............................................ 302 Расширенный пакет волнового анализа .............................................. 302 Интернет ............................................................................................ 306 Обмен данными с другими приложениями ......................................... 308
Глава 5 ВСТРОЕННЫЕ ФУНКЦИИ MATHCAD .................... 315 Категории встроенных функций ....................................... 316 Функции Бесселя (Bessel) .................................................... 318 Ai (x), Bi (x) ......................................................................................... 318 bei (n, x), ber (n, x) ............................................................................... 318 I0(x), I1(x), In(m,x), J0(x), J1(x), Jn(m,x) ................................................ 318 js (n, x), K0(x), K1(x), Kn(m,x), Y0(x), Y1(x), Yn(m,x) ................................ 319
Функции комплексных чисел .............................................. 321 arg(z) ................................................................................................. 321
Содержание
13
csgn(z) ............................................................................................... 322 Im(z) .................................................................................................. 322 Re(z) .................................................................................................. 322 signum(z) ........................................................................................... 322
Аппроксимирующие функции (Curve Fitting) .............. 322 expfit (vx, vy, vg) .................................................................................. 322 genfit (vx, vy, vg, F) ............................................................................... 324 lgsfit (vx, vy, vg) ................................................................................... 324 line(vx, vy) ........................................................................................... 326 medfit (vx, vy) ...................................................................................... 326 linfit (vx, vy, F) ...................................................................................... 326 logfit(vx, vy, vg) ................................................................................... 331 pwrfit(vx, vy, vg) ................................................................................... 331 sinfit(vx, vy, vg) .................................................................................... 331
Функции решения систем дифференциальных уравнений (Differential Equation Solving) ................................................ 331 Bulstoer (y, x1, x2, npoints, D) ............................................................. 333 bulstoer(y, x1, x2, acc, D, kmax, s) ....................................................... 333 bvalfit(v1, v2, x1, x2, xf, D, load1, load2, score) ..................................... 333 multigrid(M, ncycle) ............................................................................ 334 odesolve (x, b, [step]) ......................................................................... 334 relax(A, B, C, D, E, F, U, rjac) ................................................................ 334 Rkadapt(v, x1, x2, npoints, D), rkadapt(y, x1, x2, acc, D, kmax, s) .......... 335 rkfixed(y, x1, x2, n, F) .......................................................................... 336 sbval(v, x1, x2, D, load, score) .............................................................. 337 Stiffb(y, x1, x2, npoints, D, J), stiffb(y, x1, x2, acc, D, J, kmax, s) ........... 337 Stiffr(y, x1, x2, npoints, D, J), stiffr(y, x1, x2, acc, D, J, kmax, s) ............. 338
Определение типа выражения (Expression type) ...... 338 IsArray(x) ........................................................................................... 338 IsScalar (x) ......................................................................................... 339
14
Mathcad 11 IsString (x) .......................................................................................... 339 UnitsOf (z) .......................................................................................... 339
Функции работы с файлами (File Access) ..................... 340 APPENDPRN(''полное имя файла'') ..................................................... 340 SaveColormap (''имя файла'', M) ......................................................... 340 LoadColormap (''имя файла'') .............................................................. 341 READ _BLUE (''имя файла''), READ _RED (''имя файла''), READ _GREEN (''имя файла'') .................. 341 READ _HLS (''имя файла''), READ _HLS_HUE (''имя файла''), READ _HLS_LIGHT (''имя файла''), READ _HLS_SAT (''имя файла'') ..... 341 READ _HSV (''имя файла''), READ _HSV_HUE (''имя файла''), READ _HSV_VALUE (''имя файла''), READ _HSV_SAT (''имя файла'') .... 341 READBMP(''имя файла'') .................................................................... 342 READ _IMAGE (''имя файла'') ............................................................. 342 READPRN (''имя файла'') ................................................................... 342 READRGB(''имя файла'') .................................................................... 342 WRITEBMP(''имя файла'') ................................................................... 344 WRITEPRN(''имя файла'') ................................................................... 344 WRITERGB(''имя файла'') ................................................................... 345 WRITE _HLS(''имя файла''), WRITE _HSV(''имя файла'') ....................... 345
Финансовые функции (Finance) ......................................... 345 сnper (rate, pv, fv) ............................................................................... 345 crate (nper, pv, fv) ............................................................................... 346 cumint (rate, nper, pv, start, end, [type]) ............................................... 346 cumprn (rate, nper, pv, start, end, [type]) ............................................. 347 eff (rate, nper) .................................................................................... 347 fv (rate, nper, pmt, [[pv], [type]]) .......................................................... 347 fvadj (prin, v) ...................................................................................... 348 fvc (rate, v) ......................................................................................... 348 ipmt (rate, per, nper, pv, [[fv], [type]]) ................................................... 348 irr (v [,guess]) ..................................................................................... 349 mirr (v, fin_rate, rein_rate) .................................................................... 349
Содержание
15
nom (rate, nper) .................................................................................. 350 nper (rate, pmt, pv, [[fv], [type]]) ........................................................... 350 npv (rate, v)......................................................................................... 351 pmt (rate, nper, pv, [[fv], [type]]) ........................................................... 351 ppmt (rate, per, nper, pv, [[fv], [type]] .................................................... 352 pv (rate, nper, pmt, [[fv], [type]]) ........................................................... 352 rate (nper, pmt, pv, [[fv], [type], [guess]]) .............................................. 353
Функции преобразования Фурье (Fourier Transform ) .................................................................... 353 CFFT(A), cfft(A) .................................................................................. 353 FFT(v), fft(v) ....................................................................................... 354 ICFFT(B), icfft(B) ................................................................................ 354 IFFT(u), ifft(u) ..................................................................................... 354
Функции многогранников (Graph) .................................... 357 Polyhedron (S1).................................................................................. 357 PolyLookup (n) ................................................................................... 357
Гиперболические функции (Hyperbolic) ........................ 357 acosh(z), acoth(z), acsch(z), asech(z), asinh(z), atanh(z) ...................... 357 sinh(z), cosh(z), tanh(z), sech(z), csch(z), coth(z) ................................ 359
Функции обработки изображения (Image Processing) .................................................................... 359 READRGB (''имя файла'') ................................................................... 359 READBMP (''имя файла'') ................................................................... 360
Функции интерполяции и экстраполяции (Interpolation and Prediction) ................................................. 361 cspline(vx, vy) ..................................................................................... 361 interp(vs, vx, vy, x) .............................................................................. 361 linterp(vx, vy, x) ................................................................................... 361 lspline(vx, vy) ..................................................................................... 362 pspline(vx, vy) .................................................................................... 362
16
Mathcad 11
Логарифмические и экспоненциальные функции (Log and Exponential) ................................................................ 363 exp(z) ................................................................................................ 363 log(z,[b]) ............................................................................................ 363 ln(z) ................................................................................................... 364
Функции теории чисел и комбинаторики (Number Theory/Combinatorics) ......................................... 364 combin (n,k) ....................................................................................... 364 gcd(A) ................................................................................................ 364 lcm(A) ............................................................................................... 364 mod(x,y) ............................................................................................ 364 permut(n,k) ........................................................................................ 364
Функции ступенек и условия (Piecewise Continuous) ............................................................ 365 antisymmetric tensore(i,j,k) ................................................................. 365 heaviside step(x) ................................................................................ 365 if(cond,x,y) ......................................................................................... 365 Kronecker delta(x,y) ........................................................................... 365 sign(x) ............................................................................................... 365
Функции плотности вероятности (Probability Density) ................................................................... 365 Бета-распределение ......................................................................... 366 Биномиальное распределение ......................................................... 366 Распределение Коши ........................................................................ 366 Распределение хи-квадрат ............................................................... 368 Экспоненциальное распределение ................................................... 368 Распределение Фишера ................................................................... 368 Гамма-распределение ...................................................................... 370 Геометрическое распределение ...................................................... 370 Гипергеометрическое распределение .............................................. 372
Содержание
17
Логнормальное распределение ......................................................... 373 Логистическое распределение .......................................................... 373 Отрицательное биномиальное распределение ................................... 373 Нормальное распределение ............................................................... 376 Распределение Пуассона ................................................................... 376 Распределение Стьюдента ................................................................. 376 Равномерное распределение ............................................................. 376 Распределение Вейбула ..................................................................... 378
Функции распределения вероятности (Probability Distribution) ........................................................... 378 cnorm(x,m,s) ...................................................................................... 378 pbeta(x,s1,s2) .................................................................................... 380 pcauchy(x,l,s) ..................................................................................... 380 pchisq(x,d) ......................................................................................... 380 pexp(x,r) ............................................................................................ 380 pF(x,d1,d2) ........................................................................................ 380 pgamma(x,s) ...................................................................................... 380 pgeom(k,p) ....................................................................................... 380 phypergeom(m,a,b,n) ......................................................................... 380 plnorm(x,m,s) ..................................................................................... 380 plogis(x,l,s) ........................................................................................ 380 pnbinom(k,n,p) ................................................................................... 381 pnorm(x,m,s) ..................................................................................... 381 ppois(k,l) ........................................................................................... 381 pt(x,d) ................................................................................................ 381 punif(x,a,b) ......................................................................................... 381 pweibull(x,s) ....................................................................................... 381
Функции, обратные к функциям распределения ...... 381 qbeta(x,s1,s2) .................................................................................... 381 qbinom(k,n,p) .................................................................................... 381 qcauchy(x,l,s) ..................................................................................... 382 qchisq(x,d) ......................................................................................... 382
18
Mathcad 11 qexp(x,r) ............................................................................................ 382 qF(x,d1,d2) ........................................................................................ 382 qgamma(x,s) ...................................................................................... 382 qgeom(k,p) ........................................................................................ 382 qhypergeom(p,a,b,n) .......................................................................... 382 qlnorm(x,m,s) .................................................................................... 382 qlogis(x,l,s) ........................................................................................ 382 qnbinom(k,n,p) ................................................................................... 382 qnorm(x,m,s) ..................................................................................... 382 qpois(k,l) ........................................................................................... 383 qt(x,d) ................................................................................................ 383 qunif(x,a,b) ......................................................................................... 383 qweibull(x,s) ....................................................................................... 383
Функции случайных чисел (Random Numbers) ........... 383 rbeta(m,s1,s2) ................................................................................... 383 rbinom(m,n,p) .................................................................................... 383 rcauchy(m,l,s) .................................................................................... 383 rchisq(m,d) ........................................................................................ 383 rexp(m,r) ............................................................................................ 383 rF(m,d1,d2) ........................................................................................ 384 rgamma(m,s) ..................................................................................... 384 rgeom(m,p) ........................................................................................ 384 rhypergeom(m,a,b,n) ......................................................................... 384 rlnorm(m,m,s) ................................................................................... 384 rlogis(m,l,s) ........................................................................................ 384 rnbinom(m,n,p) .................................................................................. 384 rnorm(m,m,s) ..................................................................................... 384 rpois(m,l) ........................................................................................... 384 rt(x,d) ................................................................................................. 384 runif(m,a,b) ........................................................................................ 384 rweibull(m,s) ...................................................................................... 385 rnd(x) ................................................................................................. 385
Содержание
19
Функции регрессии и сглаживания (Regression and Smoothing) .................................................. 385 genfit(vx,vy,vg,F) ................................................................................ 385 intercept(vx,vy) ................................................................................... 385 linfit(vx,vy,F) ....................................................................................... 385 edsmooth(vx,n) .................................................................................. 385 regress(vx,vy,n) ................................................................................. 386 slope (vx,vy) ....................................................................................... 386 stdev(v) .............................................................................................. 386
Функции решения алгебраических уравнений и систем (Solving) ...................................................................... 386 find(x,y,…) ......................................................................................... 386 maximize(f,var1,var2,…) ..................................................................... 386 minerr(x,y,…) ..................................................................................... 387 minimize(f,var1,var2,…) ...................................................................... 387 polyroots(v) ........................................................................................ 387 root(f(x),x) .......................................................................................... 387
Функции сортировки (Sorting) ............................................ 388 csort(A,n) ........................................................................................... 388 reverse(v) ........................................................................................... 389 rsort(A,n) ............................................................................................ 389 sort(v) ................................................................................................ 390
Специальные функции (Special) ........................................ 390 erf(x) .................................................................................................. 390 erfc(x) ................................................................................................ 390 Gamma(z) .......................................................................................... 390 Gamma(a, x) ....................................................................................... 390
Статистические функции (Statistics) ............................... 391 corr(A,B) ............................................................................................ 391 cvar(A,B) ............................................................................................ 391
20
Mathcad 11 gmean(A, B, C, ...) ............................................................................... 391 hist(int,V) ........................................................................................... 392 hmean(A, B, C, ...) ............................................................................... 392 kurt(A, B, C, …) ................................................................................... 392 mean(V) ............................................................................................. 393 median(A, B, C, ...) .............................................................................. 393 mode(A, B, C, ...) ................................................................................ 393 skew(А,B,C, …) .................................................................................. 394 stderr (vx, vy) ...................................................................................... 394 Stdev(A) ............................................................................................. 394 stdev(V) ............................................................................................. 394 Var(A, B, C, …) .................................................................................... 395 var(A, B, C, …) .................................................................................... 395
Встроенные строковые функции (String) ...................... 395 concat (S1, S2) .................................................................................. 395 error (''сообщение'') .......................................................................... 395 IsString (x) ......................................................................................... 396 strlen (S) ............................................................................................ 396 substr (S, n, m) ................................................................................... 396 search (S, SubS, x) ............................................................................. 396 str2num (S) ........................................................................................ 396 num2str (x) ......................................................................................... 396 str2vec (S) ......................................................................................... 396 vec2str (v) .......................................................................................... 397
Тригонометрические функции (Trigonometric) .......... 397 Функции округления и работы с частью числа (Truncation and Round-Off ) ................................................................ 398 ceil(x) ................................................................................................. 398 floor(x) ............................................................................................... 399 round(x,n) .......................................................................................... 399
Функции, определенные пользователем (User defined) ............................................................................... 399
Содержание
21
kronecker (m,n) .................................................................................. 399 Psi(z) ................................................................................................. 399
Функции работы с векторами и матрицами (Vector and Matrix) ..................................................................... 400 augment(A,B) ..................................................................................... 400 cholesky (M) ...................................................................................... 400 cols(M) .............................................................................................. 400 cond1 (M), cond2 (M), conde (M), condi (M) ........................................ 400 CreateMesh (F (или G, или f1, f2, f3), x0, x1, y0, y1, xgrid, ygrid, fmap) ... 401 CreateSpace(F, t0, t1, tgrid, fmap) ....................................................... 401 diag(v) ............................................................................................... 402 eigenvals(M), eigenvec(M,z), eigenvecs(M) ......................................... 403 geninv(A), genvals(M, N), genvecs(M, N), identity(n) ............................ 404 IsArray(x), IsScalar(x), last(v), length(v) ................................................ 404 lsolve(M, v) ......................................................................................... 405 lu(M), matrix(ff2,n,f), max(v), min(v) .................................................... 405 norm1(M), norm2(M), norme(M), normi(M), qr(A) ................................ 405 submatrix(A,ir,jr,ic,jc), svd(A), svds(A), tr(M) ......................................... 407
Функции волнового преобразования (Wavelet Transform) ................................................................... 409
Глава 6 АНАЛИТИЧЕСКИЕ ВЫЧИСЛЕНИЯ И ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD ............................................................. 410 Аналитические вычисления ................................................. 412 Вычисление символьных выражений ................................................ 413 Упрощение математического выражения ......................................... 413 Развертывание выражений ............................................................... 414 Разложение выражений или чисел на простые множители ............... 415
22
Mathcad 11 Приведение подобных членов ............................................................ Определение коэффициентов полинома ............................................ Аналитическое вычисление выражения относительно выделенной переменной ............................................ Выполнение операций над матрицами и векторами .........................
415 416 417 425
Преобразование выражений относительно заданной переменной ... 428
Программирование в системе Mathcad ........................ 431 Создание программ в среде Mathcad ............................................... Оператор создания блока с метками Add Line ................................... Оператор локального присваивания ¬ .............................................. Оператор условного перехода if ....................................................... Оператор создания дополнительной ветви otherwise ....................... Оператор цикла for ............................................................................ Оператор цикла с условием while ...................................................... Оператор прерывания break ............................................................. Оператор продолжения continue ....................................................... Оператор возвращения return ........................................................... Оператор сообщения при ошибке on error ........................................ Рекурсия ........................................................................................... Решение дифференциального уравнения программным способом ... Оптимизация унимодальных функций ............................................... Метод дихотомии .............................................................................. Метод Фибоначчи ............................................................................. Метод золотого сечения ...................................................................
433 434 435 437 438 440 441 442 443 444 445 445 447 448 450 453 459
Метод случайного поиска ................................................................. 463
Глава 7 РЕШЕНИЕ ЗАДАЧ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ .................................. 469 Распределительные задачи ................................................. 470 Задача о назначении ......................................................................... 471 Оптимальное распределение однородных ресурсов ........................ 477 Оптимальное распределение неоднородных ресурсов .................... 484
Содержание
23
Задачи управления запасами ............................................. 491 Задача управления запасами при удовлетворении спроса ............... 492 Задача управления запасами при неудовлетворении спроса ........... 497 Общая задача управления запасами ................................................. 505
Задачи массового обслуживания ..................................... 509 Задача анализа одноканальной замкнутой системы массового обслуживания .................................. 512 Задача анализа многоканальной замкнутой системы массового обслуживания .................................. 524 Расчет подвесных конструкций ......................................................... 540
Глава 8 РЕШЕНИЕ ИНЖЕНЕРНЫХ ЗАДАЧ ........................ 547 Кинематический анализ кривошипно-шатунного механизма ................................ 548 Динамический анализ кривошипно-шатунного механизма ................................ 552 Кинематический анализ манипулятора ......................... 559 Моделирование привода механизма поворота робота ............................................... 568 Моделирование системы управления ........................... 576 Последовательный анализ качества изделий ............ 582
Предисловие
Когда дует ветер перемен, надо строить не щит от ветра, а ветряные мельницы. Мао Цзедун
Mathcad – это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники, финансов и экономики, физики и астрономии, строительства и архитектуры, математики и статистики, организации производства и управления… Она располагает широким набором инструментальных, информационных и графических средств. Сегодня Mathcad – одна из самых популярных математических систем. Она пользуется большим спросом у студентов, инженеров, экономистов, менеджеров, научных работников и всех тех, чья деятельность так или иначе связана с количественными методами расчета. В настоящее время разработано и функционирует множество различных математических систем: Maple, Matlab, Mathematica, Reduce, Derive, Theorist, Macsyma и др. Каждая из них имеет свои преимущества и недостатки, а также свои области применения. В чем же отличие системы Mathcad от аналогичных? Во-первых, в математических системах Reduce, Macsyma, Derive, Maple, Mathematica, Theorist в основном используются целочисленное представление и символьная обработка данных, а Matlab преимущественно ориентирована на работу с массивами. Mathcad же изначально создавалась для численного решения математических задач (1988 г.), и только в 1994 г. в нее были добавлены инструменты символьной математики из системы Maple, что постепенно превратило Mathcad в универсальную систему. Во-вторых, запись задач в Mathcad наиболее приближена к записи их без использования компьютера, что существенно упрощает применение системы. В-третьих, система Mathcad более доступна для массового пользователя: она в несколько раз дешевле своих аналогов (речь идет о лицензионных продуктах). В-четвертых, система Mathcad – это скорее универсальная, чем специализированная математическая система. Так, для решения сложных задач в аналити-
Предисловие
25
ческом виде лучше применять Maple, а для решения сложных задач линейной алгебры – Matlab и т. д. В-пятых, Mathcad имеет встроенную систему автоматического пересчета и контроля единиц измерений в процессе вычислений. Допустим, мы определяем расстояние от одного объекта до другого как сумму отдельных расстояний с использованием различных единиц измерения (мили, футы, ярды, сантиметры). Система Mathcad автоматически произведет пересчет всех расстояний и выдаст результат с заранее установленной единицей измерения. Например, это может выглядеть так: В-шестых, Mathcad имеет достаточно мощную, но простую систему наглядного представления результатов расчета в виде различного вида графиков. В-седьмых, Mathcad может взаимодействовать с другими приложениями. Например, данные программ Excel или Matlab могут непосредственно включаться в вычислительный поток системы Mathcad: здесь допускается управлять чертежами, выполненными в AutoCAD, использовать Visual Basic и OLE Automation для создания коммерческих приложений и многое другое. Для установки системы необходим компьютер, имеющий: • процессор типа Pentium/Celeron 233 MГц, 300 и выше; • CD-ROM или DVD; • операционную систему Windows 98, SE, ME, NT® 4.0 SP6, 2000 SP2, XP и выше (рекомендуется NT, 2000, или XP и выше); • не менее 150 Мб памяти на винчестере. С помощью Mathcad 11 можно вводить исходные данные (как в обычном текстовом редакторе), традиционно описывать решение задачи и получать результаты вычислений в аналитическом и численном виде с возможностью использования средств графического представления результатов. Запись математических выражений производится с применением общепринятых знаков (квадратный корень, знак деления в виде горизонтальной черты, знаки интеграла, дифференциала, суммы и т. д.). В Mathcad 11 встроены хорошо организованные текстовый, формульный и графический редакторы. Они оснащены удобным пользовательским интерфейсом и разнообразными математическими возможностями. В последних версиях Mathcad допускается импортировать любые графические изображения (от простых графиков функций до специализированных чертежей системы AutoCAD, КОМПАС) и использовать средства анимации, звуковые и стереофонические эффекты. Программа Mathcad 11 может обмениваться данными с такими приложениями, как Axum, Excel, MATLAB, SmartSketch и S-PLUS. В новой версии: • расширены компоненты ввода-вывода для импорта и экспорта данных в виде строк и столбцов, а также возможности чтения-записи смешанных текстово-числовых файлов;
26
Mathcad 11 • улучшена поддержка импорта/экспорта данных текста как строковых данных, обеспечена гарантия их целостности при передаче смешанных типов данных; • обеспечена более глубокая интеграция с Microsoft ® Excel. Используя простые команды copy/paste, можно создавать и отображать смешанные данные непосредственно в форме матриц и таблиц; • улучшено редактирование страниц; • улучшена APPENDPRN-функция, которая создает файл, если он не существует; • обеспечена новая поддержка чтения/записи для равномерных, произвольных и однородных файлов двоичного формата (READBIN и WRITEBIN), что дает пользователям большую гибкость в операциях импорта или экспорта данных, чем их преобразование в ASCII-коды; • обеспечена новая поддержка для прохождения строковых данных через UserEFI-интерфейс (функции, определенные пользователем DLL). Улучшена математическая функциональность: • на основе ODE-вычислительных блоков (для решения обыкновенных дифференциальных уравнений) MathCad 11 теперь поддерживает PDEвычислительные блоки (для решения дифференциальных уравнений в частных производных); • улучшены средства для поиска причин ошибок во фрагментах; • обеспечена новая поддержка для комплексных аргументов функций floor, ceil, round и trunc; • добавлены комплексные функции Бесселя и Ганкеля. Это будет полезно при решении сферических и цилиндрических задач в квантовой физике и электромагнетизме; • расширены возможности функции genfit, которая обеспечивает аппроксимацию кривых нелинейными функциями общего вида; • введена новая sinc-функция для вычисления точных значений sin(x)/x в пределе при х, стремящемся к 0; • новый доступ к «зерновым» значениям в генераторах случайных чисел. Введены новые средства преобразования: • улучшенный формат текста RTF позволяет вставлять фрагменты из документа Mathсad в такие распространенные приложения, как MS Word, без дополнительного переформатирования; • обеспечено сохранение файлов в версиях 6, 7, 8, 2000, 2001, 2000i и 11; • улучшена поддержка протокола HTTP, которая позволяет открывать удаленные файлы Mathсad, размещенные в Web-сервере, с помощью команды File Open; • улучшен HTML-подобный формат для вставки в Интернет страницы с колонтитулами, ссылками и картинками; • улучшенная поддержка HTML позволяет открывать документы Mathcad через любой Web-браузер. Обеспечена возможность сохранять документы как Интернет-страницы.
Предисловие
27
Улучшены и расширены возможности редактирования: • введена новая многоуровневая система действий «Undo» и «Redo». Эта система оставила далеко позади все предыдущие версии. Теперь есть возможность отменять не только изменения в тексте, но и изменения при форматировании. Можно отменять удаление, вырезание, перемещение и вставку областей; • предусмотрена новая возможность «перетаскивать» фрагменты, используя стрелки клавиатуры; • введены новые инструменты меню, такие как вычислительные опции, проверка орфографии, анимация, защита документов, выявление ошибок; • пересмотрены кнопки и меню для более легкого доступа к наиболее часто используемым возможностям Mathcad и доступа к наиболее часто используемым кнопкам; • введены новые Windows-подобные средства управления для создания документов. Это особенно полезно для менее опытных пользователей; • введена новая панель управления ресурсами для легкого доступа к справке и шаблонам документов; • введено новое старт-меню, которое обеспечивает прямой доступ к PDFверсии руководства пользователя.
Глава 1 Интегрированная среда Mathcad Запуск системы Mathcad ................ 29 Основные функциональные компоненты ......... 31 Структура и состав главного меню ................................ 34 Главные понятия и определения ....... 38 Основные типы данных в Mathcad ....................................... 44 Наиболее важные операторы Mathcad .......................................... 51 Изменение вида отдельных операторов ................... 53 Булевы операторы .......................... 57 Усовершенствованные способы показа и редактирования уравнений ....................................... 58 Решение уравнений в системе Mathcad .......................... 59 Решение системы уравнений ......... 68 Решение дифференциальных уравнений ......... 74 Вычисление определенного и неопределенного интеграла ......... 88 Операции над матрицами и векторами .................................... 91 Решение статистических задач ......... 94 Корреляционно-регрессионный анализ ............................................ 96 Решение общей задачи линейного программирования ........ 104
Запуск системы Matcad
29
Запуск системы Mathcad Рассмотрим несколько способов запуска Mathcad в операционной системе Windows XP. Первый способ: ¾ щелкните левой кнопкой мыши по кнопке Пуск (Start) или нажмите комбинацию клавиш Ctrl+Esc. Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Программы (Programs). Появится следующее всплывающее меню; ¾ щелкните в следующем всплывающем меню по пункту Mathsoft Apps. Появится следующее всплывающее меню (рис. 1.1);
Рис. 1.1. Последовательность вызова пунктов меню для запуска системы Mathcad
¾ выберите пункт Mathcad 11 Enterprise Edition и щелкните по нему левой кнопкой мыши, после чего начнется запуск системы Mathcad. Второй способ: ¾ найдите файл с расширением .mcd и дважды щелкните по нему левой кнопкой мыши.
30
Интегрированная среда Mathcad
Третий способ: ¾ найдите на Рабочем столе операционной системы ярлык системы Mathcad в виде знака Мебиуса, если он установлен, и щелкните по нему левой кнопкой мыши. Для установки ярлыка системы Mathcad на Рабочем столе операционной системы: ¾ щелкните на Рабочем столе операционной системы правой кнопкой мыши. Появится контекстное меню; ¾ щелкните в контекстном меню по пункту Создать. Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Ярлык. Появится диалоговое окно Создание ярлыка; ¾ укажите в текстовом поле полное имя файла системы Mathcad или щелкните по кнопке Обзор (Browse) и выберите нужный файл, воспользовавшись мини-проводником. Если система Mathcad записана на диске c:, то полное имя файла может выглядеть так: c:\Program Files\MathSoft\ Mathcad 11 Enterprise Edition\mathcad.exe. ¾ щелкните по кнопке Далее, а затем по кнопке Готово. Появится на Рабочем столе операционной системы ярлык системы Mathcad в виде знака Мебиуса, под которым будет название системы – Мathcad. Лист Мебиуса – это поверхность, получающаяся при склеивании двух сторон ленты с поворотом одной из сторон на 180°. После запуска системы Mathcad через некоторое время появится главное окно системы, которое может быть представлено в различных вариантах: в свернутом или развернутом состоянии; со свернутым или развернутым рабочим листом. Одно из возможных состояний главного окна системы Mathcad в свернутом состоянии и свернутым рабочим листом показано на рис. 1.2. Главное окно системы Mathcad и рабочий лист в левом верхнем углу имеют значок в виде листа Мебиуса, а в правом верхнем углу имеют три кнопки: Свернуть, Свернуть (Развернуть) окно и Закрыть. В свернутом состоянии главное окно системы занимает примерно 80% экрана монитора. В свернутом состоянии рабочий лист занимает по умолчанию примерно половину рабочей области главного окна системы. Для более эффективной работы в системе Mathcad следует иметь главное окно системы и рабочий лист в развернутых состояниях. Установка Mathcad предполагает: • процессор Pentium/Celeron с тактовой частотой 233 МГц и выше; • операционную систему Windows 98, SE, ME, NT® 4.0 SP6, 2000 SP2, XP или выше (NT, 2000, или XP рекомендуется); • графический адаптер SVGA с видеопамятью 1024 Кб и выше; • привод CD-ROM или DVD; • свободное пространство на жестком диске не менее 150 Мб; • манипулятор «мышь».
Основные функциональные компоненты
31
Рис. 1.2. Главное окно системы Mathcad в свернутом состоянии со свернутым рабочим листом
Основные функциональные компоненты Mathcad – это универсальная интегрированная среда для решения самых разнообразных математических задач. Она включает следующие функциональные компоненты: • хорошо продуманную и скоординированную систему меню различных уровней вложенности; • большой набор панелей инструментов; • текстовый редактор, обеспечивающий эффективное комментирование всех процессов математических вычислений; • редактор формул;
32
Интегрированная среда Mathcad
• систему ввода и мощный редактор разнообразных графиков, в том числе трехмерных; • вычислительную систему, удобную для выполнения математических операций, как в численном, так и в аналитическом (символьном) виде; • набор шаблонов, облегчающий и ускоряющий ввод математических выражений, графиков, встроенных функций, операторов; • систему проверки правильности написания математических выражений; • встроенную систему вывода результатов расчета; • большой набор встроенных функций, удобных для использования; • контекстно-зависимые меню. Панель инструментов – это набор кнопок определенного назначения, обеспечивающих быстрый доступ к часто используемым пунктам меню, операторам, функциям, знакам, буквам и т. д. Например, для вывода на рабочий лист операторов матанализа предназначена панель инструментов Матанализ (Calculation) (рис. 1.3), содержащая 12 кнопок. Щелчком левой кнопки мыши можно вызвать шаблон любого оператора, изображенного на панели инструментов Матанализ. Допустим, вы щелкнули в панели инструментов Матанализ по знаку Суммирование, тогда в месте установки курсора на рабоРис. 1.3. Панель чем листе тут же появится шаблон такого вида: инструментов Матанализ
В каждом шаблоне имеются метки, предназначенные для их заполнения. Для ввода данных необходимо установить в метку указатель курсора и щелкнуть левой кнопкой мыши. Метку обхватит уголок. Это сигнал к тому, что в нее можно вводить данные. Ниже дан пример заполненного шаблона суммирования.
Для получения решения достаточно в заполненном шаблоне поставить знак равенства – и в правой части появится результат вычисления.
Если же требуется использовать несколько знаков суммирования, то нужно щелкнуть по кнопке со знаком Суммирование на панели инструментов Матанализ несколько раз. В нашем примере это выглядит так:
Основные функциональные компоненты
33
Аналогично вводятся и другие операторы. Контекстно-зависимые меню – это меню, открываемые при щелчке правой кнопкой мыши по соответствующему объекту системы Mathcad. Они содержат набор пунктов, непосредственно применяемых к выбранному объекту, что подчеркивает объектно-ориентированный характер системы. Например, если вы ввели шаблон для вычисления определенного интеграла, нажав комбинацию клавиш Shift+7 или щелкнув по кнопке с изображением знака определенного интеграла на панели инструментов Матанализ (рис. 1.3), то появится шаблон такого вида:
Установите курсор на знак интеграла и щелкните правой кнопкой мыши. В данном случае появится контекстно-зависимое меню для объекта – определенный интеграл (рис. 1.4). По умолчанию пункт AutoSelect (Автовыбор) отмечен галочкой, что означает активизацию режима AutoSelect. Можно отменить его, щелкнув по галочке кнопкой мыши. Для выбора одного из методов интегрирования, представленных в меню несколько ниже, щелкните по нужному методу мышью. Контекстно-зависимое меню включает следующие численные методы интегрирования: • Romberg – используется метод Ромберга; • Adaptive (Адаптивный) – применяется адаптивный Рис. 1.4. метод интегрирования; Контекстно-зависимое • Infinite Limit (Бесконечный предел) – используетменю для объекта – ся алгоритм для интегрирования функций, когда определенный один или оба предела интегрирования – бесконечинтеграл ность; • Singular Endpoint (Сингулярная конечная точка) – используется открытый метод Ромберга. Для облегчения использования системы Mathcad имеет иерархическую систему меню, состоящую из главного меню, выпадающих и всплывающих меню (подменю). Главное меню – это набор пунктов для вызова выпадающих меню, расположенных во второй строке главного окна системы.
34
Интегрированная среда Mathcad
Выпадающее меню – это набор пунктов для вызова всплывающего меню, диалогового окна или команды Mathcad, располагающийся под соответствующим пунктом главного меню. Всплывающее меню – набор пунктов для вызова всплывающего меню, диалогового окна или команды Mathcad, располагающийся справа от выбранного пункта выпадающего меню. Выбрать пункт меню можно щелчком левой кнопкой мыши.
Структура и состав главного меню Система Mathcad готова к работе сразу же после запуска. Главное меню обеспечивает доступ ко всем средствам Mathcad 11. Дополнительными центрами являются панели инструментов и отдельные кнопки, за которыми закреплены команды, используемые наиболее часто (рис. 1.5). Главное окно системы Mathcad в развернутом состоянии с развернутым рабочим листом показано на рис. 1.5. В первой строке (строке заголовка) главного окна системы Mathcad отображено название окна. Во второй строке главного окна системы расположены пункты
Рис. 1.5. Главное окно системы Mathcad в развернутом состоянии и развернутым рабочим листом
Структура и состав главного меню
35
главного меню. В третьей, четвертой и пятой строках размещены наиболее часто используемые панели инструментов, которые желательно всегда иметь на экране. В третьей строке – панель инструментов Стандартная, во второй – Форматирование, в четвертой – Математика и Ресурсы. В нижней строке главного окна располагается строка состояния системы. Если щелкнуть в панели инструментов Стандартная по первой кнопке – кнопке с изображением чистого листка бумаги, то появится рабочий лист с названием Без названия:N (Untitled: N), где N – порядковый номер документа. Чтобы сохранить рабочий лист (документ) под нужным именем: ¾ щелкните мышью в панели инструментов Стандартная по третьей кнопке – кнопке с изображением дискеты. Появится диалоговое окно Сохранить как (Save as); ¾ в диалоговом окне Сохранить как в текстовом поле Имя файла (File name) введите имя файла; ¾ щелкните по кнопке Сохранить. Система сохранит файл под введенным именем и автоматически добавит расширение .mcd. Основную часть экрана занимает рабочий лист. В правой и нижней частях экрана расположены полосы прокрутки. Они предназначены для горизонтального и вертикального перемещения по рабочему листу. Для плавного перемещения необходимо установить курсор мыши на полосе прокрутки (кнопка со стрелкой, указывающей направление движения) и нажать левую кнопку мыши. Можно также щелкнуть мышью на полосе прокрутки между кнопкой со стрелкой и бегунком. Тогда передвижение будет значительно быстрее – с каждым щелчком на величину экрана. Щелкните левой кнопкой мыши по пункту Вид (View) для вызова выпадающего меню. Щелкните левой кнопкой мыши по пункту Панели инструментов (ToolBars) для вызова всплывающего меню. Целесообразно, чтобы во всплывающем меню перед пунктами – Стандартная, Форматирование, Математика, Ресурсы (Standard, Formatting, Math, Resources) – стояли галочки. Это означает, что соответствующие панели инструментов будут находиться в главном окне. Так, на рис. 1.5 в третьей строке помещена панель инструментов Стандартная (Standard), в четвертой – панель инструментов Форматирование (Formatting), а в пятой – сразу две панели инструментов Математика и Ресурсы. Если какойлибо из четырех названных пунктов во всплывающем меню не активизирован, сделайте это, щелкнув по нему левой кнопкой мыши. Остальные панели инструментов могут быть по мере необходимости вызваны и перемещены в любое место экрана. Для этого достаточно щелкнуть по названию панели и, удерживая нажатой левую кнопку мыши, перенести панель в нужное место, после чего кнопку отпустить. Небольшие панели инструментов можно размещать по периметру экрана, при этом они преобразуются в однорядные. В верхнем правом углу панели инструментов есть кнопка с крестиком. Щелчком мыши по этой кнопке панель с экрана можно убрать в любое время. Щелчок
36
Интегрированная среда Mathcad
по кнопке панели инструментов с изображением функции или математического знака вызывает соответствующий шаблон. Допустим, необходимо вычислить функцию тангенс tan: ¾ щелкните на панели инструментов Математика – четвертая строка сверху по первой кнопке – кнопке с названием Арифметические инструменты. Появится панель инструментов Арифметика (Calculator); ¾ щелкните по кнопке с пиктограммой – tan. Появится в месте нахождения курсора на рабочем листе шаблон функции тангенса. Этот шаблон будет выглядеть так: Достаточно щелкнуть мышью по метке, ввести значение аргумента – угол в радианах, поставить знак равенства – и будет получено искомое решение. Система меню Mathcad 11 – это хорошо скоординированная совокупность выпадающих и всплывающих меню. После щелчка мышью по любому пункту главного меню или нажатия «горячих» клавиш (HotKeys) на экране появляется соответствующее меню. «Горячая» клавиша выделяется в названии пункта меню подчеркиванием одной русской буквы. Для получения быстрого доступа к пункту главного меню, а значит, и к соответствующему выпадающему меню необходимо нажать клавишу Alt и, удерживая ее нажатой, ту алфавитную клавишу, название которой подчеркнуто. Например, для быстрого обращения к пункту Вид (View) достаточно нажать комбинацию клавиш Alt+В. Чтобы вызвать соседнее выпадающее меню, нужно выбрать клавишу со стрелкой влево или вправо, если выделенный пункт выпадающего меню не имеет стрелки справа. В противном случае вызовется соответствующее всплывающее меню. Выделить любой пункт выпадающего или всплывающего меню (подменю) можно, щелкнув по нему мышью или нажав клавишу со стрелкой вниз либо вверх. Для выполнения выбранной команды необходимо нажать Enter или «горячую» клавишу, название которой подчеркнуто. А для того чтобы закрыть выпадающее или всплывающее меню, достаточно нажать Esc или щелкнуть мышью в поле окна вне меню. Содержание выпадающих меню может изменяться в зависимости от окна Mathcad 11. Если после названия пункта меню стоит многоточие, это признак диалоговой команды, и при ее выборе откроется диалоговое окно. Когда в правой части пункта меню стоит треугольная стрелка, то при выборе данного пункта откроется подменю (всплывающее меню). Если же яркость пункта меню понижена, то в данный момент этот пункт не доступен для использования. Если перед пунктом меню поставлен флажок (галочка) или он появляется при выборе пункта, это свидетельствует о том, что данный пункт может находиться во включенном или выключенном состоянии. При наличии флажка слева от пункта меню он считается включенным, при его отсутствии – выключенным.
Структура и состав главного меню
37
Кнопки, указанные слева от пункта меню, являются кнопками-акселераторами (shortcut keys, acceleration keys) и предназначены для оперативного доступа к пункту меню или команде. В процессе выбора пункта меню часто появляются диалоговые окна для ввода недостающей информации, уточнения режимов выполнения команды и/или выбора варианта. Диалоговые окна имеют ряд элементов управления: • кнопка управления (command button) выполняет определенную функцию, например Поиск (Find). Чтобы выполнить это действие, необходимо вначале выделить кнопку с помощью клавиши Tab (Shift+Tab), а затем нажать клавишу Enter или щелкнуть по кнопке мышью; • флажок (check box, option) задает или уточняет режим выполнения команды. Он может находиться в двух состояниях – включенном (слева от имени пункта меню стоит галочка) или выключенном (галочка отсутствует). Если функция включена, то при выполнении команды будет осуществлено действие, указанное справа от квадратика. Простановка или удаление флажка производится щелчком мыши или путем выделения надписи справа с помощью клавиши Tab (Shift+Tab), а затем нажатия клавиши Space; • переключатель (radio buttons) представляет собой перечень взаимоисключающих вариантов, из которых выбирается какой-либо один. Эти варианты составляют положения переключателя. Текущая позиция отмечается точкой в кружочке слева. Для установки переключателя в нужное положение необходимо щелкнуть по этому кружочку мышью или выделить надпись справа с помощью клавиши Tab (Shift+Tab), а затем нажать клавишу со стрелкой; • поле ввода (text box) позволяет набирать число строк, столбцов или текст. Для ввода символов с клавиатуры необходимо щелкнуть по полю мышью или установить в него курсор с помощью клавиши Tab (Shift+Tab); • прокручиваемый список (scrolling list) содержит те или иные элементы, в частности папки (каталоги), файлы, находящиеся в определенной последовательности. Если элементов много, справа и/или снизу список имеет полосы прокрутки, которые дают возможность просмотреть его полностью. Для выделения элемента из списка щелкните по его имени мышью. Можно также использовать клавишу Tab и клавиши со стрелками; • раскрывающийся список (drop-down list) содержит набор деталей. Из него выбирается единственный элемент, который оказывается видимым. Для активизации другого элемента нужно щелкнуть мышью по кнопке в правой части списка. Когда список откроется, щелкните по выбранному элементу. Возможно, придется использовать полосы прокрутки. Как и в прокручиваемом списке, искать элемент можно по первой букве. Чтобы отменить выделение элемента, щелкните мышью вне зоны раскрывшегося списка или нажмите клавишу Esc. Следует обратить внимание на то, что в диалоговых окнах открытия файла (Open), сохранения файла (Save, Save as…) и других в правой части под строкой заголовка имеются следующие кнопки:
38
Интегрированная среда Mathcad • Переход к последней просмотренной папке – кнопке с изображением стрелки влево; • На один уровень вверх – для перехода в каталог на один уровень выше; • Создание новой папки; • Меню “Вид” – вызывает всплывающее меню, с помощью которого можно изменить представление информации в диалоговом окне.
Главные понятия и определения Документ (document) в Mathcad – это совокупность различных блоков. Блок – это определенным образом занятое пространство рабочего листа, конкретная область, которая может быть, в частности, и пустой. Например, нажмите комбинацию клавиш Shift+'' (двойная кавычка), и тогда в месте расположения курсора на рабочем листе появится текстовый блок, первоначально пустой. В нем находится только маркер (курсор) ввода текста. Если щелкнуть левой кнопкой мыши по пункту Вид (View) главного меню, а затем по пункту Границы (Regions), то на рабочем листе белым фоном будут отмечены все блоки (рис. 1.6).
Рис. 1.6. Выделение границ блоков с помощью пункта Границы
Главные понятия и определения
39
Блоки могут быть различного типа: тексты (комментарии), формулы, графики, таблицы и т. д. Каждый блок занимает определенную область прямоугольной формы. Все блоки на рабочем листе можно выделить и с помощью мыши. Для этого поместите указатель мыши в верхнюю, левую часть рабочего листа, не занятую блоком. Щелкните левой кнопкой и, удерживая ее нажатой, переместите мышь так, чтобы появившийся при этом пунктирный прямоугольник захватил нужные области. Отпустите левую кнопку мыши, и каждый из блоков будет обрамлен пунктирным прямоугольником (рис. 1.7).
Рис. 1.7. Выделение блоков с помощью мыши
Все выделенные таким образом блоки составляют с позиции их перемещения единое целое. Если вы начнете перемещать любой из них, то будут передвигаться все отмеченные блоки. В дальнейшем все блоки в рабочей области мы будем выделять с помощью мыши, в виде пунктирных прямоугольников. Расположение нетекстовых блоков в документе имеет принципиальное значение. Их выполнение происходит слева направо и сверху вниз. Поэтому блоки не должны взаимно перекрываться (хотя небольшое перекрытие обычно не сущест-
40
Интегрированная среда Mathcad
венно). Указанный порядок означает, что, например, при построении графика функции или таблицы вначале должны выполняться блоки, задающие саму функцию и пределы изменения аргумента, а уже затем блок, с помощью которого осуществляется вывод таблицы или построение графика функции. Для конструирования блоков служат три встроенных в систему редактора – текстовый, формульный и графический. Текстовый редактор – средство для подготовки текстов и создания текстовых комментариев, поясняющих формулы или графики. Текст редактируется общепринятыми средствами: клавишами управления курсором, установкой режимов вставки и замены символов (клавиша Insert), стиранием (клавиши Del и Backspace), выделением, копированием и вставкой из буфера обмена данными и т. д. Формульный редактор – средство создания математических выражений. Для ввода математических выражений необходимо установить курсор мыши в любом свободном месте рабочего листа и щелкнуть левой кнопкой мыши. Появится визир в виде маленького красного крестика. Его расположение можно менять клавишами перемещения курсора. Визир указывает позицию, с которой начинается набор формул – вычислительных блоков. В зависимости от места расположения визир может менять свою форму. Например, в области формул он превращается в синий уголок, указывающий направление и место ввода. Редактирование возможно только после помещения в текущее окно редактора одного или ряда шаблонов объектов. В противном случае часть операций осуществить нельзя и в меню редактирования Правка (Edit) они не будут выделены, то есть окажутся текстом с пониженной яркостью. Математическая область – это область, содержащая математическое выражение или график. Математические области являются работающими. Это означает, что любое изменение, сделанное здесь, отразится на всех остальных математических областях, расположенных ниже (правее) в рабочем документе. Текст в рабочих документах может быть в двух формах: в форме текстовых абзацев и текстовых областей. Выбор подходящей формы зависит от количества текста и от его желаемого представления. Текстовая область – это прямоугольная область, зарезервированная для размещения текста. Она может иметь произвольные размеры и располагаться в любом месте рабочего документа. Текстовые области используются, как правило, для кратких пояснений. Чтобы создать такую область, достаточно ввести символ двойной кавычки (''), нажав комбинацию клавиш Shift+''. Шрифт для заполнения области можно выбрать из списка. Так, если текст будет вводиться на русском языке, можно установить Times New Roman Cyr. У прямоугольника есть метки (черные квадратики) в середине правой стороны, в середине нижней стороны и в правом нижнем углу. Если поместить указатель мыши в одну из этих меток, он примет форму двунаправленной стрелки. Если нажать левую кнопку и, удерживая ее, перемещать мышь, текстовую область можно увеличивать или уменьшать. В текстовом блоке визир имеет вид красной вертикальной черточки и отмечает место начала ввода текста. Можно создать текстовую область и другим способом. Расположите визир (красный крес-
Главные понятия и определения
41
тик) в месте ввода текста. Нажмите на клавишу с буквой – появится буква в прямоугольнике, а визир превратится в синий уголок (клюшку), который обхватывает букву. Нажмите на клавишу пробела (Space), и он примет форму прямоугольника с метками, а синий уголок превратится в красную вертикальную черточку. Это означает, что мы имеем дело уже с текстовой областью. Как было отмечено выше, курсор Mathcad принимает три различные формы: визира (знак плюс), маркера ввода (красная вертикальная черточка при вводе текста), маркера ввода – уголок (клюшка) различных размеров синего цвета при вводе математических выражений. Визир появляется только за пределами областей с формулами, текстом и графиком, то есть в пустом месте документа. Чтобы его переместить, щелкните левой кнопкой мыши по рабочему листу в свободном месте. Можно использовать клавиши перемещения с изображением стрелок влево, вправо, вниз, вверх, а также PgUp и PgDn. Новое выражение, текстовая область и график начинаются с того места, где расположен визир. Не путайте курсор и указатель мыши. Указатель мыши применяется, чтобы перемещать курсор. Какая из трех форм будет использована, зависит от того, на каком объекте вы щелкаете мышью. Используя комбинации клавиш, можно целенаправленно перемещать курсор в ту или иную сторону. Текстовый абзац – область, занимающая всю ширину страницы рабочего документа и зарезервированная для размещения текста. Текстовые абзацы позволяют выравнивать текст по заданному образцу и определять отступы для строк. По мере увеличения размера текста он отодвигает соседние области. Текстовые абзацы более удобны для развернутых пояснений. Чтобы создать новую строку в пределах того же абзаца, необходимо нажать комбинацию клавиш Shift+Enter. Чтобы создать новую строку в новом абзаце, достаточно воспользоваться клавишей Enter. Для ввода математических выражений, выполнения тех или иных действий, программирования и т. д. в системе Mathcad используются самые различные операторы. Оператор – это конструкция из специальных символов и операндов (меток). Он определяет: • действие, которое должно выполняться при наличии тех или иных значений операндов; • сколько, где и какие операнды должны быть введены в оператор. В начальной стадии оператор может состоять только из специальных символов и меток (меток-заполнителей). Такой вид часто называют шаблоном оператора. В промежуточной форме он может иметь как операнды, так и метки. Допустим, мы хотим присвоить значение 10,1 переменной А. Это можно сделать несколькими способами: ¾ Первый способ: щелкните на панели инструментов Арифметика по кнопке со знаками := (двоеточие и равно) (см. рис. 1.7). Появится в месте расположения визира шаблон присваивания в таком виде:
42
Интегрированная среда Mathcad ¾ Второй способ: установите указатель мыши в левой метке и введите переменную А. Установите указатель мыши в правой метке и введите значение 10,1 – и получим А :=10.1 ¾ Третий способ: введите операнд А, а затем щелкните по кнопке со знаками := (двоеточие и равно) на панели инструментов Арифметика, получим ¾ Четвертый способ: Введите во вторую метку значение 10.1; ¾ введите операнд А, а затем нажмите комбинацию клавиш Shift+: (двоеточие), получим
¾ введите во вторую метку значение 10.1. Операнд – число или выражение, на которое действует оператор. Например, в выражении 5! + 3 выражение 5! и число 3 – операнды оператора + (плюс), а число 5 – операнд оператора факториала (!). Mathcad прочитывает документ дважды слева направо и сверху вниз. При первом проходе выполняются все действия, предписанные глобальным оператором присваивания (три черты), а при втором – производятся действия, предписанные локальным оператором присваивания :=, и отображаются все необходимые результаты вычислений. Каждое выражение имеет точку привязки. Mathcad использует эти точки, чтобы определить порядок следования выражений. Интегрированная среда Mathcad имеет целый ряд предопределенных математических и системных постоянных. Функция – выражение, согласно которому проводятся некоторые вычисления с заданными аргументами и определяется его числовое значение. Аргументы функции – элементы функции, записываемые в круглых скобках через запятую после имени функции и входящие в состав выражения для данной функции. Функции в Mathcad могут быть встроенные и определенные пользователем. Чтобы определить функцию: ¾ введите в рабочий документ имя функции и левую круглую скобку; ¾ введите список аргументов, отделяемых друг от друга запятыми, и закончите его правой круглой скобкой; ¾ введите двоеточие, что приведет к появлению знака присваивания := и следующего за ним поля ввода; ¾ напечатайте в поле ввода (в правой части) выражение, которое соответствует данной функции. Например, определим функцию умножения двух чисел под именем UMN.
Главные понятия и определения
43
При вычислениях с помощью функций вместо аргументов подставляются их значения. Все переменные, используемые в выражении в поле ввода, должны быть или определены заранее, или входить в список аргументов. Переменные, не имеющие значения, будут отмечены на экране дисплея красным цветом. Чтобы можно было вычислить функцию (выражение, зависящее от какихлибо переменных), значения переменных должны быть определены. Для этого нужно: • ввести имя переменной; • ввести двоеточие, что приведет к появлению знака присваивания := и следующего за ним поля ввода; • напечатать в поле ввода число или выражение. Mathcad вычислит соответствующее значение и присвоит его результат имени переменной.
Таблица 1.1. Предопределенные математические постоянные Имя
Клавиши
Назначение
u ? e i j %
Ctrl+Shift+Z Ctrl+Shift+P e 1i 1j %
Системная бесконечность (10307) Число π (3,14…) Основание натурального алгоритма Мнимая единица Мнимая единица Процент (0,01)
С помощью символа определения := (двоеточие и знак равно) в рабочем документе можно переопределить постоянные точно так же, как и значение любой другой постоянной.
Таблица 1.2. Предопределенные системные переменные Имя
Значение по умолчанию
TOL CTOL ORIGIN PRNPRECISION PRNCOLWIDTH CWD
0,001 0,001 0 4 8 Текущий рабочий каталог в форме строки
Системная переменная TOL устанавливает точность выполнения операций интегрирования, дифференцирования, вычисления корня, управляет выполнением итерационных циклов и т. д. Чем меньше ее значение, тем выше точность получаемых результатов, но увеличивается и время вычисления. Системная переменная CTOL устанавливает точность ограничений в решающем блоке, чтобы решение было допустимым. Решающий блок, управляемый
44
Интегрированная среда Mathcad
CTOL, состоит из ключевого слова Given (Данные), одного или нескольких ограничений и одной из функций оптимизации: minimize (минимизации), maximize (максимизации), find (поиска решения) или minerr (минимизации ошибки). Большое значение CTOL снижает точность решения и наоборот, но при этом может существенно возрасти время вычисления. Можно изменить значение любой из системных постоянных двумя способами: • прямо в рабочем документе с помощью символа определения := (двоеточие и знак равенства); • выбором пункта Опции таблицы… в выпадающем меню пункта Инструменты главного меню. В появившемся диалоговом окне Опции таблицы выбрать вкладку Переменные и определить нужные значения системных переменных (рис. 1.8).
Рис. 1.8. Диалоговое окно Опции таблицы
Основные типы данных в Mathcad Алфавит системы Mathcad содержит: • строчные и прописные латинские буквы; • строчные и прописные греческие буквы; • арабские цифры от 0 до 9; • системные переменные; • операторы; • имена встроенных функций; • спецзнаки; • строчные и прописные буквы кириллицы (при работе с русифицированными документами). К укрупненным элементам системы относятся типы данных, операторы, функции пользователя и управляющие структуры. К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа.
Основные типы данных в Mathcad
45
Константы – это поименованные объекты, хранящие неизменные значения. Числовые константы задаются с помощью арабских цифр, десятичной точки (а не запятой) и знака – (минус). Например: 524 – целочисленная десятичная константа; 524.4 – десятичная константа с дробной частью; 5.244 х 10+2 – десятичная константа с мантиссой (5.244) и порядком +2. Знак умножения “x” при выводе числа на экран меняется на привычную математикам точку, а операция возведения в степень с нажатием клавиши с символом ^ отображает метку (черный квадратик), на месте которой вводится целое число. Диапазон возможных значений числовых констант находится в пределах от 10307 до 10–307 (это машинная бесконечность и машинный ноль). Система Mathcad работает с восьмеричными и шестнадцатеричными числами. Восьмеричные числа имеют основание 8, так что один их разряд может иметь значения от 0 до 7. Такие числа отмечаются в конце латинской буквой О (от слова «octal» – восьмеричное). Шестнадцатеричные числа имеют основание 16, а у их разряда может быть значение: HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Шестнадцатеричные числа отличаются буквой «h» или «Н» (от слова «hexagonal» – шестнадцатеричное) в конце. Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от «decimal» – десятичное). Большинство вычислений система выполняет как с вещественными, так и с комплексными числами, которые обычно представляются в таком виде: Z = ReZ + ImZ х i или Z = ReZ + ImZ x j, где ReZ – действительная часть комплексного числа Z; ImZ – мнимая часть; i, j – обозначают мнимую единицу, то есть квадратный корень из –1. Такое представление характерно и для системы Mathcad (за исключением того, что вместо знака равенства используется знак присваивания). Кроме того, при вводе символов i или j они должны вводиться как 1i или 1j. Ниже приводятся различные формы представления комплексного числа. Re : = 3.3 Im : = 5.5 Z : = Re + Im • j Z = 3.3 + 5.5i V: = Re + i • Im V = 3.3 + 5.5i M: = Re + j • Im M = 3.3 + 5.5i Однако система не всегда знает, какой символ применить для обозначения мнимой единицы. Поэтому перед использованием любых операций с комплекс-
46
Интегрированная среда Mathcad
ными числами полезно определить i или j как мнимую единицу (то есть присвоить им значение квадратного корня из –1. В системе может применяться особый вид констант – единицы измерения размерных величин. Помимо своего числового значения, они характеризуются еще и указанием на то, к какой физической величине относятся. Для этого используется символ умножения. В системе Mathcad заданы следующие основные типы физических величин: time (время), length (длина), mass (масса), charge (заряд) и др. При необходимости их можно заменить другими. Mathcad включает и данные строкового типа – строки, заключенные в двойные кавычки, например: «Введем выражение» или «Установите ручной режим вычисления». В строковую константу могут входить один или несколько символов либо слов. Переменные – это поименованные объекты, имеющие некоторое значение, способное изменяться по ходу выполнения программы. Имена констант, переменных и иных объектов называют идентификаторами. Тип переменной определяется ее значением. Переменные могут быть числовыми, строковыми, символьными и т. д. Идентификаторы в системе Mathcad могут иметь практически любую длину, в них входят любые латинские и греческие буквы, а также цифры. Однако начинаться идентификатор может только с буквы, например: х, xl, alfa, X_coordinate. Кроме того, он не должен содержать пробелов. Некоторые спецсимволы, например знак объединения (_), могут входить в состав идентификаторов, другие (например, знаки операторов арифметических действий) недопустимы. Нельзя использовать для идентификаторов буквы русского алфавита. Строчные и прописные буквы в идентификаторах различаются. Идентификаторы должны быть уникальными, то есть не совпадать с именами встроенных или определенных пользователем функций. Переменные могут быть строкового типа, например: Z := ''Ответ ='' Для обработки строковых констант и переменных в Mathcad введен ряд строковых функций. Mathcad содержит и системные переменные, имеющие предопределенные системой начальные значения. Например, переменная Tol определяет погрешность численных методов. По умолчанию она равна 0,001. Значения системных переменных изменяются путем присваивания новых. Операторы представляют собой элементы языка, с помощью которых можно создавать математические выражения. К ним, в частности, относятся символы арифметических действий, знаки вычисления сумм, произведений, производной и интеграла и т. д. После указания операндов (параметров операторов) операторы становятся исполняемыми. Mathcad позволяет задавать и новые операторы. Система имеет множество встроенных функций, обладающих особым свойством: при обращении к ним по имени с указанием аргумента (или списка аргументов) они возвращают некоторое значение – символьное, числовое, вектор или
Основные типы данных в Mathcad
47
матрицу. Сюда включен ряд функций, например вычисления синуса sin(x) аргумента х, логарифма ln(х) и т. д. Наряду со встроенными функциями могут задаваться и функции пользователя, отсутствующие в Mathcad. Благодаря последним обеспечиваются расширение входного языка системы и его адаптация к задачам пользователя. Функции (наряду с операторами) могут входить в математические выражения. Обычные переменные отличаются от системных тем, что должны быть предварительно определены пользователем, то есть им необходимо хотя бы однажды присвоить значение. В качестве оператора присваивания используется знак := (двоеточие и равно), тогда как знак = (равно) отведен для вывода значения константы или переменной. Попытка использовать неопределенную переменную приводит к сообщению об ошибке – переменная окрашивается в ярко-красный цвет. Полужирный знак равенства используется либо как признак неравенства в операциях сравнения, либо как оператор приближенного равенства (в прежних версиях этот знак имел вид =). В последних версиях Mathcad можно при первом присваивании вводить знак = (например, х = 123). Система сама заменит его символом :=. Такое присваивание называется локальным. Пока переменная не определена, ее нельзя использовать. Однако с помощью знака в виде трех горизонтальных черточек можно обеспечить глобальное присваивание, производящееся из любого места документа. К примеру, если переменной присвоено значение в самом конце документа, то она будет иметь это же значение и в начале. Разумеется, в дальнейшем значение допускается изменить и с помощью операции локального присваивания. Переменные могут использоваться в математических выражениях, быть аргументами функций или операндом операторов. Далее мы рассмотрим особые виды переменных, в частности индексированные (элементы векторов и матриц), а также переменные с заданными пределами их изменения (ранжированные переменные). Статус присваивания не следует путать со статусом самих переменных. Все переменные, описанные выше, являются глобальными, поскольку их можно определять или изменить их значение в любом месте документа. Локальные переменные в системе Mathcad содержатся в телах функций пользователя. Эти функции будут рассмотрены ниже. Переменные могут быть и размерными, то есть характеризоваться не только своим значением, но и указанием физической величины, значение которой они хранят. Для присваивания значений таким переменным используется знак =. Использование неопределенных переменных в математических выражениях может привести к ошибкам. Все они диагностируются и требуют исправления для продолжения вычислений. Дискретные переменные – это переменные, имеющие ряд фиксированных значений, с определенным шагом меняющихся от начального значения до конечного, а также индексированные переменные, которые характеризуются именем и индексом каждого из составляющих элементов. Они широко используются для представления числовых значений функций в виде таблиц и построения их гра-
48
Интегрированная среда Mathcad
фиков. Любое выражение с дискретными переменными после знака равенства инициирует таблицу вывода. Дискретная переменная является, по существу, вектором и часто применяется при построении графиков. Например, для построения графика некоторой функции f(x) прежде всего нужно создать ряд значений переменной х. Важным типом данных в системе Mathcad являются массивы. Массив – это упорядоченная совокупность конечного множества числовых или символьных элементов. В системе Mathcad используются одномерные (векторы) и двумерные (матрицы) массивы. Индекс элемента вектора или матрицы определяет его местоположение – адрес элемента. Нижняя граница индексации задается системной переменной ORIGIN, принимающей значение 0 или 1. Матрица может рассматриваться как совокупность векторов одинаковой длины; например, ее элементы являются индексированными переменными, имена которых совпадают с именами матриц. Но в этом случае для каждой индексированной переменной указываются два индекса: номер строки и номер столбца. Векторы и матрицы в Mathcad задаются несколькими способами. Можно щелкнуть по пункту Матрица… в выпадающем меню пункта Вставить главного меню, нажать комбинацию клавиш Ctrl+M или щелкнуть по кнопке с изображением шаблона матрицы в панели инструментов Матрица. Появится диалоговое окно Вставить матрицу (рис. 1.9).
Рис. 1.9. Диалоговое окно Вставить матрицу
В диалоговом окне Вставить матрицу в поле Строки указывается число строк, а в поле Столбцы – число столбцов в матрице. Для векторов один из этих параметров должен быть равен 1. Если в поле Строки введена 1, то получим вектор-строку, а если в поле Столбцы – то вектор-столбец. Матрица является двумерным массивом с числом элементов, равным произведению числа строк на число столбцов. После ввода числа строк и числа столбцов в диалоговом окне Вставить матрицу и щелчка по кнопке ОК появится шаблон матрицы.
Основные типы данных в Mathcad
49
Элементы векторов и матриц помещаются между большими скобками. Для указания подстрочных (нижних) индексов после имени переменной помещается знак открывающей квадратной скобки, которая переводит систему в состояние ожидания ввода нижних индексов. Для элементов матрицы подстрочные (нижние) индексы разделяются запятыми. Индексы имеют только целочисленные значения. Они могут начинаться с нуля или с целого числа, например с единицы, в соответствии со значением системной переменной ORIGIN. Из матрицы можно извлечь любой элемент – строку или столбец. Допустим, мы имеем матрицу
Например, чтобы извлечь элемент из матрицы М, находящейся в третьей строке и во втором столбце, достаточно представить этот элемент в виде М2,1=, и мы получим искомый результат – 8. По умолчанию нумерация строк и столбцов начинается с нуля. Чтобы извлечь, например, третий столбец матрицы M, достаточно в верхнем индексе в угловых скобках указать его номер: M =. Шаблон для ввода номера столбца (угловые скобки и метка, расположенные в верхнем индексе) появляется после нажатия комбинации клавиш Ctrl+6 или после щелчка на панели инструментов Матрицы по кнопке Столбец матрицы с изображением на ней буквы М с угловыми скобками в верхнем индексе – M (рис. 1.10). В нашем примере результат будет выглядеть так: M = Для того чтобы извлечь, например, первую строку из матрицы M, необходимо вначале транспонировать матрицу, а затем верхним индексом в угловых скобках указать номер строки, например так: (MT)=, используя комбинацию клавиш Ctrl+6. В нашем примере результат будет выглядеть следующим образом:
Рис. 1.10. Панель инструментов Матрицы
На рис. 1.11 приведено решение системы линейных уравнений различными методами.
50
Интегрированная среда Mathcad
Рис. 1.11. Решение системы уравнений в Mathcad
Еще один важный тип данных системы Mathcad – файловые данные. В сущности, это те же векторы и матрицы, но их элементы записываются в файлах, имеющих свои имена. Файлы данных в системе представляют собой запись матриц в их естественной форме последовательных текстовых файлов. Это простейший тип файлов, легко обрабатывается на различных языках программирования, благодаря чему возможен обмен данными между системой Mathcad и другими программами. При создании файла данных система считывает значения элементов векторов и матриц поэлементно (для матриц – слева направо и сверху вниз). Во время считывания числовые значения элементов преобразуются в символьные эквиваленты, использующие ASCII-коды цифр и символы, относящиеся к заданию чисел. Эти значения и записываются в виде файлов данных. Mathcad – это универсальная система вычисления, использующая как численные, так символьные (аналитические) методы вычислений. Однако всегда можно найти специфические примеры, в которых методы Mathcad приводят к неточным или вводящим в заблуждение результатам.
Наиболее важные операторы
51
Чтобы избежать этого: • применяйте функции Mathcad или операторы, включающие числовую аппроксимацию; • установите желаемую точность вычислений, используя системную перемененную TOL.
Наиболее важные операторы Mathcad Mathcad содержит набор различных операторов: арифметические, логические, математического анализа, а также операторы для работы с массивами и операторы, создаваемые пользователем. Кратко рассмотрим их содержание.
Таблица 1.3. Операторы Mathcad Арифметические операторы
Клавиши (комбинации клавиш) Шаблон Пример
Сложение с переносом на следующую строку
Ctrl и Enter
Сложение
Shift и +
X+Y
Деление
/
X/Y
Возведение в степень
Shift и ^
Xn
Факториал
Shift и !
!
Абсолютная величина
Shift и |
||
|X|
• –
X•Y
–
X–Y
Умножение
Shift и *
Отрицание
–
Корень n-й степени
Ctrl+\
X!
–X
Произведение для конечного ряда Ctrl+Shift+3 Произведение по дискретному аргументу для бесконечного ряда Shift и #
Суммирование по дискретному аргументу для бесконечного ряда Shift и $ Квадратный корень Вычитание
\ –
Суммирование для конечного ряда Ctrl+Shift+4
Интегрированная среда Mathcad
52
Таблица 1.3. Операторы Mathcad (продолжение) Логические операторы
Клавиши (комбинации клавиш) Шаблон Пример
Больше Меньше Больше либо равно Меньше либо равно Не равно Равно (жирное) Отрицание (Not) Логическое и (A nd) Логическое или (or) Логическое исключительное или (xor)
Shift и > Shift и < Ctrl и 0 (ноль) Ctrl и 9 Ctrl и 3 Ctrl и = Ctrl и Shift и 1 Ctrl и Shift и 7 Ctrl и Shift и 6
> < ≥ ≤ ≠ = ¬ ∧ ∨
X>Y Z255,255.1.3x) к
• поворот изображения на 180о против часовой стрелки, который можно выполнить, используя операцию реверсирования матрицы P4 := reverse(P); На рис. 2.38 представлены различные операции преобразования изображения. Чтобы сделать изображение доступным другим приложениям, необходимо сохранить его как файл на диске. Имеются два способа: • сохранить изображение в цвете. Например: WRITERGB(''D:\ Mathcad\Mathcad_11\P3.BMP'') := P3;
Создание и редактирование графиков
159
Pис. 2.38. Различные операции преобразования изображения
• cохранить изображение в полутоновом виде. Например: WRITEBMP(''D:\ Mathcad\Mathcad_11\P3.BMP'') := P3. Имена функций должны быть написаны прописными буквами в верхнем регистре. Для восстановления графического изображения до его первоначальных размеров выполните следующие операции: ¾ щелкните мышкой по изображению (рисунку); ¾ щелкните в главном меню по пункту Формат, в выпадающем меню по пункту Свойства. Появится диалоговое окно Properties (Свойства); ¾ щелкните в диалоговом окне Properties на вкладке Отображение (Display) в окошечке Отображать в исходном размере (Display at Original Size) и по кнопке ОК.
Полезные подсказки Используйте Учебное пособие или QuickSheets (Быстрые страницы) из выпадающего меню пункта Помощь главного меню – рис. 2.39.
160
Создание и редактирование математических выражений
Pис. 2.39. Быстрые страницы – QuickSheets
Быстрые страницы обеспечивают быстрый доступ к страницам Mathcad, которые помогут получить больше информации о Mathcad. Чтобы увидеть значение любого численного ответа с максимальной точностью, щелкните по ответу, нажмите комбинацию клавиш Ctrl+Shift+N и посмотрите в строке состояния. Чтобы пересчитать поле, щелкните по нему и нажмите [F9], чтобы пересчитать весь документ, нажмите комбинацию клавиш Ctrl+F9. Web-сайт Mathcad, находящийся по адресу www.mathcad.com, – это источник для файлов с примерами, разработками Mathcad, технической поддержки и информации о последних разработках. Можно работать с матрицами с количеством элементов до 8 миллионов, учитывая возможности вашего компьютера. По умолчанию индексы Mathcad начинаются с 0. Чтобы начать индексирование с 1: ¾ щелкните в главном меню по пункту Инструменты, в выпадающем меню по пункту Опции таблицы. Появится диалоговое окно Опции таблицы; ¾ щелкните в диалоговом окне Опции таблицы по вкладке Переменные; ¾ в текстовом поле Начальный индекс установите начальный индекс, равный 1. Чтобы просмотреть список встроенных функций, каждая из которых имеет описание, щелкните в главном меню по пункту Вставить, а затем в выпа-
Полезные подсказаки
161
дающем меню по пункту Функция или нажмите комбинацию клавиш Ctrl+E. Чтобы получить численное значение выражения, используйте клавишу =. Для получения ответа в символьных переменных нажмите Ctrl+Точка, чтобы получить оператор символьного вычисления →. Функции Minimize и Maximize могут использоваться для решения задач линейного программирования. Mathcad поддерживает Microsoft IntelliMouse и совместимые координатноуказательные устройства. Поворот колесика прокручивает окно на одну линию при каждом касании колесика. Если вы нажимаете [Shift] и проворачиваете колесико, окно прокручивается горизонтально. Вы имеете возможность решать системы до 200 нелинейных уравнений, используя функции Find, Isolve, Minerr. Для просмотра стандартных таблиц с формулами и константами щелкните в главном меню по пункту Помощь, а затем в выпадающем меню по пункту Таблица ссылок. Появится Таблица ссылок – рис. 2.40.
Pис. 2.40. Таблица ссылок для просмотра стандартных таблиц с формулами и константами
Вы можете получить доступ к файлам примеров Mathcad и всем вашим инсталлированным электронным книгам. Для этого:
162
Создание и редактирование математических выражений
¾ щелкните в главном меню по пункту Вид, в выпадающем меню по пункту Панели инструментов, а затем во всплывающем меню по пункту Ресурсы. Появится в пятой строке сверху панель инструментов Ресурсы с раскрывающимся в левой части списком Resources (Ресурсы); ¾ щелкните в раскрывающемся списке по кнопке справа. Появится список ресурсов – рис. 2.41.
Pис. 2.41. Раскрывающийся список ресурсов
В правой части панели инструментов Ресурсы имеется кнопка Go (Идти), щелчок по этой кнопке вызывает учебное пособие – рис. 2.42.
Pис. 2.42. Учебное пособие Mathsoft tutorials
Можно сохранить рабочий лист в Mathcad в формате HTML со встроенным форматом MathML. Это позволит открывать рабочие листы в браузере, а также читать эти файлы в Mathcad без потерь информации.
Полезные подсказаки
163
Используйте компоненту чтения ODBC, для того чтобы считывать данные из баз данных, поддерживающих SQL в драйвере ODBC. В системе Mathcad имеется возможность вставлять кнопки, текстовые блоки, прокрутку и другие элементы управления в рабочее пространство. Данные элементы управления помогают пользователю работать с переменными. Чтобы увеличить выделение в выражении, нажмите [Space]. По умолчанию Mathcad использует стандартные сочетания клавиш Windows, такие как Печать – Ctrl+P, Копировать – Ctrl+C, Вставить – Ctrl+V, Отмена – Ctrl+Z и Поиск – Ctrl+F, Вырезать – Ctrl+X, Удалить Ctrl+D, Выделить все – Ctrl+A и др. Чтобы создать «крупноформатную» таблицу чисел: ¾ щелкните в пустой части рабочего пространства; ¾ щелкните в главном меню по пункту Вставить, а затем в выпадающем меню по пункту Данные. Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Таблица. Появится шаблон для ввода крупноформатной таблицы := Многие функции и операторы, которые работают со скалярными аргументами, также могут работать с векторными, совершая операции над множеством скалярных аргументов за один раз. Например: sin(v), где v – это вектор, дает значения синуса для всех элементов v.
Можно последовательно выделить несколько областей пунктирным прямоугольником, удерживая нажатой клавишу Ctrl. Можно последовательно выделить несколько областей пунктирным прямоугольником, протащив через них нажатую левую клавишу мыши. Перейти вниз от показателя степени можно, нажав клавишу Space или направляющую клавишу вправо. Для того чтобы получить контекстно-зависимую помощь в меню, нажмите комбинацию клавиш Shift+F1, затем нажмите на пункт в меню. Нажмите Shift+F1, чтобы отменить контекстно-зависимую помощь. Чтобы выбрать строковую переменную, щелкните на строковой переменной и используйте клавишу перемещения стрелки вправо, чтобы сдвинуть курсор вертикального выделения до последней пары кавычек. Чтобы отобразить результат в двоичном, восьмеричном или шестнадцатеричном исчислении, щелкните дважды. Появится диалоговое окно Формат
164
Создание и редактирование математических выражений
результата, где вы сможете на вкладке Формат номера изменить систему исчисления. Когда вы набираете слово и нажимаете [Space], Mathcad начинает текстовую область. Чтобы напечатать букву греческого алфавита, набирайте латинский эквивалент и затем нажимайте комбинацию клавиш Ctrl+G. Система конвертирует латинскую букву в греческую. Например, чтобы набрать греческое пи, наберите p и нажмите комбинацию клавиш Ctrl+G. Вы можете форматировать численные результаты как дроби, так и как смешанные числа. Чтобы сделать это: ¾ щелкните по результату для его выделения; ¾ щелкните в главном меню по пункту Формат, в выпадающем меню по пункту Результат. Появится диалоговое окно Формат результата; ¾ щелкните по вкладке Точность. Увеличьте или уменьшите уровень точности, чтобы получить более точный дробный эквивалент вашего результата. Чтобы на рабочем листе разделить все области, щелкните в главном меню по пункту Формат, а затем в выпадающем меню по пункту Отделить области. Можете легко выполнить перенумерацию страниц, для этого щелкните в главном меню по пункту Формат, а затем в выпадающем меню по пункту Перенумерация страниц. Вы можете общаться с другими пользователями Mathcad через онлайновые форумы пользователей. Для этого щелкните в главном меню по пункту Помощь, а затем в выпадающем меню по пункту Форумы пользователей. Чтобы перейти от знаменателя дроби, нажмите клавишу Space. Можно подобрать свой режим вычисления в рабочем пространстве: ¾ щелкните в главном меню по пункту Инструменты, а затем в выпадающем меню по пункту Вычисления. Появится всплывающее меню; ¾ выберите во всплывающем меню нужный режим работы: Вычислить сейчас, Вычислить таблицу, Автоматическое вычисление. Чтобы отменить последовательность изменений в редактировании в математической области, нажмите комбинацию клавиш Alt+Backspace. Для того чтобы передвинуть вставку из одной стороны выражения в другую, нажмите клавишу Ins. Для быстрого удаления области щелкните по ней для ее выделения и нажмите комбинацию клавиш Ctrl+D или щелкните в главном меню по пункту Правка, а затем в выпадающем меню по пункту Удалить. Будьте осторожнее с этой опцией, так как ее нельзя отменить. Единственный способ вычислить производную в символьных переменных – заполнить оператор производной и затем нажать комбинацию клавиш Ctrl+. (точка). Для удаления оператора в выражении поместите вертикальную линию редактирования между оператором и операндом. Нажмите клавишу Del, чтобы удалить оператор справа от вертикальной линии, или Bksp, чтобы удалить оператор слева.
Полезные подсказаки
165
Вы можете создать новую строку в том же параграфе в текстовой области, нажав комбинацию клавиш Shift+Enter. Чтобы создать новую строку в новом параграфе, нажмите клавишу Enter. Вы можете создать текстовую область и занять всю ширину страницы. Для этого: ¾ щелкните в текстовой области правой клавишей мыши. Появится контекстно-зависимое меню; ¾ щелкните в контекстно-зависимом меню по пункту Properties (Свойства); ¾ щелкните по вкладке Текст, а в ней по переключателю Разместить на ширину страницы. Для решения уравнения в символьных величинах используйте комбинацию клавиш Ctrl+=. Это действие вставит полужирный (булевый) знак равенства. Единственный способ найти символьную производную выражения – это напечатать выражение без оператора производной и выделить переменную интегрирования. Например:
Далее: ¾ щелкните в главном меню по пункту Символы, в выпадающем меню по пункту Переменная. Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Дифференциалы. Появятся результаты символьного дифференцирования. Чтобы определить элемент массива x с индексом 3, наберите x[3. (Это будет четвертый элемент, если вы используете по умолчанию систему отсчета от 0.) Чтобы поставить индекс переменной, которая не является элементом массива, используйте точку вместо [. Например, x.init даст вам переменную x с индексом init. xinit Чтобы изменить единицы измерения в ответе от единиц измерения по умолчанию, щелкните по ответу, щелкните по заполнителю, который появляется справа от ответа, и затем наберите название желаемых единиц измерения. При завершении операции Mathcad переконвертирует ответ к выбранным вами единицам. Для того чтобы вставить в Mathcad объект из другого приложения, щелкните в главном меню по пункту Правка, а затем в выпадающем меню по пункту Вставка специальная. Там можно выбрать тип объекта, который вы хотите поставить. По умолчанию в Mathcad единицы измерения угла – радианы. Например, если вы наберете sin(3), Mathcad посчитает, что вы используете радианы. Для того чтобы вычислить синус 3 градусов, наберите Для того чтобы перевести ответ из радиан в градусы, наберите deg в заполнителе справа от ответа. Для того чтобы применить функцию или операцию к вектору или матрице величин элементов, используйте Ctrl+-.
166
Создание и редактирование математических выражений
Чтобы поставить векторную стрелку над выражением, нажмите комбинацию клавиш Ctrl+-. Скалярные и векторные ответы могут быть скопированы и поставлены в любые другие выражения. Для этого выделите результат и щелкните в главном меню по пункту Правка, а затем в выпадающем меню по пункту Копировать или нажмите комбинацию клавиш Ctrl+С. Если вы не запомнили аббревиатуру для одной из единиц измерения: ¾ щелкните в главном меню по пункту Вставить, а затем в выпадающем меню по пункту Единицы Измерения. Появится диалоговое окно Вставить блок; ¾ щелкните в разделе Измерение по нужному параметру, например Force (Сила). В разделе Блок появятся единицы измерения для выбранной системы измерений – рис. 2.43. Переменные, определенные внутри программы Mathcad, являются локальными – их значения известны только внутри программы. Однако программе известны значения всех переменных, которые вы определяете выше или слева от программы в вашем рабочем пространстве.
Pис. 2.43. Диалоговое окно Вставить блок
Чтобы сохранить какую-либо область от вычислений: ¾ щелкните по ней правой клавишей мыши. Появится контекстно-зависимое меню; ¾ щелкните в контекстно-зависимое меню по пункту Properties (Свойства). Появится диалоговое окно Properties; ¾ щелкните по вкладке Вычисление, а в ней по переключателю Запретить вычисления. В переключателе появится галочка, свидетельствующая о включении этого режима. Есть три различных типа знаков «равенства» в Mathcad: • = – если требуется получить ответ в числовом варианте; • : – для определения переменной. Он формирует определяющий символ, который выглядит следующим образом :=; • Ctrl+= определяет равенство между двумя величинами Булевый знак равенства. Используйте это Булево равенство в проверках условия и в уравнениях, которые вы хотите решить.
Полезные подсказаки
167
Если вам необходимо сделать переходы от температуры по Фаренгейту в температуру по Цельсию и наоборот, определите эти простые преобразования функциями: F_to_C(x) := (5/9) . (x – 32), C_to_F(x) := 32 + (9/5) . x. Чтобы проинтегрировать множество данных y, дискретно представленных в неравномерно распределенных по времени точках x, используйте интерполяцию: Определите f(t) := linterp(x,y,t), а затем используйте оператор численного интегрирования, чтобы проинтегрировать f от наименьшего до наибольшего значения x. Чтобы включить флажок, переключатель, кнопку, текстовый блок, список и движок в рабочую области: ¾ щелкните в главном меню по пункту Вставить, а затем в выпадающем меню по пункту Элемент. Появится всплывающее меню; ¾ щелкните во всплывающем меню по нужному элементу (рис. 2.44).
Pис. 2.44. Элементы управления
Если вы выделили группу областей и хотите отменить выделение для одной из них, нажмите клавишу Ctrl и щелкните по этой области для отмены выделения.
168
Создание и редактирование математических выражений
MathSoft представляет множество специальных дисциплинарных добавлений к Mathcad , которые расширяют возможности Mathcad в различных областях применения. Более подробная информация находится на сайте www.mathcad.com. Можете считывать данные из файлов в диалоговом режиме. Для этого: ¾ щелкните в главном меню по пункту Вставить, в выпадающем меню по пункту Данные. Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Ввод файла. Появится диалоговое окно Параметры файла – рис. 2.45;
Pис. 2.45. Диалоговое окно Параметры файла
¾ введите имя файла или источника данных, который будет связан с этим компонентом; ¾ щелкните по кнопке Готово.
Глава 3 Основной инструментарий системы Mathcad Меню работы с файлами ........ 170 Меню редактирования ............ 179 Меню просмотра .................... 188 Меню управления вставкой .... 193 Меню управления форматом ............ 219 Меню математических средств ........ 231 Меню символьных средств ..... 249 Меню управления окнами ....... 253 Меню помощи ........................ 256
170
Основной инструментарий системы Mathcad
Основным инструментарием системы Mathcad 11 является главное меню, которое включает девять главных пунктов, каждый из которых вызывает соответствующее выпадающее меню: • Файл (File) – меню работы с файлами; • Правка (Edit) – меню редактирования; • Вид (View) – меню просмотра; • Вставить (Insert) – меню управления вставкой; • Формат (Format) – меню управления форматом; • Инструменты (Math) – меню математических средств; • Символы (Symbolics) – меню символьных средств; • Окно (Window) – меню управления окнами; • Помощь (Help) – меню помощи.
Меню работы с файлами Состав и структура меню Пункт Файл (File) главного меню служит для работы с файлами документов. Файл – это именованная упорядоченная совокупность данных или кодов программ на диске, имеющая имя и расширение. Файлы документов в Mathcad записываются с расширением .mcd, которое указывается сразу после имени файла. Они имеют текстовый формат, их легко прочитать и модифицировать при помощи любого текстового редактора. Файлы документов Mathcad – это файлы, которые содержат полный текст программы, выводящей документ в окно редактирования, с указаниями координат расположения блоков, фактического содержания и характера выполняемых операций, форматов предоставления информации и т. д. Файлы могут содержать и результаты вычислений. Предусмотрена возможность записи документов и в особом формате RTF (Rich Text Format – расширенный текстовый формат), созданном для хранения сложных многокомпонентных данных (содержащих тексты и графики). В Mathcad используются программы вывода документа, поэтому файлы с расширением .mcd невелики по размеру и их легко передавать по современным средствам телекоммуникаций, например по Internet. Они требуют небольшого свободного пространства на дисках для записи. Помимо обычных операций работы с файлами (их запись на диск и загрузка с диска), предусмотрены возможности распечатки документов принтерами различного типа. Выбор в главном меню пункта Файл (File) или Рис. 3.1. Выпадающее меню нажатие комбинации клавиш Alt+F вызывает выпапункта Файл главного меню дающее меню работы с файлами (рис. 3.1).
Меню работы с файлами
171
Выпадающее меню пункта File главного меню включает большой набор пунктов: • Новый (New) Ctrl+N • Открыть (Open) Ctrl+O • Закрыть (Close) • Сохранить (Save) Ctrl+S • Сохранить как (Save As…) • Сохранить как Web-страницу (Save As Web-page) • Параметры страницы (Page Setup) • Предварительный просмотр (Print Preview) • Печать (Print) Ctrl+P • Передать (Send) • Список четырех последних вызванных файлов • Выход (Exit)
Создание нового файла При выборе пункта Новый (New) выводится диалоговое окно Новый, показанное на рис. 3.2. В диалоговом окне Новый щелкните по пункту Пустой документ (Blank Worksheet – пустой рабочий лист). После щелчка по кнопке ОК появится окно для создания рабочего листа, оно пока без названия, например Без названия:3 (Untitled:3) (рис. 3.3). Если щелкнуть по значку, расположенному во второй строке слева, то появится контекстное меню, которое включает ряд Рис. 3.2. Диалоговое окно Новый пунктов: • Восстановить (Restore) – восстанавливает прежний размер окна; • Переместить (Move) – обеспечивает перемещение окна в другое место; • Размер (Size) – изменяет размер окна. При выборе этого пункта указатель мышки изменит свою форму и примет вид четырех стрелок, направленных в противоположные стороны. Если вы нажмете на клавишу перемещения со стрелкой вниз ↓ (вверх ↑), то указатель мышки мгновенно переместится на нижнюю (верхнюю) границу окна и примет вид двух стрелок, направленных вверх и вниз. Перемещая мышку вверх (вниз) или нажимая клавиши перемещения вниз ↓ (вверх ↑), будет соответственно изменяться высота окна. Если вы нажмете на клавишу перемещения со стрелкой влево ← (вправо →), то указатель мышки мгновенно переместится на левую (правую) границу окна и превратится в две стрелки, направленных влево и вправо. Перемещая мышку влево (вправо) или нажимая клавиши перемещения влево ← (вправо →), будет соответственно изменяться ширина (длина) окна. Чтобы зафиксировать тот или иной размер окна, щелкните левой кнопкой мышки или нажмите клавишу Enter;
172
Основной инструментарий системы Mathcad
Рис. 3.3. Окно создания нового документа
• Свернуть (Minimize) – сворачивает окно до минимальных размеров (уменьшенный размер заголовка окна); • Развернуть (Maximize) – разворачивает нормальное или свернутое окно до максимально возможных размеров; • Закрыть (Close) – закрывает окно. Это же действие может быть обеспечено нажатием комбинации клавиш Ctrl+F4; • Следующее окно (Next) – обеспечивает переход к следующему окну. Это же действие может быть выполнено путем нажатия комбинации клавиш Ctrl+F6. В правой части строки заголовка текстового окна имеются три кнопки. Первая кнопка Свернуть (Minimize) и вторая кнопка Развернуть (Maximize) позволяют изменять размер окна, правая Закрыть (Close) закрывает окно.
Открытие существующего файла Пункт выпадающего меню Открыть (Open) или нажатие комбинации клавиш Ctrl+O вызывает диалоговое окно Открыть (рис. 3.4). Щелкнув дважды левой кнопкой мышки по нужному файлу, вы откроете рабочий документ, находящийся в этом файле. Активизация курсором мышки кнопки Отмена (Cancel) диалогового окна (или нажатие клавиши Esc) ведет к отказу от операций выбора файла. Вызвать диалоговое окно открытия файла Открыть можно и нажатием клавиши F5. Чтобы увидеть в текущей директории список рабочих документов
173
Меню работы с файлами
Рис. 3.4. Диалоговое окно открытия файла Открыть
Mathcad, сделайте двойной щелчок на имени документа, который вы хотели бы открыть. Для изменения текущей директории щелкните по кнопке раскрывающегося списка в верхней части диалогового окна Открыть. Найдите нужный файл и дважды щелкните по нему мышкой. На экране появится окно для работы с этим файлом. В файле (документе) могут содержаться формулы, шаблоны графиков, …, но не результаты. После загрузки такого файла начинается автоматическое вычисление формул, построение графиков, … Можно отключить этот режим, тогда загруженный документ не будет исполняться до подачи команды на вычисления. Для отмены режима автоматического вычисления при открытии файла: ¾ щелкните в главном меню по пункту Инструменты (Math), а затем в выпадающем меню по пункту Опции таблицы (Options). Появится диалоговое окно Опции таблицы (Options); ¾ щелкните по вкладке Вычисление (Calculation) и по переключателю Пересчитывать автоматически (Recalculate automatically), если он не включен – отсутствует галочка (флажок) в окошечке перед пунктом. Для вызова одного из недавно использовавшихся документов достаточно указать курсором мыши его имя в списке, размещенном над пунктом Выход (Exit) в выпадающем меню пункта Файл (File) главного меню. Щелкнув один раз левой кнопкой мышки, можно загрузить выбранный файл в текущее окно редактирования.
Закрытие текущего файла Пункт выпадающего меню Закрыть (Close) закрывает активное окно, то есть окно текущего рабочего листа (документа), и система переходит к работе с окном предшествующего документа (либо к пустому первому окну, если другие документы не вводились).
174
Основной инструментарий системы Mathcad
Как уже отмечалось, система Mathcad для работы с каждым документом создает свое окно. Текущее окно обычно видно на переднем плане. Пункт Закрыть позволяет убрать ставшее ненужным окно текущего документа и освободить память для ввода новых документов. Если какой-либо из документов в закрываемых окнах подвергался модификации, то появится диалоговое окно сообщений Mathcad при закрытии файла (рис. 3.5). В этом диалоговом окне система спрашивает, надо ли сохранять изменения в таком-то файле.
Рис. 3.5. Диалоговое окно сообщений Mathcad
Если документ не модифицировался, соответствующее окно просто закрывается. Пункт Закрыть является эффективным средством освобождения памяти, особенно когда закрывается окно с большим документом. Не рекомендуется использовать большое число открытых окон с целью экономии памяти. Можно при заполнении всех окон вместо использования пункта Закрыть задать выход из системы с помощью команды Выход (Exit). Тогда все окна, содержащие не подвергнутые модификации документы, закроются автоматически. Закрытие модифицированных документов сопровождается запросом о том, желаете ли вы сохранить документ в измененном виде или нет. После этого надо вновь загрузить Mathcad. Быстро закрыть окна по одному без выхода из системы Mathcad можно путем нажатия комбинации клавиш Ctrl+F4 (каждое такое нажатие закрывает очередное окно).
Сохранение файла в текущем каталоге Пункт выпадающего меню Сохранить (Save) или нажатие комбинации клавиш Alt+S сохраняет открытый файл. Этот пункт записывает файл на диск с использованием его текущего имени и с учетом всех изменений, которые вводились в документ в ходе его редактирования, доработки или дополнения. Такая операция удобна, если вы совершенствуете ранее созданный и имеющий свое имя документ. Она дает быстрый способ записи файла на диск без поиска его места в файловой структуре и без изменения имени. Следует с осторожностью пользоваться этим пунктом, когда вы модернизируете какой-либо документ, но желаете сохранить оригинал. В случае применения пункта Сохранить исходный файл-оригинал будет заменен новым. Чтобы этого не произошло, следует использовать пункт Сохранить как… (Save As…). Пунктом Сохранить рекомендуется пользоваться периодически при подготовке сложных документов. Это позволяет сохранить все изменения в документах и избежать потери документа при ошибочных действиях, например при случайном выключении компьютера до записи файла.
Меню работы с файлами
175
Сохранение файла в другом каталоге Пункт выпадающего меню Сохранить как… (Save As…) вызывает диалоговое окно Сохранить как, с помощью которого можно сохранить файл под новым именем и/или в новом месте, в другом формате (рис. 3.6).
Рис. 3.6. Диалоговое окно сохранения документа под другим названием и/или в другом месте, формате Сохранить как
Mathcad дает возможность сохранять создаваемые файлы с различными форматами. Список возможных форматов, в которых может храниться тот или иной документ, появляется после щелчка по кнопке со стрелкой вниз в пункте Save as type (Сохранить как тип): • Mathcad Worksheet (*.mcd) – сохранять в формате системы Mathcad; • HTML/MathML File (*.htm) – сохранять в формате HTML; • Rich Text Format File (*.rtf) – сохранять в расширенном текстовом формате; • Mathcad Template (*.mct) – сохранять в формате шаблона; • Mathcad 2001i Worksheet (*.mcd) – сохранять в формате системы Mathcad 2001i; • Mathcad 2001 Worksheet (*.mcd) – сохранять в формате системы Mathcad 2001; • Mathcad 2000 Worksheet (*.mcd) – сохранять в формате системы Mathcad 2000; • Mathcad 8 Worksheet (*.mcd) – сохранять в формате системы Mathcad 8; • Mathcad 7 Worksheet (*.mcd) – сохранять в формате системы Mathcad 7; • Mathcad 6 Worksheet (*.mcd) – сохранять в формате системы Mathcad 6. Файлы системы Mathcad невелики по размеру, и их легко передавать по современным средствам передачи информации.
176
Основной инструментарий системы Mathcad
Сохранение файла как Web-страницы Пункт выпадающего меню Сохранить как Web-страницу… вызывает диалоговое окно, аналогичное диалоговому окну Сохранить как.
Установка параметров страницы, просмотр и печать Пункт выпадающего меню Параметры страницы (Page Setup) дает возможность установить параметры печатаемой страницы. При его вызове появляется диалоговое окно Параметры страницы, показанное на рис. 3.7.
Рис. 3.7. Диалоговое окно Параметры страницы
В первом разделе Бумага (Paper) в верхнем раскрывающемся списке Размер (Size) устанавливается размер документа. Имеется целый список различных форматов с размерами как в дюймах, так и в миллиметрах. В нижнем раскрывающемся списке Источник (Source) устанавливается способ подачи бумаги: ручной, ленточный или из питателя. В разделе Ориентация (Orientation) можно выбрать портретную Книжную (Portrait) или Альбомную (Landscape) ориентацию страницы. Возможны также установки ширины отступа (поля) со всех сторон бумажного листа: Левая (Left), Правая (Right), Верх (Тор) и Низ (Bottom). Отступы устанавливаются в дюймах или в миллиметрах. Кнопка Отмена (Cancel) отменяет эту операцию, а ОК фиксирует ее данные. Кнопка Принтер (Printer) предназначена для вызова другого диалогового окна, в котором указываются названия принтера и других параметров.
Меню работы с файлами
177
Предварительный просмотр Пункт выпадающего меню Предварительный просмотр (Print Preview…) предназначен для просмотра документа перед печатью. Часто до печати документа полезно просмотреть его расположение на странице. Пункт Предварительный просмотр выводит диалоговое окно с изображением будущей страницы – рис. 3.8.
Рис. 3.8. Диалоговое окно Предварительный просмотр
Вверху окна видны кнопки управления просмотром страницы: Печать (Print) – для запуска печати, След. Стр (Next) – переход к следующей странице, Пред. Стр (Previous) – переход к предыдущей странице, Две Страницы (Two page) – показать две страницы; …Крупнее – увеличить изображение, …Мельче – уменьшить изображение, Закрыть (Close) – выход из режима предварительного просмотра и закрытие диалогового окна. В нижней части окна предварительного просмотра предлагаются подсказки, например: Press F1 for help (Нажмите клавишу F1 для помощи).
Печать документа Пункт выпадающего меню Печать (Print…) или нажатие комбинации клавиш Ctrl+P вызывает диалоговое окно печати Печать (Print) для ввода имени принтера, числа копий и ряда других установок. У пункта Печать… есть на панели инструментов дублирующая пиктограмма с изображением принтера.
178
Основной инструментарий системы Mathcad
Диалоговое окно Печать, показанное на рис. 3.9, представляет собой стандартное окно печати Windows. Используя его, вы имеете возможность устанавливать параметры принтера.
Рис. 3.9. Диалоговое окно Печать
Выбрав пункт Печать, можно распечатать весь текст документа с комментариями, математическими формулами, таблицами и графиками. Печать производится на принтере в графическом режиме и не очень быстро. Зато используются все шрифты и печатаются все специальные знаки. Есть возможность печатать и части документа. Документы Mathcad могут иметь двойную ширину и большую длину. Тогда вначале печатаются все страницы левой половины широкого документа, а затем уже страницы правой половины, даже если они пустые (разумеется, при этом принтер вытолкнет пустой лист). Склеив страницы, вы получите полную распечатку документа. Ниже пункта Печать… приводится список файлов, с которыми недавно работал пользователь и которые могут быть вызваны щелчком мышки по одному из них.
Передача документа по электронной почте Пункт выпадающего меню Передать (Send) начинает процесс подготовки к отправке активного документа Mathcad по электронной почте. После выбора пункта Передать, если нет соединения с электронной почтой, появится сообщение (рис. 3.10).
Рис. 3.10. Сообщение при отсутствии электронной почты
Меню редактирования
179
Выход из Mathcad Пункт выпадающего меню Выход (Exit) – или нажатие комбинации клавиш Alt+F4 – предназначен для выхода из системы Mathcad. Перед выходом необходимо, чтобы все загруженные ранее документы, подвергавшиеся редактированию и модификации, были сохранены на диске с помощью команды Сохранить как… (Save As…) или Сохранить (Save). Тогда при выборе пункта Exit можно наблюдать последовательное исчезновение окон документов. Если пользователь забыл записать какой-либо документ на диск, система сообщит об этом, выдав запрос. Нужно ответить Y, если документ нужно сохранить, и N – если сохранения не требуется. Не следует полностью выходить из системы, если вам необходим лишь временный выход из нее. В этом случае лучше свернуть Mathcad в пиктограмму, активизировав курсором мышки кнопку с жирной горизонтальной чертой в конце титульной строки окна. Можно также воспользоваться переключателем программ Windows, нажимая комбинацию клавиш Alt+Tab и выбирая программу по названию, появляющемуся в верхней части экрана.
Меню редактирования Состав и структура меню При выборе пункта Правка (Edit) (Редактирование) главного меню или при нажатии комбинации клавиш Alt+E начинается операция редактирования – рис. 3.11. Для выполнения того или иного действия можно воспользоваться следующими пунктами меню: Выпадающее меню пункта Правка (Edit) главного меню включает большой набор пунктов: • Отмена (Undo) или нажатие комбинации клавиш Ctrl+Z – отменяет последнюю операцию редактирования; • Возврат (Redo) или нажатие комбинации клавиш Ctrl+Y – возвращает отмененную последнюю операцию редактирования; • Вырезать (Cut) или нажатие комбинации клавиш Ctrl+X – вырезает выделенный фрагмент и помещает его в буфер обмена данных; • Копировать (Copy) или нажатие комбинации клавиш Ctrl+C – копирует выделенный фрагмент и помещает его в буфер обмена данных; • Вставить (Paste) или нажатие комбинации клавиш Рис. 3.11. Выпадающее Ctrl+V – вставляет помещенный в буфер обмена меню пункта Правка главного меню данных фрагмент в рабочий лист;
180
Основной инструментарий системы Mathcad
• Вставка специальная (Paste Special) – вставляет объект из другого приложения; • Удалить (Delete) или нажатие комбинации клавиш Ctrl+D – удаляет выделенный фрагмент; • Выделить все (Select All) или нажатие комбинации клавиш Ctrl+A – выделяет все области рабочего листа; • Поиск (Find) или нажатие комбинации клавиш Ctrl+F – обеспечивает поиск фрагмента текста; • Замена (Replace) или нажатие комбинации клавиш Ctrl+H – обеспечивает поиск одного фрагмента текста и замену его на другой; • Переход к странице (Go to Page) – обеспечивает переход к указанной странице в соответствующем диалоговом окне Go to Page; • Связи (Links) – обеспечивает установку связи объекта с приложением; • Объект (Объект) – обеспечивает ввод объекта из другого приложения.
Отмена последней операции редактирования Пункт выпадающего меню Отмена (Undo) или нажатие комбинации клавиш Ctrl+Z отменяет последнюю из выполненных операций. Обычно этот пункт применяется, если в ходе редактирования установлено, что введен неправильный знак либо неверное имя или значение переменной. Тогда следует отменить последнюю операцию редактирования, что и делает пункт Undo: он восстанавливает то содержимое блока, которое было в нем до начала операции. Однако эта отмена применима только к тем блокам, в которые введен курсор и в которых операции редактирования начаты. В других случаях пункт Undo неактивен.
Восстановление операции редактирования Однако, отменив последнюю операцию редактирования, пользователь иногда все же решает ввести ее снова. Пункт выпадающего меню Возврат (Redo) или нажатие комбинации клавиш Ctrl+Y дают возможность повторно выполнить последнюю из отмененных команд.
Удаление фрагмента документа Пункт выпадающего меню Вырезать (Cut) или нажатие комбинации клавиш Ctrl+X переносит (вырезает) выделенный фрагмент документа в буфер обмена данных. Выделить объект можно сплошным или пунктирным прямоугольником. Для выделения сплошным прямоугольником необходимо ввести в объект графический курсор и дважды щелкнуть левой кнопкой мыши. Для пересылки выделенного объекта в буфер обмена можно использовать и нажатие клавиши F3. Объект или группу объектов можно выделить и пунктирным прямоугольником. Подведите курсор к объекту (но не вводите в него), щелкните левой кнопкой
Меню редактирования
181
мышки и, не отпуская, перемещайте мышь по диагонали. На экране появится прямоугольник из пунктирных линий, размеры которого задаются перемещением мышки. Как только в этот прямоугольник попадет хотя бы часть какого-либо объекта, этот объект будет обведен прямоугольником из пунктирных линий. Когда левая клавиша мышки будет отпущена, основной прямоугольник исчезнет, но все выделенные объекты останутся. Так можно выделить сразу несколько объектов (рис. 3.12). В этом случае они будут обведены пунктирными линиями.
Рис. 3.12. Выделение нескольких объектов пунктирным прямоугольником
Для выделения одиночных объектов целесообразно использовать мышку при нажатой и удерживаемой клавише Ctrl или Shift. Подведите указатель мышки к объекту и щелкните левой кнопкой – объект будет обведен пунктирным прямоугольником. После этого переходите к следующему объекту. Группа выделенных объектов ведет себя как единый блок, который можно перетаскивать при нажатой левой кнопке мыши. Для переноса достаточно удерживать курсором мыши край выделения любого блока и добиться, чтобы курсор превратился в изображение ладони. Это будет означать возможность перемещения блоков. Напоминаем: если курсор приобретает вид двусторонних стрелок, значит, можно растянуть выделенный блок. При выделении мышкой текстовых надписей можно выделить и любой фрагмент текста вплоть до одиночного символа, а в формулах – любую переменную.
182
Основной инструментарий системы Mathcad
Однако в математических выражениях нельзя выделять отдельные символы в именах функций, только целиком. Пункт меню Вырезать (Cut) выполняется также нажатием комбинации клавиш Shift+Del. Щелчок левой кнопки мышки вне выделенных объектов снимает все выделения.
Копирование фрагмента документа Пункт выпадающего меню Копировать (Copy) или нажатие комбинации клавиш Ctrl+C выполняет действие, аналогичное действию пункта Cut (Вырезать), но с существенным отличием: выделенный объект (или блок объектов) переносится в буфер обмена данных, но не уничтожается в окне редактирования. Эта операция обычно используется в том случае, когда нужно перенести заданный объект в несколько документов, оставив при этом оригинал на своем месте, или если объект либо блок объектов нужно повторить в другом месте документа. Это особенно важно при составлении окончательного документа из частей других документов. Если переключиться в другое окно, то скопированная и занесенная в буфер обмена информация может быть помещена в это окно с помощью пункта Вставка (Paste), описанного ниже. Можно также перетаскивать объекты из одного документа в другой, зацепив их указателем мышки (в форме ладони), прямо из одного окна в другое – метод Drag and Drop (Перетащи и брось). Он намного облегчает перенос и делает его более наглядным. Если отпустить левую клавишу мыши, то объекты появятся в другом документе и исчезнут в первом (где они были до этого).
Вставка фрагмента документа Пункт выпадающего меню Вставка (Paste) или нажатие комбинации клавиш Ctrl+V переносит изображения объектов из буфера обмена данных в окно и располагает их в месте нахождения графического курсора. Эта операция выполняется также нажатием клавиши F4 или комбинации клавиш Shift+Ins. При применении операции Вставка содержимое буфера обмена данных сохраняется и команду можно использовать неоднократно. Это особенно удобно, если нужно дублировать объекты, когда, например, какая-либо формула или математическое выражение встречаются в тексте документа несколько раз. С помощью описанных операций вырезания и копирования объекта в буфер обмена данных и вывода его содержимого в окно (не обязательно исходное) можно переносить объекты из одного окна в другое.
Специальная вставка фрагмента документа Пункт выпадающего меню Вставка специальная (Paste Special) позволяет вставлять в документ данные, представленные файлами различных форматов: текстового, Mathcad, RTF и Bitmap. Например, можно подготовить рисунок в графиче-
Меню редактирования
183
ском редакторе PaintBrush и перенести его в документ системы Mathcad. Пункт Вставка специальная вызывает появление диалогового окна Вставка специальная (рис. 3.13), в котором можно выбрать доступный для нее формат.
Рис. 3.13. Диалоговое окно Вставка специальная
Удаление фрагмента документа Пункт выпадающего меню Удалить (Delete) или нажатие комбинации клавиш Ctrl+D служит для удаления выделенного объекта, блока выделенных объектов без занесения их в буфер обмена данных. При реализации этого пункта можно легко стереть нужный объект, но нельзя затем восстановить; придется создавать его снова.
Выделение всех элементов документа Пункт выпадающего меню Выделить все (Select All) или нажатие комбинации клавиш Ctrl+A выделяют все объекты пунктирными прямоугольниками. Это позволяет не только наблюдать взаимное расположение блоков, но и ясно видеть степень их совмещения. Чтобы избежать последнего, щелкните в главном меню по пункту Формат (Format), а затем в выпадающем меню – по пункту Отделить области (Separate Regions). При переносе объектов или при их редактировании возможно частичное и даже полное наложение блоков одних объектов на другие. В этом случае может исчезнуть часть изображения некоторых объектов. Выделение всех объектов полезно для контроля такой ситуации.
Поиск фрагмента текста Пункт выпадающего меню Поиск (Find) или нажатие комбинации клавиш Ctrl+F вызывает диалоговое окно Поиск для поиска заданного фрагмента текста в появившемся диалоговом окне Поиск (рис. 3.14). В текстовом поле Найти (Find what:) ввести фрагмент текста или выражения для поиска. С целью повышения эффективности поиска можно ограничить его область, установив галочку в нужных окошках переключателей:
184
Основной инструментарий системы Mathcad
Рис. 3.14. Диалоговое окно поиска Поиск
Только слово целиком (Match whole word only); Учитывать регистр (Match case); Поиск в Тексте (Find in Text Regions); Поиск в Математике (Find in Math Regions). Можно задать в разделе Направление (Direction) направление поиска: Назад (Up) или Вперед (Down). Для продолжения поиска используется кнопка Найти далее (Find Next). Кнопка Отмена (Cancel) отменяет процесс поиска.
Замена фрагмента текста Пункт выпадающего меню Замена (Replace) или нажатие комбинации клавиш Ctrl+H вызывает диалоговое окно Замена для замены одного фрагмента текста или выражения другим (рис. 3.15).
Рис. 3.15. Диалоговое окно Замена
Для замены фрагмента текста в текстовых областях необходимо в текстовом поле Найти (Find what:) появившегося диалогового окна Замена (рис. edit_repl) ввести фрагмент текста или выражения для поиска. Затем в текстовом поле Заменить на: (Replace with:) ввести фрагмент текста для замены. Для повышения эффективности поиска и замены можно ограничить область поиска, установив галочку в нужных окошках: Только слово целиком (Match whole word only); Учитывать регистр (Match case); Поиск в Тексте (Find in Text Regions); Поиск в Математике (Find in Math Regions). Для продолжения поиска используется кнопка Найти далее (Find Next). Кнопка Отмена (Cancel) отменяет процесс поиска. Кнопка Замена (Replace) предназначена для одной замены, а кнопка Заменить все (Replace All) – для выполнения всех замен.
Меню редактирования
185
Пункты Поиск и Замена выпадающего меню Правка (Edit) можно использовать для поиска и замены как в текстовых, так и в математических областях. По умолчанию, однако, Mathcad находит и заменяет текст только в текстовых областях. Используйте доступные режимы поиска и замены в диалоговых окнах Поиск (Find) и Замена (Replace) – поиск вверх или вниз от начала места поиска в рабочем листе; поиск слова или фрагмента слова, учитывать регистр или нет.
Переход к нужной странице Пункт выпадающего меню Переход к странице (Go to Page) обеспечивает вызов диалогового окна Переход к странице для перехода к другой странице (рис. 3.16). В диалоговом окне указываются три варианта перехода (Go to): Первая страница (First Page), Последняя страница (Last Page), Страница N (Page Number). В нижней части диалогового окна находятся два окна сообщения: Число страниц (Number of Pages) и Текущая страница (Current Page).
Установка связи объекта с приложением Пункт выпадающего меню Связи (Links) предназначен для управления OLE (Object Linking Embedding – связывание и внедрение объектов) связями с другими документами и вызывает соответствующее диалоговое окно Связи (рис. 3.17). Управление OLE в Mathcad отличается от простого обмена данными между приложениями в первую очередь тем, что дает возможность полноценной работы с каждым объектом в составном документе после формирования последнего. Пункт Связи (Links) используется после внедрения объектов с применением пунктов Вставка объекта (Insert Рис. 3.16. Диалоговое окно Переход Object) и Вставка специальная (Paste Special). к странице
Рис. 3.17. Диалоговое окно Связи
186
Основной инструментарий системы Mathcad
С помощью этого диалогового окна Связи можно редактировать связи с внедренным объектом, открывать и менять источник объектов и прерывать связь. Диалоговое окно Связи имеет ряд кнопок: Отмена (Cancel); Обновить сейчас (Update); Открыть источник (Open Source); Сменить источник (Change Source); Разорвать связь (Break Link).
Ввод объекта из другого приложения Пункт выпадающего меню Объект (Object) обеспечивает ввод объектов, созданных в других приложениях. В данном контексте объект – это любая порция данных, переданная в составной документ. Иногда говорят также OLE-объект. В роли объекта могут выступать фрагмент текста, целая формула или ее часть, график, рисунок, электронная таблица. Эти объекты обладают своими собственными свойствами и выступают в составном документе в качестве инородного тела, с которым нужно работать по-особому. Например, создадим формулу в текстовом редакторе Microsoft Word XP с помощью встроенного редактора формул (рис. 3.18).
Рис. 3.18. Встроенный редактор формул в текстовом редакторе Microsoft Word XP
Пусть эта формула выглядит так:
Щелчком по формуле выделим ее. Затем скопируем эту формулу в буфер обмена данных, нажав комбинацию клавиш Ctrl+C. С помощью пункта Вставить (Paste) выпадающего меню пункта Правка (Edit) главного меню Mathcad или нажатия комбинации клавиш Ctrl+V введем эту формулу на рабочий лист. Если внедренный объект выделен прямоугольником из сплошных линий, то пункт Object (Объект) выпадающего меню пункта Правка главного меню Mathcad становится доступным (рис. 3.19). Если щелкнуть по пункту Изменить, на экране появится встроенный редактор формул (рис. 3.20). Таким образом, открывается доступ к редактированию объекта с помощью того приложения, которое первоначально создало внедренный в документ объект.
Меню редактирования
Рис. 3.19. Внедрение объекта в системе Mathcad
Рис. 3.20. Использование окна редактора формул
187
188
Основной инструментарий системы Mathcad
Меню просмотра Состав и структура меню Пункт Вид (Просмотр) главного меню или нажатие комбинации клавиш Alt+V вызывает выпадающее меню просмотра (рис. 3.21). Выпадающее меню пункта Вид главного меню содержит следующие пункты: • Панели инструментов (Toolbars) – вызывает всплывающее меню; • Линейка (Ruler) – показывает (удаляет) линейку; • Строка Состояния (Status Bar) – показывает Рис. 3.21. Выпадающее (удаляет) строку состояния; меню пункта • Заголовок и Нижний Колонтитул – вызывает Вид главного меню соответствующее диалоговое окно (рис. 3.22); • Границы (Regions) – показывает (удаляет) границы областей; • Обновить (Refresh) или нажатие комбинации клавиш Ctrl+R – обновляет содержимое рабочего листа; • Масштабирование… (Zoom…) – вызывает диалоговое окно Масштабирование (рис. 3.23).
Рис. 3.22. Диалоговое окно Заголовок и нижний колонтитул
Панели инструментов Пункт выпадающего меню Панели инструментов (Toolbars) вызывает всплывающее меню (рис. 3.24).
Меню просмотра
189
Всплывающее меню пункта Панели инструментов (Toolbars) содержит целый набор пунктов, вызывающих или удаляющих соответствующие панели инструментов. Все пункты работают как переключатели. Вызов тех или иных панелей инструментов часто облегчает решение различного рода математических задач: – Стандартный (Standard) – показывает или скрывает стандартную панель инструментов; – Форматирование (Formatting) – показывает или скрывает панель инструментов для форматирования; – Математика (Math) – показывает или скрывает паРис. 3.23. нель математики; Диалоговое окно – Средства Управления – показывает или скрывает Масштабирование панель средств управления; – Ресурсы (Resources) – показывает или скрывает панель ресурсов в виде раскрывающегося списка; – Арифметика (Calculator) – показывает или скрывает панель инструментов Арифметика; – Графики (Graph) – показывает или скрывает панель построения различных графиков; – Матрицы (Matrix) – показывает или скрывает панель операторов матрицы; – Вычисления (Evaluation) – показывает или скрывает панель Вычисления, включающую различные операторы вычисления; – Матанализ (Calculus) – показывает или скрывает панель операторов математического анализа; – Булево – показывает или скрывает панель Булево, включающую различные операторы для логического вычисления; – Программирование – показывает или скрывает панель Программирование, включающую различные операторы для программирования; Рис. 3.24. – Греческий алфавит (Greek) – показывает или скрывает панель греческих букв; работает как переключа- Всплывающее меню пункта Панели тель. Если эта панель инструментов используется часинструментов то, то желательно поместить ее в свободное место рабочего листа. Для этого щелкните левой кнопкой мышки по названию панели и, не отпуская кнопку, передвиньте панель в нужное место. После этого отпустите кнопку; – Символы (Symbolic) – показывает или скрывает панель модификаторов. Работает как переключатель; – Модификаторы – показывает или скрывает панель модификаторов. Если ключевое слово использует модификатор, напечатайте запятую и нужный модификатор. Если модификаторов несколько, отделяйте их запятыми.
190
Основной инструментарий системы Mathcad
Для выполнения символических вычислений: ¾ введите выражение, которое хотите вычислить символически; ¾ нажмите комбинацию клавиш Ctrl+Shift+. (точка), чтобы вставить метки с символическим знаком равенства → (стрелка вправо); ¾ напечатайте ключевое слово в метке или выберите его на инструментальной панели Символы (Symbolic); ¾ для получения искомого результата нажмите клавишу Enter. На рис. 3.25 представлены примеры применения операторов панели Символы.
Рис. 3.25. Примеры применения символьных операторов панели Symbolic
Установка линейки на экране Пункт выпадающего меню Линейка (Ruler) предназначен для установки линейки на экране. Для этого щелкните мышкой по пункту, который работает как переключатель. Появится флажок, а на экране вверху появится линейка (рис. 3.26). На линейке располагаются три перемещаемых маркера: – вверху слева – маркер отступа первой строки; – внизу слева – маркер выступа текста; – внизу справа – маркер отступа справа. Чтобы установить соответствующие маркеры на линейке: ¾ щелкните левой кнопкой мышки в абзаце, в текстовой области;
Меню просмотра
191
Рис. 3.26. Представление линейки при вводе текста
¾ установите, используя указатель мышки, тот или иной маркер в нужную позицию. При этом строка или строки абзаца будут перемещаться вместе с маркерами при их установке. Под маркером выступа расположен маленький квадратик. При его перетаскивании мышкой маркер отступа левый (первой строки) и маркер выступа будут перемещаться вместе. Чтобы установить табуляцию – метку на линейке: ¾ щелкните левой кнопкой мышки в абзаце, в текстовой области; ¾ щелкните левой кнопкой мышки на линейке в месте установки метки. Появится значок в виде буквы L в уменьшенном размере. Для выполнения дополнительных установок щелкните правой кнопкой мышки по линейке. Появится контекстно-зависимое меню (рис. 3.27). Контекстно-зависимое меню включает шесть пунктов: • Скрыть (Hide) – удаляет линейку с экрана; • Дюймы (Inches) – устанавливает градацию линейки в дюймах; • Сантиметры (Centimeters) – устанавливает градацию линейки в сантиметрах; • Точки (Points) – устанавливает градацию линейки в пунктах; • Пикасы (Picas) – устанавливает градацию линейки в пикселах; • Показать руководство (Show Guidline) – показывает Рис. 3.27. рекомендации выравнивания. КонтекстноЛинейка используется для установки меток табуляции на зависимое меню линейки рабочем листе и для выравнивания тестовых областей.
Строка состояний и границы областей Пункт выпадающего меню Строка состояния (Status Bar) устанавливает/удаляет строку состояния в нижней части главного окна (работает как переключатель).
192
Основной инструментарий системы Mathcad
Заголовок и нижний колонтитул Пункт выпадающего меню Заголовок и Нижний Колонтитул вызывает соответствующее диалоговое окно (см. рис. 3.22). Заголовок – это верхний колонтитул. Колонтитулы – это области, расположенные в верхнем и нижнем поле каждой страницы документа. Поле – это пустое пространство на странице за пределами области печати. В колонтитул обычно вставляется текст и/или рисунок (номер страницы, дата печати документа, эмблема организации, название документа, имя файла, фамилия автора и т. п.), который должен быть напечатан внизу каждой страницы документа.
Выделение областей Пункт выпадающего меню Границы (Regions) высвечивает на рабочем листе границы области. Все то, что вы создаете на рабочем листе, занимает определенную область в виде прямоугольника различных размеров. Она может быть текстовой, математической, занимаемая графиком, оператором, … Процедуры выбора, удаления и перемещения областей независимо от того, что находится в области, одни и те же. Когда вы щелкаете внутри области, то появляется маркер ввода/удаления в виде уголка (клюшки) – комбинации вертикальной и горизонтальной линий. Если вы щелкаете вне области, то в месте щелчка появляется перекрестие – визир, который в основном используется для указания местоположения новой области. Чтобы выделить все имеющиеся области на рабочем листе: ¾ щелкните в главном меню по пункту Вид (View); ¾ щелкните в выпадающем меню по пункту Границы. Появятся границы областей.
Обновление документа Пункт выпадающего меню Обновить (Refresh) обновляет текущее окно рабочего листа. Так, иногда при манипуляциях с объектами (например, при изменении их размеров и выделении) или при перемещении по полю окна редактирования на экране могут оставаться нежелательные объекты. Для их устранения: ¾ щелкните в главном меню по пункту Вид. Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Обновить. Произойдет обновление текущего рабочего листа. Использование пункта Обновить ничего не делает с объектами документа, а лишь уничтожает следы от них, если они возникают при работе с документом. Операция полезна также в случаях, когда часть текстового блока не видна из-за наложения на него другого блока – формульного или графического.
Меню управления вставкой
193
Изменение масштаба Пункт выпадающего меню Масштабирование (Zoom) вызывает диалоговое окно Масштабирование для увеличения или уменьшения размера видимой части рабочего листа (см. рис. 3.26). Щелкнув левой кнопкой мышки по самому нижнему окошку диалогового окна, пользователь может поставить свой масштаб в процентах увеличения/уменьшения видимой части рабочего листа. Для завершения процесса масштабирования щелкните по кнопке ОК.
Меню управления вставкой Состав и структура меню Пункт Вставить (Insert) главного меню или нажатие комбинации клавиш Alt+В вызывает выпадающее меню управления вставкой (рис. 3.28). Выпадающее меню пункта Insert главного меню включает следующие пункты: • Графики (Graph); • Матрица (Matrix) – Ctrl+M; • Функция (Function…) – Ctrl+E; • Единицы Измерения (Unit) – Ctrl+U; • Рисунок (Picture) – Ctrl+T; • Область (Area); • Разрыв Страницы (Page Break); • Математическая Область (Math Region); • Текстовая Область (Text Region); • Компонент (Component…); • Данные (Data); • Элемент; • Объект (Object…). • Ссылка (Reference…); • Гиперсвязь (Hyperlink…) – Ctrl+K.
Построение графика
Рис. 3.28. Выпадающее меню пункта Insert главного меню
Пункт выпадающего меню График (Graph) выпадающего меню пункта Вставить главного меню обеспечивает вызов всплывающего меню (рис. 3.29).
Рис. 3.29. Всплывающее меню построения графиков
194
Основной инструментарий системы Mathcad
Всплывающее меню построения графиков включает целый набор пунктов для построения самых различных типов графиков: Х-У Зависимость (X-Y Plot) @ – обеспечивает построение декартова графика; Полярные Координаты (Polar Plot) (Ctrl+7) – обеспечивает построение полярного графика; Поверхности (Surface Plot) (Ctrl+2) – обеспечивает построение графика поверхности; Контурный (Contour Plot) (Ctrl+5) – обеспечивает построение контурного графика; 3D Точечный (3D Scatter Plot) – обеспечивает построение точечного графика; 3D Диаграммы (3D Bar Plot) – обеспечивает построение стержневого графика; Векторный График Поля (Vector Feeld Plot) – обеспечивает построение графика в виде поля векторов; Мастер Графиков (3D Plot Wizard…) – вызывает диалоговое окно просмотра графика.
Построение декартова графика Пункт всплывающего меню X-Y Зависимость или нажатие клавиши @ создают шаблон двумерного графика в декартовой системе координат. Графики в системе Mathcad могут иметь различные размеры и перемещаться в окне редактирования документа. Для наиболее распространенных графиков в декартовой и полярной системах координат Mathcad предусматривает упрощенный и очень удобный способ их построения без предварительного задания функции и ранжирования независимой переменной. Чтобы построить двумерные графики некоторой функции f(x), надо вывести их шаблон, в метке, находящейся рядом с осью ординат, указать имя функции, а в метке, находящейся рядом с осью абсцисс, указать аргумент функции – независимую переменную х. Можно построить несколько зависимостей на одном графике. Для этого введите соответствующие функции в метке у вертикальной оси (оси ординат) через запятые. Графики будут построены линиями разного типа и цвета. Графики в Mathcad строятся по векторам и матрицам. Каждому элементу матрицы соответствует отдельная точка. Каждая точка двумерного графика характеризуется своими координатами х и у=f(х), где х – абсцисса точки, а у – ее ордината. Точки соединяются друг с другом разнообразными линиями (сплошной, пунктирной и т. д.). Могут быть показаны и исходные (узловые) точки графика в виде жирных точек, квадратиков, кружков и т. д. Для передвижения к меткам можно использовать клавиши перемещения курсора или сразу выбрать метку с помощью мышки, то есть подвести указатель к нужной метке и нажать левую клавишу. Крайние метки данных служат для указания предельных значений абсцисс и ординат, то есть они задают масштабы графика. Если оставить эти метки незаполненными, то масштабы по осям координат будут устанавливаться автоматически. Рекомендуется вначале использовать автоматическое масштабирование, а затем изменять масштабы на более подходящие.
Меню управления вставкой
195
Рис. 3.30. Построение двумерного графика
Чтобы произошло построение графика в автоматическом режиме вычислений, достаточно вывести курсор за пределы графического объекта. В ручном режиме вычислений для этого нужно еще нажать клавишу F9. Можно изменять заданные по умолчанию параметры графиков. Для этого необходимо выделить график и, установив в его области курсор мыши, дважды быстро щелкнуть по ней левой клавишей. Появится диалоговое окно изменения параметров двухмерного графика Formatting Currently Selected X-Y Plot (рис. 3.31). Диалоговое окно Formatting Currently Selected X-Y Plot (Текущее форматирование выбранного Х-У графика) содержит множество флажков для выбора режима построения графика: • Логарифмическая шкала (Log Scale) – установка по оси логарифмической шкалы; • Линии Сетки (Grid Lines) – устаРис. 3.31. Диалоговое окно Formatting Currently Selected X-Y Plot новка линий сетки по осям;
196
Основной инструментарий системы Mathcad
• Нумерация (Numbered) – нумерация переменных по осям; • Автомасштаб (Autoscale); • Показать Метки (Show Markers) – установка по оси режима показа меток; • Автосетка (Auto Grid) – установка по оси автосетки; • Размер сетки (Number of Grid) – установка по оси размера сетки. Диалоговое окно Formatting Currently Selected X-Y Plot (Текущее форматирование выбранного Х-У графика) содержит также ряд переключателей для выбора стиля изображения осей графика: • Ограничение (Boxed) – выводит график в рамке без осей; • Пересечение (Crossed) – выводит график без рамки с осями; • Нет (None) – выводит график без рамки и без осей. Графики можно перемещать по рабочему полю документа. Для этого надо выделить график (он обводится сплошной линией), щелкнув по нему левой кнопкой мыши. Появится рамка, охватывающая весь график. Затем необходимо поместить курсор мышки на рамку; когда появится изображение кисти руки, нужно нажать левую кнопку мышки и, удерживая ее, перемещать вместе с мышкой и сам график. Можно также поместить курсор мыши вблизи графика и, нажав левую клавишу, перемещать мышь в направлении графика по диагонали. Курсор начнет отображать область выделения в виде прямоугольника, состоящего из пунктирных линий. Как только эта область захватит график и он окажется обведен пунктирным прямоугольником, надо отпустить клавишу мышки. График будет выделен, но уже пунктирной рамкой. Далее надо переместить графический курсор на рамку, выделяющую область графика. При этом изображение курсора изменится, и вместо маленького красного крестика оно приобретет вид кисти руки (ладони). Если теперь нажать левую кнопку мышки и начать ее передвигать, то весь шаблон графика будет перемещаться по окну. Установите его в нужное место и отпустите кнопку. График окажется на новом месте. Для изменения размеров рисунка нужно точно подвести графический курсор к специальным меткам на рамке, выделяющей рисунок. Эти метки имеют вид маленьких черных прямоугольников. Изображение курсора при этом заменяется на двухстороннюю стрелку, указывающую, в каких направлениях возможно растягивать график. Нажав левую кнопку мыши, можно захватить соответствующую сторону или угол шаблона рисунка и, не отпуская клавиши, начать растягивать или сжимать график. После того как клавиша будет отпущена, рисунок перестроится в новых размерах. Сжимать и растягивать графики можно в вертикальном, горизонтальном и диагональном направлениях. При любом виде выделения рисунка нажатие клавиши F3 стирает рисунок в окне и переносит его в буфер обмена данных. Переместив курсор, установленный на месте левого верхнего окна бывшего графика, в новое место и нажав клавишу F4, можно перенести рисунок на это место. Mathcad допускает возможность размещения текстовых комментариев в области графиков. Для этого вначале надо подготовить их в стороне от графика и выделить пунктирной линией. Затем, поместив курсор мышки в область текста, нажать ее левую кнопку и перенести текстовый блок в область рисунка. Устано-
Меню управления вставкой
197
вив текст в нужном месте, отпустите кнопку. Если при этих операциях или снятии выделений нанесенные на рисунок надписи исчезают, воспользуйтесь командой восстановления изображения на экране, нажав комбинацию клавиш Ctrl+R. Чтобы надписи были на русском языке, следует использовать соответствующие наборы шрифтов, например Times New Roman Cyr. Шрифт в процессе ввода текста менять нельзя.
Построение полярного графика Пункт всплывающего меню Полярный график (Polar Plot) или нажатие комбинации клавиш Ctrl+7 создает шаблон для построения графика в полярной системе (Полярный график) координат. Шаблон имеет форму окружности и содержит шаблоны данных. В полярной системе координат каждая точка задается углом U и длиной радиус-вектора R (U). График функции обычно строится при изменении угла U в опреπ. Перед построением таких графиков деленных пределах, чаще всего от 0 до 2π надо задать изменение угла наклона радиус-вектора U в заданных пределах. После вывода шаблона следует ввести U на место метки внизу и функцию R (U) на место метки слева, а также указать нижний предел изменения длины радиус-вектора R (U) – Rmin в метке справа внизу и верхний предел – Rmax в метке справа вверху. На рис. 3.32 показано построение графика в полярной системе координат.
Рис. 3.32. Построение полярного графика
198
Основной инструментарий системы Mathcad
При прямом построении графика достаточно просто заполнить его шаблон. Саму функцию надо описать ее уравнениями, которые вписываются на места шаблонов по осям Х и Y. Можно изменять заданные по умолчанию параметры полярных графиков. Для этого необходимо выделить график и, установив в его области курсор мышки, дважды быстро щелкнуть по нему левой кнопкой. Появится диалоговое окно изменения параметров полярного графика Formatting Currently Selected Polar Plot (рис. 3.33).
Рис. 3.33. Диалоговое окно Formatting Currently Selected Polar Plot
Диалоговое окно Formatting Currently Selected Polar Plot (Форматирование текущего выбранного полярного графика) содержит множество флажков для выбора режима построения графика: для радиальной оси: • Логарифмическая шкала (Log Scale) – установка по радиальной оси логарифмической шкалы; • Линии Сетки (Grid Lines) – установка по радиальной оси вспомогательных линий; • Нумерация (Numbered) – нумерация радиальной оси; • Показать Метки (Show Markers) () – установка по радиальной оси режима показа меток; • Автосетка (Auto Grid) – установка по радиальной оси автосетки; • Размер сетки (Number of Grid) – установка по оси размера сетки; для угла: • Линии Сетки (Grid Lines) – установка вспомогательных линий; • Нумерация (Numbered) – нумерация углов; • Автосетка (Auto Grid) – установка автосетки; • Размер сетки (Number of Grid) – установка размера сетки. Диалоговое окно Formatting Currently Selected Polar Plot (Текущее форматирование выбранного полярного графика) содержит также ряд переключателей для выбора стиля изображения графика: • Периметр (Perimeter) – выводит график, обрамленный окружностью;
Меню управления вставкой
199
• Пересечение (Crossed) – выводит график без обрамления окружностью с осями; • Нет (None) – выводит график без обрамления окружностью и без осей.
Построение графика поверхности Пункт всплывающего меню Поверхности (Surface) или нажатие комбинации клавиш Ctrl+2 создает шаблон для создания трехмерного графика (рис. 3.34). Перед тем как построить график поверхности Z (X, Y), необходимо ее предварительно представить в виде матрицы М ординаты Z. В шаблоне в нижнем левом углу находится метка для ввода матрицы М. Наглядность представления трехмерных поверхностей зависит от множества факторов: масштаба построений, углов поворота фигуры относительно осей, применения алгоритма удаления невидимых линий или отказа от него, использования функциональной закраски и т. д.
Рис. 3.34. Построение графика поверхности
Поскольку график строится на основе матрицы, содержащей только координаты высот фигуры, то истинные масштабы по осям Х и Y неизвестны и на рисунках не проставляются. Могут, впрочем, выводиться просто порядковые номера элементов матриц в заданном направлении (по Х и по Y). Надо также следить за тем, как сформировать векторы Х и Y, чтобы фигура выглядела естественно и
200
Основной инструментарий системы Mathcad
занимала нужное место в пространстве. Все это несколько затрудняет быстрое создание графиков трехмерных поверхностей нужного вида. Можно изменять заданные по умолчанию параметры графиков. Для этого необходимо выделить график и, установив в его области курсор мышки, дважды быстро щелкнуть по нему левой кнопкой. Появится диалоговое окно Формат 3-D графика (3-D Plot Format) – рис. 3.35.
Рис. 3.35. Диалоговое окно Формат 3-D графика
Диалоговое окно Формат 3-D графика (3-D Plot Format) содержит восемь закладок и множество флажков для выбора режима построения графика. На рис. 3.36 дано представление графика поверхности в нескольких видах.
Рис. 3.36. Представление графика поверхности в нескольких видах
Меню управления вставкой
201
Контурный – построение контурного графика Пункт всплывающего меню Контурный (Contour) или нажатие комбинации клавиш Ctrl+5 создает шаблон для построения контурного графика (Карта линий уровня) трехмерной поверхности. Эти графики широко применяются, например, в картографии. Представление контурного графика удобно для количественных оценок. Однако в большинстве случаев указание количественных значений уровней загромождает график. Иногда контурные графики получаются даже более информативными, чем просто трехмерные поверхности, у которых нередко одни части поверхности закрывают другие. Например, пик на переднем плане может закрыть меньшие пики или впадины на заднем. У контурных графиков такого эффекта нет, и на них легко обнаруживаются все пики и впадины, правда, при достаточно большом числе линий равного уровня и малом расстоянии между ними. На рис. 3.37 отражен процесс построения контурного графика.
Рис. 3.37. Построение контурного графика
Построение точечного графика Пункт всплывающего меню 3D точечный (3D Scatter Plot) создает шаблон для графика в виде точек (фигур) в трехмерном пространстве. Размеры точек, их вид и окраску можно изменять с помощью команды изменения формата 3D-графика. Обычно достаточно наглядными являются графики с малыми фигурами, распо-
202
Основной инструментарий системы Mathcad
ложенными внутри параллелепипеда. Однако в целом наглядность таких графиков не очень высока. Их целесообразно использовать не для показа трехмерных поверхностей, а лишь для демонстрации расположения на них небольшого числа объектов. Объекты могут быть не только в виде точек, но и иных фигур – крестиков, окружностей, квадратов и др. На рис. 3.38 отражен процесс построения точечного графика.
Рис. 3.38. Построение точечного графика
Построение трехмерной гистограммы Пункт всплывающего меню 3D Диаграммы (3D Bar Chart) создает шаблон для построения графика в виде гистограммы – совокупности столбиков в трехмерном пространстве, высота которых определяется значением координаты z (x, у). Такие графики широко применяются при анализе сложных статистических данных, например представленных тремя независимыми переменными. На рис. 3.39 отражен процесс построения графика в виде трехмерной гистограммы.
Построение векторного поля Пункт всплывающего меню Векторный График Поля (Vector Field Plot) создает шаблон для построения графика в виде векторного поля на плоскости. Этот график изображается в виде коротких стрелочек-векторов. Стрелка обращена
Меню управления вставкой
203
Рис. 3.39. Построение трехмерной гистограммы
острием в сторону нарастания высоты поверхности, а плотность расположения стрелок зависит от скорости этого нарастания. Такие графики применяются редко из-за трудностей построения множества стрелок, для каждой из которых надо рассчитывать градиент поля. Но в Mathcad есть удобная возможность широкого применения этого вида графиков, который часто используется для представления электромагнитных, тепловых, гравитационных и иных полей. На рис. 3.40 отражен процесс построения графика в виде векторного поля.
Создание и модификация матрицы Пункт выпадающего меню Матрица (Matrix…) или нажатие комбинации клавиш Ctrl+M обеспечивает вызов диалогового окна Вставить матрицу (Insert Matrix) для создания или модификации матрицы или вектора (рис. 3.41). Матрица характеризуется числом строк (Rows) и числом столбцов (Columns). Таким образом, число элементов матрицы или ее размерность равны произведению числа строк на число столбцов. Элементами матриц могут быть числа, константы, переменные и даже математические выражения. Соответственно матрицы могут быть численными и символьными.
204
Основной инструментарий системы Mathcad
Рис. 3.40. Построение векторного поля
В окошках диалогового окна необходимо указать число строк Строки (Rows) и число столбцов Столбцы (Columns). Если нажать клавишу Enter или щелкнуть мышкой по кнопке Вставить (Insert), в месте расположения визира (красного крестика) появится шаблон матрицы или вектора (вектор имеет один из параметров размерности, равный 1). Шаблон содержит обрамляющие скобки и метки – черные маленькие прямоугольники, обозначающие места ввода значений (числовых или символьных) для элементов вектора или матрицы. Один из Рис. 3.41. Диалоговое окно прямоугольников можно сделать активным, отмеВставить матрицу тив его курсором мышки. При этом он заключается в уголок. Это указывает на то, что в него будут вводиться значения соответствующего элемента. С помощью клавиш перемещения курсора можно в горизонтальном направлении пробежаться по всем меткам и ввести все элементы вектора или матрицы. Пока идет ввод элементов векторов или матриц, незаполненные метки отображаются без каких-либо комментариев. Однако если закончить ввод до полного заполнения всех меток, система выведет сообщение об ошибке. Незаполненные
Меню управления вставкой
205
метки приобретут красный цвет. Вывод несуществующей матрицы или ошибочное указание значения индексов также отображается красным цветом. Если щелкнуть по кнопке Вставить (Insert) при уже выведенном шаблоне матрицы, то матрица расширяется и ее размер увеличивается. И так с каждым щелчком. Кнопка Удалить (Delete) уменьшает размер матрицы, ранее увеличенной с помощью кнопки Вставить. Каждый элемент матрицы характеризуется индексированной переменной, и его положение в матрице обозначается двумя индексами: один указывает номер строки, другой – номер столбца. Для набора индексированной переменной сначала надо ввести ее имя, а затем нажатием клавиши, вводящей символ «[», перейти к набору индексов. В первую очередь указывается индекс строки, а потом через запятую – индекс столбца. Вырожденная в одну строку или в один столбец матрица является вектором. Его элементы – индексированные переменные с одним индексом. Нижняя граница индексов задается значением системной переменной ORIGIN. Обычно ее значение задают равным 0 или 1.
Вставка функций Пункт выпадающего меню Функция (Function) вызывает диалоговое окно Вставить функцию (Insert Function) со списком функций для их вставки в заранее указанное место (рис. 3.42). Это связано с тем, что система имеет свыше 250 встроенных функций и запомнить их все довольно сложно. Диалоговое окно Вставить функцию выполняет следующие действия: • выводит полный перечень встроенных в ядро системы функций; • кратко поясняет назначение каждой функции; • позволяет корректно ввести шаблон с именем функции в место расположения курсора, установленного в математическом выражении.
Рис. 3.42. ins_func. Диалоговое окно Insert Function
Запись каждой функции дается в полной синтаксической форме. Это исключает довольно частые ошибки в формулах, вызванные неточностями записи функций. На месте параметров в выведенной функции имеются метки для ввода данных.
206
Основной инструментарий системы Mathcad
Выбор и вставка единиц измерения Пункт выпадающего меню Единицы измерения (Unit) или нажатие комбинации клавиш Ctrl+U обеспечивает вызов диалогового окна Вставить Блок для выбора и вставки единиц измерения (рис. 3.43). Диалоговое окно имеет список размерных величин Измерение (Dimension) и относящихся к ним единиц измерения Блок (Unit). В окне есть также указание на то, какая система единиц используется. По умолчанию применяется система единиц SI. Диалоговое окно имеет три кнопки: • OK – вставляет выбранную единицу измерения и закрывает окно; • Insert (Вставить) – вставляет выбранную единицу измерения с сохранением окна; • Отмена (Cancel) – отменяет операцию вставки размерных величин. При работе с размерными величинами Mathcad производит необходимые преобразования и выводит числовые значения величин вместе с единицами их измерения.
Рис. 3.43. Диалоговое окно Вставить блок
Вставка рисунков Пункт выпадающего меню Рисунок (Picture) или нажатие комбинации клавиш Ctrl+T обеспечивает вызов шаблона под рисунок. Система Mathcad обеспечивает возможность импортировать графические файлы, создаваемые другими графическими системами, например графическими редакторами AutoCAD, PCAD и др. Перед импортом файл надо подготовить в соответствующем приложении и записать в текущий каталог. Файл может иметь расширение .bmp (Bitmap). BMP – это распространенный формат растровых графических файлов. В этом формате рисунок хранится так же, как и в видеопамяти. Каждая точка изображения представляется двоичным кодом. Для импорта файла с рисунком: ¾ щелкните в главном меню по пункту Вставить (Insert). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Рисунок (Picture). Появится шаблон рисунка с единственной меткой в левом нижнем углу;
Меню управления вставкой
207
¾ введите в метку имя файла, указав его полный путь в двойных кавычках, например так: ''D:\Mathcad\Ris_1.bmp''; ¾ щелкните вне графика – появится нужный рисунок. Импортируемый рисунок можно, как и любой другой, перемещать с помощью мышки по экрану, растягивать его, выделять и помещать в буфер обмена данных и т. д. Помимо импорта рисунков из файлов, система Mathcad допускает копирование рисунков из буфера обмена данных системы Windows. Для этого: ¾ введите рисунок в буфер обмена данных (например, используя графический редактор Windows Paint Brush, операции Копировать (Copy) либо Вырезать (Cut) прикладных Windows-программ); ¾ перейдите к работе с системой Mathcad; ¾ установите курсор на место верхнего левого угла будущего рисунка; ¾ щелкните в главном меню по пункту Правка (Edit). Появится выпадающеее меню; ¾ щелкните в выпадающем меню по пункту Вставка (Paste) в выпадающем меню или нажмите клавишу F4.
Создание скрываемой области Пункт выпадающего меню Область (Area) предназначен для создания скрываемой области. Если вы хотите, чтобы все или некоторые вычисления, графы или другие области не видели другие, то их можно скрыть. При этом вычисления в скрытых областях производятся так же, как и для видимых областей. Чтобы скрыть одну или большее количество областей, вначале создают скрываемую область на рабочем листе. Затем размещают в этой области те вычисления и области, которые подлежат скрытию. В заключение созданная скрываемая область сворачивается так, чтобы она не была видима. Можно блокировать скрываемую область, чтобы никто не мог ее расширить без вашего разрешения. Чтобы создать скрываемую область: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Область (Area). Появятся границы для создания внутри них скрываемой области на рабочем листе; ¾ поместите внутри границ скрываемой области необходимые вычисления, а затем сверните область. Свернуть созданную скрываемую область можно так: ¾ щелкните на одной из границ области правой кнопкой мышки. Появится контекстно-зависимое меню – рис. 3.44; ¾ щелкните по пункту Закрыть (Collapse) контекстно-зависимого меню. Границы области и области между ними свернутся в одиночную линию. Чтобы запереть (заблокировать) созданную скрываемую область, выполните следующие действия: ¾ щелкните правой кнопкой мышки внутри созданной области. Появится контекстно-зависимое меню (см. рис. 3.44);
208
Основной инструментарий системы Mathcad
Рис. 3.44. Контекстно-зависимое меню скрываемой области Area
¾ щелкните по пункту Блокировка (Lock) контекстно-зависимого меню. Появится диалоговое окно Блокировка (Lock Area) – рис. 3.45;
Рис. 3.45. Диалоговое окно Блокировка
¾ введите в текстовом окне Пароль (Password) пароль для данной скрываемой области; ¾ введите в текстовом окне Повторный ввод (Reenter password) тот же пароль для данной скрываемой области, если вы хотите, чтобы пароль разблокировал заблокированную область. На линиях скрываемой области появится дата установки пароля (рис. 3.46); ¾ щелкните по кнопке OK .
Рис. 3.46. Диалоговое окно Блокировка
Меню управления вставкой
209
В диалоговом окне Блокировка имеются два переключателя: • Закрывать при блокировке (Collapse when locked) – обеспечивает сворачивание заблокированной скрываемой области; • Показывать время блокировки (Show lock timestamp) – показывает временной штамп блокировки на границах области. Чтобы разблокировать скрываемую область, выполни- Рис. 3.47. Контекстноте следующие действия: зависимое меню ¾ щелкните правой кнопкой мышки внутри заблоки- для заблокированной рованной скрываемой области. Появится контек- скрываемой области стно-зависимое меню (рис. 3.47), в котором будет активным только один пункт Unlock (Разблокировать); ¾ щелкните по пункту Разблокировать (Unlock) контекстно-зависимого меню. Появится диалоговое окно Снятие блокировки (Unlock Area) – рис. 3.48; ¾ введите в текстовом окне Пароль (Password) пароль для данной скрываемой области; ¾ щелкните по кнопке OK.
Рис. 3.48. Диалоговое окно Снятие блокировки
В диалоговом окне Снятие блокировки (Unlock Area) имеется переключатель – Раскрыть при снятии блокировки (Expand when unlocked). Этот переключатель обеспечивает разворачивание разблокированной скрываемой области, если он включен – поставлен флажок (галочка). Следует иметь в виду, что пароль чувствителен к регистру. Если вы неправильно набрали пароль, например вместо пароля Привет вы набрали привет (первая буква в другом регистре), то появится сообщение (рис. 3.49).
Рис. 3.49. Сообщение системы Mathcad
Щелкните по кнопке ОК. Снова появится диалоговое окно Снятие блокировки (см. рис. 3.48). Введите в поле Пароль введенный ранее вами пароль для данной области и щелкните по кнопке ОК. Появятся границы области и ее содержимое.
210
Основной инструментарий системы Mathcad
Вставка разрыва страниц Пункт выпадающего меню Разрыв страницы (Page Break) обеспечивает вставку разрыва страницы в текущее место. Большие документы нередко занимают много страниц. Крайне нежелательно, чтобы при печати таких документов какой-нибудь график или таблица обрывались линией раздела страниц. Недопустимы и ситуации, когда заголовок раздела оказывается на одной странице, а сам раздел начинается на другой. Для предотвращения таких положений желательно прервать страницу в заданном месте. Пункт Разрыв страницы вставляет в документ горизонтальную линию разрыва страницы.
Выделение поля для математических выражений в текстовой области В Mathcad возможна вставка в текстовую область математических формул, но они не должны быть исполняемыми, в отличие от формул в формульных блоках. Эти формулы в ряде случаев (например, при символьных операциях) могут модифицироваться. Пункт выпадающего меню Математическая область (Math Region) обеспечивает выделение поля под математическое выражение в текстовой области: ¾ установите указатель мышки в текстовой области в то место, где должна находиться математическая область; ¾ щелкните в главном меню по пункту Вставить (Insert). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Математическая область. На месте курсора в текстовой области появится метка (черный прямоугольничек). В метке можете вводить любое математическое выражение.
Создание текстовой области Пункт выпадающего меню Текстовая область (Text Region) обеспечивает выделение поля под текст. Для выделения и подготовки текстовой области: ¾ установите указатель мышки в то место рабочего листа, с которого должен вводиться текст. Это левый верхний угол будущей текстовой области. После этого щелкните левой кнопкой мышки – в месте установки указателя мышки появится красный крестик – визир; ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Text Region (Текстовая область). На месте курсора появится прямоугольник (шаблон текстовой области) с метками и текстовым маркером (курсором) внутри него – красной вертикальной черточкой;
Меню управления вставкой
211
¾ установите русский шрифт. Для этого: – щелкните в главном меню по пункту Формат (Format). Появится выпадающее меню; – щелкните в выпадающем меню по пункту Стиль (Style) – появится диалоговое окно Стили текста (Text Styles); – щелкните по кнопке Изменить (Modify). Появится диалоговое окно Определение стиля (Define Style); – щелкните по кнопке Font… (Шрифт). Появится диалоговое окно Text Format (Текстовый формат); – установите в разделе Шрифт (Font) нужный шрифт, например Times New Roman, в разделе Стиль (Font Style) – его начертание, в разделе Размер (Size) – размер шрифта, а затем щелкните по кнопке ОК. В диалоговом окне Определение стиля также щелкните по кнопке ОК и закройте диалоговое окно Стили текста. Можно использовать и другой способ установки текстовой области с русским шрифтом: ¾ установить указатель мышки в место ввода текста и щелкнуть левой кнопкой мышки. В месте установки указателя мышки появится красный крестик – визир; ¾ нажать комбинацию клавиш Shift+'' (двойная кавычка). На месте курсора появится прямоугольник (шаблон текстовой области) с текстовым маркером (курсором) внутри него – красной вертикальной черточкой; ¾ установить русскоязычный шрифт. Для этого на панели инструментов Форматирование (Formatting), расположенной, как правило, сразу же под панелью инструментов Стандартный: – щелкните в раскрывающемся списке Шрифт в правой его части по кнопке со стрелкой вниз. Раскроется прокручиваемый список шрифтов; – щелкните по нужному шрифту, например Arial Cyr; – щелкните в раскрывающемся списке Размер шрифта в правой его части по кнопке со стрелкой вниз. Раскроется прокручиваемый список размеров шрифтов; – щелкните по нужному размеру шрифта, например 12. Размер шрифта измеряется в пунктах. Один пункт равен 0,376 мм, или 1/72 дюйма. Пункт является единицей измерения, используемой в производстве принтеров.
Вставка компонентов Пункт выпадающего меню Компонент (Component) обеспечивает появление диалогового окна Мастер Компонентов (Component Wizard) для выбора и ввода необходимой компоненты (рис. 3.50), то есть дает возможность подключения к Mathcad других математических систем-компонентов и использование входящих в них средств и функций. Это намного увеличивает возможности объединенной вычислительной системы.
212
Основной инструментарий системы Mathcad
Рис. 3.50. Диалоговое окно Мастер Компонентов
В этом окне можно выбрать одну из систем и подключить ее к Mathcad. Для этого: ¾ щелкните по нужной вам программе, например по программе Microsoft Excel (Электронная таблица) для ее выделения; ¾ щелкните по кнопке Далее (Next). Появится диалоговое окно Мастер Установки Excel (Excel Setup Wizard) (рис. 3.51).
Рис. 3.51. Диалоговое окно Мастер Установки Excel
В диалоговом окне Мастер Установки Excel находятся два переключателя с текстовыми полями. В первом текстовом поле имеется пояснение Создать пустой документ Excel (Create a empty Excel worksheet) – электронную таблицу. Во втором – пояснение Создать из файла (Create from file); ¾ щелкните по первому окошечку, если там нет галочки; ¾ щелкните по кнопке Далее (Next). Появится диалоговое окно Excel Setup Wizard с другими запросами (рис. 3.52); ¾ щелкните по кнопке Готово (Finish). На рабочем листе системы Mathcad появится шаблон электронной таблицы. Достаточно дважды щелкнуть ле-
Меню управления вставкой
213
вой кнопкой мышки по этому шаблону, чтобы появился экран программы Excel (Электронная таблица), входящей в стандартный пакет Microsoft Office (рис. 3.53);
Рис. 3.52. Диалоговое окно Мастер Установки Excel с другим запросом
Рис. 3.53. Шаблон таблицы в программе Excel, вызванный из системы Mathcad
¾ щелкните дважды по любой клетке шаблона таблицы. Появится документ (электронная таблица) программы Excel (рис. 3.54); ¾ введите требуемые данные. Чтобы вернуться к шаблону таблицы, щелкните мышкой вне поля электронной таблицы. В Excel можно вводить следующие типы данных: • числа; • текст (например, заголовки и поясняющий материал);
Основной инструментарий системы Mathcad
214
Рис. 3.54. Электронная таблица в программе Exel, вызванная из системы Mathcad
• функции (например, синус или косинус); • формулы (комбинации чисел, текста и функций). Данные вводятся в ячейки, образующиеся на пересечении строк и столбцов. Щелчком левой кнопки мышки можно выделить любую ячейку. Вводить данные можно непосредственно в ячейку, а можно использовать и строку формул, расположенную справа над таблицей. Для этого вначале щелкните мышкой по нужной ячейке, затем по строке формул и введите данные. Чтобы отменить ввод данных, нажмите на левую кнопку в строке формул (с изображением крестика). Для подтверждения ввода данных нажмите на вторую кнопку слева в строке формул (с изображением галочки). Третья слева кнопка в строке формул предназначена для создания и изменения формулы. Содержание ячейки можно непосредственно изменить в ней самой, для чего надо дважды щелкнуть по ней мышкой. Когда в ячейке появится маркер ввода, изменения можно проводить обычным способом.
Вставка данных Пункт выпадающего меню Данные (Data) обеспечивает появление всплывающего меню (рис. 3.55). Пункт выпадающего меню Данные позволяет импортировать или экспортировать данные тремя способами и в различных форматах. Рис. 3.55. Всплывающее меню пункта Данные выпадающего меню
Меню управления вставкой
215
Пункт всплывающего меню Таблица (Table) будет вставлять компоненты в ваш рабочий лист, которые читаются из файлов данных, поддерживающихся другими данными компонентов. Пункт всплывающего меню Файл Вывода (File Output) будет вставлять компоненты в ваш рабочий лист, которые записываются в одном из следующих форматов: ASCII, MATLAB, Microsoft Excel, Lotus 1-2-3, Quattro Pro, dBase III, и S-PLUS. Пункт всплывающего меню Файл Ввода (File Input) будет вставлять компоненты в ваш рабочий лист, которые читаются в одном из следующих форматов: ASCII, MATLAB, Microsoft Excel, Lotus 1-2-3, Quattro Pro, dBase III, и S-PLUS.
Вставка элементов управления Пункт выпадающего меню Элементы (Control) обеспечивает появление всплывающего меню (рис. 3.56). Всплывающее меню содержит шесть элементов управления: Флажок, Переключатель, Кнопку, Текстовый Блок, Список и Движок. Чтобы вставить элемент управления в рабочий лист: ¾ щелкните в пустом месте рабочего листа. Если вы хотите отправить значения к элементу управления от переменРис. 3.56. ной Mathcad, то щелкните ниже или правее определения Всплывающее переменной; меню пункта Элементы ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Элементы (Control). выпадающего меню Появится всплывающее меню; ¾ щелкните во всплывающем меню по нужному элементу управления. Появится шаблон элемента управления. Например, для элемента управления Флажок он будет выглядеть так: := ¾ в метку, расположенную в левой части шаблона, введите имя выводимой переменной, которая должна быть до этого определена. Чтобы добавить ввод или вывод переменной в элемент управления: ¾ щелкните правой кнопкой мыши. Появится контекстно-зависимое меню (рис. 3.57); ¾ щелкните по пункту Добавить входную (выходную) переменную.
Вставка объекта Пункт выпадающего меню Объект (Object) обеспечивает появление диалогового окна Вставка объекта (Insert Object), предназначенного для выбора и ввода необходимого объекта (рис. 3.58). Благодаря пункту Объект… можно установить связь с самыми различными приложениями операционной системы, в том числе с довольно далекими от математических систем: текстовый редактор Word, база данных Acess или электронная таблица Excel из офисного пакета Microsoft Office 98/2000/XP.
216
Основной инструментарий системы Mathcad
Рис. 3.57. Контекстно-зависимое меню шаблона элемента управления
Рис. 3.58. Диалоговое окно Вставка объекта
После выбора приложения для объектной связи с Mathcad и установки галочки (флажка) в окошке В виде значка (Display as Icon) чуть ниже появится пиктограмма, характерная для выбранного объекта. На рис. 3.59 показан случай, когда в качестве объекта для вставки используется документ Microsoft Word. Если активизировать значок-пиктограмму, дважды щелкнуть по пиктограмме, то появится окно текстового редактора.
Меню управления вставкой
217
Рис. 3.59. Результаты вставки объекта – приложения
Объекты для связи с Mathcad могут быть самыми разнообразными: текстовые и графические данные, таблицы и записи из баз данных, музыкальные фрагменты, видеоклипы и т. д. По существу, этот способ связи позволяет свести воедино самые различные приложения и обеспечить полноценный обмен данными между ними.
Вставка ссылки Пункт выпадающего меню Ссылка (Reference) обеспечивает появление диалогового окна Вставка ссылки (Insert Reference) (рис. 3.60).
Рис. 3.60. Диалоговое окно Вставка ссылки
В текстовом поле Вставить ссылку на файл (Insert reference to file) этого окна надо либо указать полное имя файла, либо найти его, воспользовавшись кнопкой
218
Основной инструментарий системы Mathcad
вызова окна просмотра Обзор (Browse). В самом диалоговом окне дается пояснение действий пользователя. Щелкнув по кнопке ОК, можно вывести по месту расположения курсора мышки кнопку гиперссылки с указанным после нее именем вызываемого ею файла. Активизация кнопки ОК ведет к появлению окна с вызываемым документом.
Создание гиперсвязи с другими документами Пункт выпадающего меню Гиперсвязь (Hyperlink) обеспечивает возможность вставлять или модифицировать гиперсвязи с другим документом. Гиперссылки используются для создания сложных документов, обучающих программ и справочных систем. Гиперссылка в системе Mathcad представляется подчеркнутым словом, при активизации которого вызывается связанный с ней документ (файл). Для оформления гиперссылки должен быть создан текстовый блок, в котором нужно выделить некоторый фрагмент текста, чаще всего какое-либо слово. После этого надо щелкнуть левой кнопкой мышки по пункту Гиперсвязь (Hyperlink) выпадающего меню пункта Вставить (Insert) главного меню. Появится диалоговое окно Вставка гипертекстовой ссылки (Insert Hyperlink) – рис. 3.61.
Рис. 3.61. Диалоговое окно Вставка гипертекстовой ссылки
В диалоговом окне Вставка гипертекстовой ссылки в верхнем текстовом поле Ссылка на файл или URL (Link to file or URL) следует указать полное имя файла, который будет вызываться данной гиперссылкой. В текстовом поле Сообщение отображаемое в строке состояния если указатель над ссылкой можно ввести текст сообщения, которое будет появляться в строке состояния (внизу экрана системы) при установке курсора мышки на гиперссылку. Обычно точное имя файла (с полным путем доступа к нему) запомнить трудно. Поэтому, активизируя кнопку Обзор (Browse), можно вызвать окно поиска файла. После нахождения файла его полное имя появляется в верхнем поле окна гиперссылки. Теперь в нижнее поле можно ввести текст сообщения. Для завершения создания гиперссылки достаточно щелкнуть по кнопке ОК диалогового окна Вставка гипертекстовой ссылки. При отказе от ее создания
Меню управления форматом
219
надо щелкнуть по Отмена (Cancel). Если установить курсор мышки на гиперссылку, то в строке состояния (внизу экрана системы) появится сообщение, которое было задано ранее. Такие сообщения очень полезны при большом числе гиперссылок, поскольку позволяют судить об их назначении. Для осуществления гиперссылки достаточно установить курсор мышки на подчеркнутое слово, гиперссылку и дважды быстро щелкнуть левой кнопкой. Текстовое сообщение, в котором имеется гиперссылка, станет выделенным, и на экране появится вызываемый гиперссылкой документ. После ознакомления с вызываемым документом его можно закрыть. До этого возможно редактирование документа. Объектами гиперссылок могут быть не только документы, но и рисунок, создаваемый графическим редактором, электронная таблица и т. д. Все это позволяет создавать вполне современные и удобные в применении документы не только расчетного, но и информационно-справочного и учебного характера.
Меню управления форматом Состав и структура меню Пункт главного меню Формат (Format) или нажатие комбинации клавиш Alt+F вызывает выпадающее меню управления форматом (рис. 3.62). Выпадающее меню пункта Формат главного меню включает следующие пункты: • Уравнение (Equation) – вызывает диалоговое окно Формат уравнений (Equation Format); • Результат (Result) – вызывает диалоговое окно Формат Результата (Result Format); • Текст (Text) – вызывает диалоговое окно Формат текста (Text Format); • Параграф (Paragraph) – вызывает диалоговое окно Формат Параграфа (Paragraph Format); • Табуляторы (Tabs) – вызывает диалоговое окно Табуляторы (Tabs); • Стиль (Style) – вызывает диалоговое окно Стили текста (Text Styles); • Свойства (Properties) – вызывает одноименное диаРис. 3.62. логовое окно Properties (Свойства); Выпадающее меню • Графики (Graph) – вызывает всплывающее меню; пункта Формат • Цвет (Color) – вызывает всплывающее меню; главного меню • Область (Area) – вызывает всплывающее меню; • Отделить Области (Separate Regions) – производит разделение наложенных друг на друга областей; • Выровнять Области – вызывает всплывающее меню; • Перенумерация страниц (Repaginate Now) – производит перенумерацию страниц.
220
Основной инструментарий системы Mathcad
По умолчанию форматы выбраны с учетом устоявшейся практики научнотехнических вычислений и технических характеристик современных ПК.
Форматирование выражений Пункт выпадающего меню Уравнение (Equation) вызывает диалоговое окно Формат уравнений (Equation Format) – рис. 3.63. Диалоговое окно Формат уравнений содержит два раскрывающихся списка и одно текстовое поле: • Название стиля (Style Name) – раскрывающийся список; • Имя нового (New Style Name) – текстовое поле; • Цвет по умолчанию (Default Equation Color) – раскрывающийся список. Математические выражения (уравнения) включают переменные, константы, операторы и специальные знаки. Рис. 3.63. Диалоговое окно Для переменных и надписей на графиках Формат уравнений Mathcad по умолчанию использует шрифт Times New Roman 10-го кегля. Однако с помощью кнопки Изменить (Modify) можно назначить переменным, константам и другим символам в математических выражениях другой шрифт с иным размером. Для этого: ¾ щелкните в первом списке по нужному объекту математического выражения. К таким объектам относятся Variables (Переменные), Constants (Константы) и User N (Объекты пользователя), где N – номер группы от 1 до 7; ¾ щелкните по кнопке Изменить (Modify). Появится соответствующее диалоговое окно с каталогом шрифтов и необходимыми для их задания начертанием, размером и другими параметрами. На рис. 3.64 приведен вид диалогового окна Variables (Переменные), предоставляющего выбор шрифта для переменных.
Рис. 3.64. Диалоговое окно Variables
Меню управления форматом
221
Диалоговое окно Variables содержит три списка для выбора шрифта, начертания и размера, а также два раскрывающихся списка для выбора цвета и набора символов. Параметры шрифтов устанавливаются раздельно для каждого из объектов (текст, формулы, …), но для всех подобных объектов в заданном документе остаются идентичными.
Форматирование результатов расчета Пункт выпадающего меню Результат (Result) вызывает диалоговое окно Формат Результата (Result Format) (рис. 3.65).
Рис. 3.65. Диалоговое окно Формат Результата
Диалоговое окно Формат Результата включает четыре вкладки: • Формат Номера (Number Format); • Параметры Экрана (Display Options); • Отображение модулей (Unit Display); • Точность (Tolerance).
Форматирование текста Пункт выпадающего меню Текст (Text) вызывает диалоговое окно Формат текста (Text Format). На рис. 3.66 приведен вид диалогового окна для форматирования текста Формат текста. Форматирование текста означает изменение типа шрифтов и их параметров. Пункт Текст (Text) выпадающего меню пункта Формат (Format) главного меню доступен лишь для выделенного фрагмента текста и активен только в том случае, когда курсор мышки находится в текстовой области. Этот пункт выпадающего меню позволяет вызвать диалоговое окно Формат текста и выбрать шрифт из имеющегося набора и изменить его в выделенной области текста. Диалоговое окно содержит три раздела для выбора шрифта, его стиля и размера: Шрифт (Font) – тип шрифта (фонта), Стиль (Font Style) – стиль шрифта, Размер (Size) – размер шрифта.
222
Основной инструментарий системы Mathcad
Рис. 3.66. Диалоговое окно Формат текста
Набор шрифтов определяется тем, какие шрифты инсталлированы в системе Windows, в которой работает Mathcad. Стиль шрифтов может быть обычный (Normal), курсив (Italic), жирный (Bold), жирный курсив (Italic Bold). Стиль шрифтов можно изменять и с помощью кнопок панели инструментов Форматирования, на которой имеются кнопки с пиктограммами с буквами В, I и U, которые можно использовать в любой комбинации и с любым набором шрифтов. Они могут быстро вводиться и быть размещенными в строке символов. В диалоговом окне Формат текста имеется также ряд включаемых/выключаемых режимов под именем Эффект (Effect): • Перечеркнутый (Strikeout) – перечеркнутые посередине символы; • Подчеркнутый (Underline) – подчеркнутые снизу символы; • Нижний индекс (Subsсript) – подстрочные символы; • Superscript (Верхний индекс) – надстрочные символы. Как обычно, кнопка ОК диалогового окна фиксирует выбор, а кнопка Отмена (Cancel) позволяет отказаться от модификации текстовых надписей. Многие шрифты, в частности наиболее распространенный Times New Roman, допускают изменение их размеров. Это задается в соответствующем окошке. Так, для заглавия документа можно выбрать большие жирные буквы, а текстовые сообщения задать прямыми буквами малого или среднего размера с обычной жирностью.
Форматирование параграфа Пункт выпадающего меню Параграф (Paragraph) вызывает диалоговое окно Формат Параграфа (Paragraph Format) (рис. 3.67). Пункт Параграф (Paragraph) выпадающего меню пункта Формат (Format) главного меню доступен лишь для выделенного фрагмента текста и активен только в том случае, когда курсор мышки находится в текстовой области. Диалоговое окно Формат Параграфа имеет в разделе Отступ (Indent) три установки:
Меню управления форматом
223
Рис. 3.67. Диалоговое окно Формат Параграфа
• Левая (Left) – установка отступа слева; • Правая (Right) – установка отступа справа; • Специальная (Special) – установка отступа первой строки абзаца. Можно задать абзацный отступ как для всех строк, так и только для первой строки. Кроме того, можно задать тип выравнивания строк. Диалоговое окно Формат Параграфа имеет в разделе Выравнивание (Alignment) три установки: • Левая (Left) – по левому краю абзаца; • Правая (Right) – по правому краю абзаца; • По центру (Center) – по центру абзаца. Чтобы изменить некоторые свойства в абзаце в текстовой области: ¾ выделите текст внутри абзаца; ¾ щелкните в главном меню по пункту Формат (Format), а затем в выпадающем меню по пункту Параграф (Paragraph). Появится диалоговое окно Формат Параграфа; ¾ выполните соответствующие изменения в диалоговом окне Формат Параграфа и щелкните по кнопке OK. Для быстрого изменения способа выравнивания, маркирования или нумерации списка выполните следующие действия: ¾ выделите текст внутри абзаца; ¾ щелкните на панели инструментов Форматирование (четвертая строка сверху) по одной из кнопок выравнивания: По левому краю (Align Left); По центру (Align Center); По правому краю (Align Right); по кнопке Маркеры (Bullets) при маркировке списка или по кнопке Нумерация (Numbering) при нумерации списка. Следует помнить, что абзац – это часть текста от начала текстовой области до первого нажатия клавиши ENTER или часть текстовой области от начала одного нажатия клавиши ENTER до другого. Чтобы вставить новую строку внутри абзаца, нажмите Shift+Enter.
Установка табуляторов в текстовой области Пункт выпадающего меню Табуляторы (Tabs) вызывает диалоговое окно Табуляторы (Tabs), где можно устанавливать табуляторы в текстовой области – рис. 3.68.
224
Основной инструментарий системы Mathcad
Рис. 3.68. Диалоговое окно Табуляторы
Имеются два способа установки табуляторов в текстовой области в системе Mathcad: • использовать диалоговое окно Формат Параграфа (Paragraph Format); • использовать текстовую линейку Линейка (Ruler). Чтобы установить табуляторы с помощью диалогового окна Формат Параграфа: ¾ выделите текст внутри абзаца; ¾ щелкните в главном меню по пункту Формат (Format), а затем в выпадающем меню по пункту Параграф (Paragraph). Появится диалоговое окно Формат Параграфа (Paragraph Format); ¾ щелкните по кнопке Табуляторы (Tabs), чтобы открыть диалоговое окно Табуляторы (Tabs); ¾ введите числа в текстовое поле Позиция установки табулятора (Tab stop position); ¾ щелкните по кнопке Установить (Set) для каждого табулятора. Введенные числа должны затем появиться в поле ниже текстового поля Позиция установки табулятора. Чтобы удалить табулятор, выберите табулятор, который вы хотите удалить в диалоговом окне Табуляторы, а затем щелкните по кнопке Очистить (Clear). Для быстрой установки границ выравнивания и отступов: ¾ выделите текст внутри абзаца; ¾ щелкните в главном меню по пункту Вид (View), а затем в выпадающем меню по пункту Линейка (Ruler). Появится в верхней части экрана Линейка (Ruler); ¾ установите, используя указатель мышки, тот или иной маркер на линейке в нужную позицию. При этом строка или строки выделенного абзаца будут перемещаться вместе с маркерами при их установке. Чтобы удалить маркер, щелкните по нужному маркеру мышкой и, удерживая ее нажатой, переместите курсор вне линейки.
Выбор стиля Пункт выпадающего меню Стиль (Style) вызывает диалоговое окно Стили текста (Text Styles) – рис. 3.69
Меню управления форматом
225
Рис. 3.69. Диалоговое окно Стили текста
Под стилем текстовых комментариев подразумевается совокупность параметров различных текстовых объектов: заголовков различного уровня, абзацев, списков (листов) и т. д. Все они должны иметь свой определенный шрифт, размеры символов и иные параметры. Подготовка текстовых комментариев в нужном стиле необходима при создании документов высокого полиграфического качества. Окно выбора стилей имеет перечень стилей и ряд кнопок для задания следующих операций: • Применить (Apply) – применить выбранный стиль; • Новый (New) – задать новый стиль; • Изменить (Modify) – модифицировать выбранный стиль; • Удалить (Delete) – удалить заданный стиль; • Закрыть (Close) – закрыть окно и отказаться от выбора стиля. Кнопка Новый (New) вызывает диалоговое окно Определение стиля (рис. 3.70).
Рис. 3.70. Диалоговое окно Определение стиля
Диалоговое окно Определение стиля позволяет задать новый стиль со своим именем. Кнопка Изменить (Modify) вызывает аналогичное диалоговое окно Определение стиля. В диалоговом окне Определение стиля можно выбрать нужный набор символов (кнопка Шрифт) и задать параметры абзаца (кнопка Параграф). Задание нового стиля дополняет уже указанный список. Для унификации и облегчения введения комментариев на русском языке желательно создать свой стиль, например под названием Text. Для этого: ¾ щелкните в главном меню по пункту Формат (Fofmat), а затем в выпадающем меню по пункту Стиль (Style). Появится диалоговое окно Стили текста (Text Styles);
226
Основной инструментарий системы Mathcad
¾ щелкните в диалоговом окне Стили текста по кнопке New… (Новый), чтобы задать новый стиль. Появится диалоговое окно Определение стиля (Define Style), в котором в верхнем поле Имя (Name) дайте имя новому стилю, например Text; ¾ щелкните по кнопке Шрифт (Font) – появится диалоговое окно Формат текста (Text Format); ¾ выберите в списке Шрифт (Font) – тип шрифта (фонта), например Times New Roman Cyr, в списке Стиль (Font Style) – стиль шрифта, например обычный (regular), и в разделе Размер (Size) – размер шрифта, например 10 , и щелкните по кнопке ОК. Вернетесь к диалоговому окну Определение стиля; ¾ щелкните по кнопке Параграф (Paragraph) – появится диалоговое окно Формат Параграфа (Paragraph Format), в котором выполните все необходимые установки и щелкните по кнопке ОК. После всех установок закройте все диалоговые окна. На панели инструментов Форматирование (Formatting) в раскрывающемся списке стилей появится новый, вами установленный стиль – Text. Теперь стиль Text можно использовать при формировании текстовых областей. Для вызова только что созданного нового стиля: ¾ щелкните на панели инструментов Форматирование (Formatting) в раскрывающемся списке стилей по стрелке справа. Раскроется список стилей; ¾ щелкните в раскрывшемся списке стилей по стилю с названием Text. Этот стиль будет использоваться в выделенной вами текстовой области.
Установка свойств объекта Пункт выпадающего меню Properties (Свойства) вызывает одноименное диалоговое окно (рис. 3.71).
Рис. 3.71. Диалоговое окно Properties со вкладкой Отображение
Вкладка Отображение (Display) диалогового окна Properties… (Свойства) имеет следующие опции:
Меню управления форматом
227
• Подсветка области (Highlight Region) – обеспечивает подсветку выделенной текстовой области цветом; • Выбор цвета (Choose Color) – вызывает диалоговое окно с палитрой различных цветов; • Границы (Show Border) – добавляет рамку вокруг выбранного изображения или растра; • Отображать в исходном размере (Display at Original Size) – показывает изображение или растр в его первоначальном размере. На рис. 3.72 показано диалоговое окно Properties с открытой вкладкой Текст.
Рис. 3.72. Диалоговое окно Properties с открытой вкладкой Текст
Вкладка Текст (Text ) диалогового окна Properties… (Свойства) имеет следующие опции: • Разместить на ширину страницы (Occupy Page Width) – текстовая область разворачивается на полную ширину страницы; • Сделать области ниже как вы набрали (Push Regions Down As You Type) – размещает текстовые области так, чтобы они не накладывались друг на друга.
Форматирование графиков Пункт выпадающего меню Графики (Graph) вызывает всплывающее меню, задающее форматы графиков (рис. 3.73). Пункт всплывающего меню X-Y Зависимость (X-Y Plot) вызывает диалоговое окно установки параметров двумерного декартова графика Setting Default Formats for X-Y Plots (рис. 3.74). Для изменения формата уже построенного графика необРис. 3.73. ходимо сначала выделить его, щелкнув по нему мышью. ВыВсплывающее меню пункта деленный график обводится сплошной линией с маркерами Graph его растяжения. Если в диалоговом окне Setting Default Formats for X-Y Plots режим Линии сетки (Grid Lines) отключен, то масштабная сетка графика не строится, хотя
228
Основной инструментарий системы Mathcad
на осях размещаются короткие деления. Режим Нумерация (Numbered) обеспечивает редактирование цифровых данных.
Рис. 3.74. Диалоговое окно Setting Default Formats for X-Y Plots
В нижней части панели имеются следующие кнопки: • ОК – закрытие окна; • Отмена (Cancel) – выход из диалогового окна установок; • Применить (Apply) – применение установок к выделенному графику; • Справка (Help) – вывод подсказки.
Установка цвета Пункт выпадающего меню Цвет (Color) вызывает всплывающее меню (рис. 3.75). Всплывающее меню содержит следующие пункты: • Фон (Background) – выбрать цвет фона окна; • Подсветка (Highlight) – вызывает диалоговое окно с палитрой различных цветов для подсветки всех областей в рабочем листе; • Комментарии (Annotation Color) – выбрать цвет комментария; • Палитра по умолчанию (Use Default Palette) – задание исходной цветовой палитры по умолчанию; • Оптимальная палитра (Optimize Pallette) – оптимизация Рис. 3.75. цветовой палитры для BitMap-рисунков. Всплывающее Первый пункт всплывающего меню вызывает стандартменю пункта Color ное диалоговое окно Цвет (Background Color) – рис. 3.76. Второй пункт вызывает аналогичное диалоговое окно под названием Default Highlight Color (Цвет подсветки по умолчанию). Третий пункт вызывает аналогичное диалоговое окно Annotation Color (Цвет комментария).
Меню управления форматом
229
Рис. 3.76. Диалоговое окно Цвет
Форматирование области Пункт выпадающего меню Область (Area) вызывает всплывающее меню (рис. 3.77). Пункт всплывающего меню Блокировка (Lock) вызывает диалоговое окно Блокировка (Lock Area) – рис. 3.78.
Рис. 3.77. Всплывающее меню пункта Область
Рис. 3.78. Диалоговое окно Блокировка
Пункт всплывающего меню Разблокировать (Unlock) вызывает диалоговое окно Снятие блокировки (Unlock Area) – рис. 3.79.
Рис. 3.79. Диалоговое окно Снятие блокировки
Пункт всплывающего меню Закрыть (Collapses – Свернуть) свертывает область, созданную с использованием пунктов главного меню Формат (Format), выпадающего меню Область (Area) и всплывающего меню Развернуть (Expand). Границы области и области между ними свертываются в одиночную полосу, кото-
230
Основной инструментарий системы Mathcad
рую можно перемещать, но нельзя удалять или копировать. Области ниже свернутой области перемещаются по мере необходимости. Пункт всплывающего меню Развернуть (Expand) разворачивает область, свернутую с использованием пунктов главного меню Формат (Format), выпадающего меню Область (Area) и всплывающего меню Закрыть (Collapses – Свернуть). Чтобы расширить свернутую область и увидеть скрытые области, выберите пункты главного меню Формат (Format), выпадающего меню Область (Area) и всплывающего меню Развернуть (Expand). Скрыть область можно двумя способами. Первый способ предусматривает следующие действия: ¾ щелкните на одной из границ области правой кнопкой мышки. Появится контекстно-зависимое меню (рис. 3.80); ¾ щелкните в контекстно-зависимом меню по пункту Закрыть (Collapse – Свернуть). Границы области и области между ними свернутся в одиночную полосу. Второй способ предусматривает следующие действия: ¾ щелкните на одной из границ области левой кнопкой мышки; ¾ щелкните по пункту Формат (Format) главного меню, Рис. 3.80. по пункту Область (Area) выпадающего меню. ПоявитКонтекстнося всплывающее меню; зависимое меню ¾ щелкните по пункту Закрыть (Collapse – Свернуть) при сворачивании всплывающего меню. Границы области и области между области ними свернутся в одиночную полосу. Области внутри свернутой области выполняют необходимые вычисления, но их нельзя увидеть на экране. Пункт Развернуть (Expand) – развертывает область, свернутую пунктом Закрыть (Collapse – Свернуть). Развернуть область можно двумя способами. Первый способ предусматривает следующие действия: ¾ щелкните по одиночной полосе – свернутой области правой кнопкой мышки. Появится контекстно-зависимое меню; ¾ щелкните по пункту Развернуть (Expand) контекстно-зависимого меню. Одиночная полоса развернется в область. Если свернутая область была заблокирована, то сначала ее надо разблокировать. Второй способ предусматривает следующие действия: ¾ щелкните по одиночной полосе – свернутой области левой кнопкой мышки: ¾ щелкните в главном меню по пункту Формат (Format) главного меню, в выпадающем меню по пункту Область (Area), а затем во всплывающем меню по пункту Развернуть (Expand). Одиночная полоса развернется в область.
Меню математических средств
231
Отделение областей Пункт выпадающего меню Separate Regions (Отделить области) или нажатие клавиш Ctrl+S обеспечивает автоматическое разделение перекрывающихся областей, но эта операция не всегда приводит к успеху. В подобных случаях целесообразна все же ручная коррекция положения областей в документе.
Align Regions – выравнивание областей Пункт выпадающего меню Align Regions (Выровнять области) вызывает всплывающее меню (рис. 3.81). Всплывающее меню пункта выравнивания областей Выровнять области (Align Regions) включает два пункта: • По верхней границе (Across); • Вперед (Down).
Рис. 3.81. Всплывающее меню пункта выравнивания областей Выровнять области
Перенумерация страниц Пункт выпадающего меню Перенумерация страниц (Repaginate Now) производит перенумерацию страниц в документе так, чтобы они не пересекли области в рабочем листе. Mathcad автоматически разбивает на страницы весь документ перед печатью или предварительным просмотром рабочего листа, чтобы гарантировать, что никакая область не пересекает границ страницы.
Меню математических средств Состав и структура меню Пункт главного меню Инструменты (Tools) или нажатие комбинации клавиш Alt+И вызывает выпадающее меню средств управления вычислениями (рис. 3.82). Если слово с орфографической ошибкой найдено, диалоговое окно Проверка орфографии появляется с предложениями для правильной записи по буквам. Выпадающее меню пункта главного меню Инструменты включает следующие пункты: • Орфография (Spelling) – проверяет орфографию выделенного текста, к сожалению только английского; • Анимация (Animate) – вызывает всплывающее меню; • Защитить таблицу – обеспечивает защиту рабочего листа; • Вычисления (Calculate) – вызывает всплывающее меню; Рис. 3.82. • Оптимизировать (Optimization) – обеспечивает по- Выпадающее меню лучение упрощенного аналитического выражения без пункта главного меню Инструменты потери точности;
232
Основной инструментарий системы Mathcad
• Запретить вычисления (Disable Colculation) – переход в состояние запрета вычислений; • Ошибка следа – вызывает диалоговое окно Ошибка следа; • Опции таблицы – вызывает диалоговое окно Опции таблицы; • Настройки – вызывает соответствующее диалоговое окно.
Проверка орфографии Пункт выпадающего меню Орфография (Spelling) позволяет проверять слово в текстовой области с орфографической ошибкой. После щелчка по пункту Орфография появляется диалоговое окно Проверка орфографии – рис. 3.83.
Рис. 3.83. Диалоговое окно Проверка орфографии
Анимация графика Пункт выпадающего меню Анимация (Animate) позволяет использовать стандартную технологию создания анимационных файлов с расширением AVI и их воспроизведение с помощью, например, программной системы Microsoft Video 1. Здесь используется стандартный для Windows формат видеофайлов со звуковым сопровождением. Все файлы в этом формате имеют расширение AVI (AudioVideo Interleaved). Система Microsoft Video 1 предварительно должна быть установлена на ПК в составе операционной системы Windows. Принцип анимации достаточно прост. В системе имеется встроенная переменная FRAME, принимающая целочисленные значения, по умолчанию – от 0 до 9 с шагом 1. Любая функция (рис. 3.84), график которой планируется наблюдать в развитии, должна быть функцией этой переменной, являющейся, по существу, просто номером текущего кадра. Диапазон изменения переменной FRAME задается в диалоговом окне Записать Анимацию. При создании анимационных рисунков все кадры строятся с одинаковыми координатами углов и, следовательно, с одинаковыми размерами и положением на экране. Их вывод один за другим с заданной скоростью (по умолчанию – 0 кадров в секунду) и создает «живую» картинку. Анимация осуществляется путем просмотра созданной последовательности кадров с помощью специального проигрывателя.
Меню математических средств
233
Рис. 3.84. Подготовка к построению анимационного графика
Для создания последовательности кадров анимации необходимо щелкнуть по пункту Инструменты (Tools) главного меню, а затем по пункту Анимация (Animate) в выпадающем меню. Эти действия приведут к появлению на экране диалогового окна Записать Анимацию (рис. 3.85). В окне можно задать три основных параметра анимации: начальное значение встроенной переменной FRAME, конечное значение ее и скорость смены кадров. В нашем примере эти значения равны соответственно 0, 20 и 10.
Рис. 3.85. Диалоговое окно Записать Анимацию
234
Основной инструментарий системы Mathcad
Затем следует выделить пунктирным прямоугольником шаблон графика. Построение прямоугольника начинается слева направо по горизонтали над шаблоном графика. Для этого щелкните левой кнопкой мышки чуть выше и левее верхнего левого угла границы графика. Удерживая кнопку нажатой, протяните указатель мышки по горизонтали вправо за правую границу графика. Затем, не отпуская кнопку, протяните указатель мышки по вертикали за нижнюю границу графика и отпустите кнопку. Щелкните по кнопке Анимация (Animate). Если выделенной области нет, то кнопка Анимация будет неактивной. Если все сделано правильно, начнется процесс создания последовательности анимационных кадров. При этом кадры будут видны в зоне просмотра окна Animation, а под этой зоной можно наблюдать изменение значения переменной FRAME (рис. 3.86).
Рис. 3.86. Результат анимации
С помощью кнопки Параметры (Options) в диалоговом окне Записать Анимацию можно выбрать тип и программу сжатия видеофайлов. Появится диалоговое окно Опции сжатия (Compressor Options). Если имеются другие видеосистемы (кроме Microsoft Video 1), возможна работа и с ними (рис. 3.87). Это можно увидеть, раскрыв список программ сжатия. Чем больше конечное значение переменной FRAME и выше частота кадров, тем более плавно происходит считывание, но увеличивается объем AVI-файлов. По окончании процесса создания серии кадров анимационного видеоролика появится проигрыватель анимационных кадров Просмотр Анимации (рис. 3.88). Запустив его кнопкой пуска, имеющей вид треугольника, можно наблюдать изменение графика во времени.
Меню математических средств
235
Рис. 3.87. Диалоговое окно Опции сжатия Рис. 3.88. Воспроизведение анимационного графика
Для записи анимационного графика: ¾ щелкните в диалоговом окне Записать Анимацию по кнопке Сохранить как… (Save As…). Появится диалоговое окно Save Animation (Сохранить анимацию); ¾ найдите в диалоговом окне Сохранить Анимацию папку (каталог), в которую будет помещен записываемый файл; ¾ запишите анимационный файл с расширением .avi, принятым для файлов видеосистемы (программы) Microsoft Video for Windows (рис. 3.89). До записи в файл кадры видеоролика хранятся в оперативной памяти ПК, что ограничивает их число.
Рис. 3.89. Диалоговое окно Save A nimation
236
Основной инструментарий системы Mathcad
При создании анимационных картинок надо отключать все параметры автоматического масштабирования графиков и переходить к ручному заданию масштаба. Автоматическое изменение масштаба часто ведет к скачкообразному изменению размеров графика с дискретностью, определяемой встроенной переменной FRAME = 0, 1, 2, 3 и т. д.
Воспроизведение анимационных графиков Пункт всплывающего меню Воспроизведение (Playback) обеспечивает просмотр анимационных изображений. Любой видеофайл с расширением .avi может быть воспроизведен с помощью проигрывателя, запускаемого пунктом Воспроизведение (Playback). При этом проигрыватель Просмотр Анимации появляется на экране (рис. 3.90).
Рис. 3.90. Проигрыватель для воспроизведения видеофайлов
Проигрыватель управляется всего двумя кнопками. Первая (с пиктограммой в виде треугольника) включает проигрыватель. Вторая – кнопка управления. Однако для воспроизведения какого-либо видеоклипа его файл должен быть загружен. Для загрузки файла: ¾ щелкните в проигрывателе по второй кнопке. Появится всплывающее меню с одним пунктом Open (Открыть); ¾ щелкните по пункту Open. Появится диалоговое окно Open AVI, аналогичное диалоговому окну Save Animation. Это окно предназначено для загрузки файлов с расширением .avi; ¾ щелкните дважды по нужному видеофайлу – появится проигрыватель Просмотр Анимации (см. рис. 3.88) с начальным кадром этого файла. В нижней части окна проигрывателя расположен указатель текущего времени проигрывания в виде шкалы с бегунком. На рис. 3.88 изображен проигрыватель в процессе просмотра анимационного графика, полученного выше и записанного под именем anim.avi. Проигрыватель AVI-файлов способен воспроизводить файлы, созданные иными системами мультимедиа, причем со стереофоническим звуковым сопровождением. Он обладает типовыми средствами управления: регулировкой размеров изображения громкости и скорости просмотра, диалоговым окном поиска AVI-файлов и т. д. Некоторые из них (например, регулятор громкости) появляются только в том случае, когда необходимы. Если в проигрыватель загружен файл, активизация кнопки управления (вторая из двух) приводит к появлению на экране контекстного меню (рис. 3.91). Контекстное меню управления проигрывателем включает следующие пункты: • Вид (View) – вызывает всплывающее меню для управления размером окна просмотра;
Меню математических средств
237
Рис. 3.91. Контекстно-зависимое меню управления проигрывателем
• Скорость (Speed) – управление скоростью проигрывания; • Open (Открыть) – вывод диалогового окна открытия AVI-файлов; • Закрыть (Close) – закрытие текущего окна; • Copy (Копировать) – копирование в буфер обмена; • Настройка (Configure) [Ctrl+D] – включение опций конфигурации; • Command (Команда) – управление из командной строки. Пункт Вид (View) вызывает всплывающее меню из трех команд: • Половинный размер (Half Size [Alt+2]) – уменьшение окна просмотра вдвое; • Обычный размер (Normal Size [Ctrl+1]) – установка нормального размера окна; • Обычный размер (Double Size [Ctrl+2]) – увеличение размера окна вдвое. Пункт Скорость (Speed) вызывает панель с перемещаемым бегунком для установки нужной скорости изменения объекта. Пункт Open… (Открыть) вызывает диалоговое окно Open AVI (Открыть AVI). Пункт Закрыть… (Close) закрывает видеофайл. Пункт Copy… (Копировать) копирует видеофайл. Пункт Настройка… (Configure) или нажатие комбинации клавиш [Ctrl+D] вызывает диалоговое окно Свойства видео (Video Properties) (рис. 3.92), которое позволяет задать нужный видеорежим просмотра.
238
Основной инструментарий системы Mathcad
Рис. 3.92. Диалоговое окно Свойства видео
В средней части диалогового окна Свойства видео помещается окно информации о размере проигрываемого файла. Кнопки ОК, Отмена (Cancel) и Применить (Apply) служат соответственно для фиксации изменений параметров, отказа от изменений и установки параметров по умолчанию. Пункт Command… (Команда) вызывает диалоговое окно Отправка команды MCI (рис. 3.93).
Рис. 3.93. Диалоговое окно Отправка команды MCI
Ручной режим вычисления выражений на экране Пункт выпадающего меню Защитить таблицу пункта Инструменты (Tools) главного меню вызывает диалоговое окно Защитить Таблицу (рис. 3.94). Здесь имеется в виду защита рабочего листа документа Mathcad. Диалоговое окно обеспечивает защиту в одном из трех режимов: Файл, Содержание или Редактирование. При этом рабочий лист может быть сохранен только как Mathcad 2001i или выше, RTF, Mathcad-шаблон (MCT), или как статический HTML-файл.
Меню математических средств
239
Рис. 3.94. Диалоговое окно Защитить таблицу
Чтобы защищать рабочий лист с паролем, вы должны ввести это правильно дважды в соответствующем диалоговом окне. Защита паролем является дополнительной.
Вычисление выражений Пункт выпадающего меню Вычисление (Calculate) пункта Инструменты (Tools) главного меню вызывает всплывающее меню – рис. 3.95. Система Mathcad может проводить вычисления в трех режимах: • Вычислить сейчас (Calculate) – ручной режим вычисления математических выражений, видимых на экране; Рис. 3.95. • Вычислить Таблицу (Calculate Worksheet) – выВсплывающее меню пункта Вычисление числение всего документа – рабочего листа; выпадающего меню • Автоматическое Вычисление (Automatic Calculation) – вычисление по мере ввода выражений.
Ручной режим вычисления выражений, видимых на экране Допустим, нам известен диапазон изменения дискретной величины n. Требуется определить все ее значения и в зависимости от них построить график. Введем сначала диапазон изменения дискретной величины n на рабочем листе, а затем искомую величину n и знак равенства. Затем введем функцию в зависимости от этой величины и построим график. Далее используем ручной режим расчета, который можно ввести несколькими способами: ¾ щелкните в главном меню по пункту Инструменты (Tools), в выпадающем меню по пункту Вычисления (Calculate), а затем во всплывающем меню по пункту Вычислить сейчас (Calculate); ¾ нажмите функциональную клавишу F9. При этом предполагается, что режим автоматических вычислений отключен, то есть отсутствует галочка перед пунктом Automatic Calculation (переключатель выключен). На рис. 3.96 представлены результаты применения ручного режима вычисления дискретного выражения и построения графика.
240
Основной инструментарий системы Mathcad
Ручная операция вычисления охватывает только те блоки, которые видны на текущем экране. Для расчета последующих блоков надо вновь использовать пункт всплывающего меню Вычислить сейчас или нажать функциональную клавишу F9.
Рис. 3.96. Использование ручного режима вычисления
Ручной режим вычисления всего документа Для вычисления всех выражений всего документа (рабочего листа): ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Вычисления (Calculation). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Вычислить Таблицу (Calculate Worksheet). Будут вычислены все выражения всего документа – рабочего листа, который может состоять из нескольких страниц. Для вычисления всех выражений всего документа (рабочего листа) можно также нажать комбинацию клавиш Ctrl+F9.
Меню математических средств
241
Автоматический режим вычисления всего документа Автоматический режим вычисления всего документа устанавливается по умолчанию. Если он был ранее отключен, то для его включения: ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Вычисление (Calculation). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Автоматическое Вычисление (Automatic Calculation). Будут вычислены все выражения всего документа – рабочего листа, который может состоять из нескольких страниц. Пункт всплывающего меню Автоматическое Вычисление считается включенным, если перед названием пункта установлена галочка: в этом случае будет работать автоматический режим вычислений, когда ее нет – ручной. Как правило, автоматический режим вычислений намного удобнее ручного, поэтому он установлен по умолчанию. Преимущество автоматического режима заключается в том, что в этом режиме числовые результаты расчетов и графики, которые вы видите в вашем окне, всегда cоответствуют последним изменениям. Недостаток автоматического режима заключается в том, что если ваш рабочий лист содержит большое количество математических выражений, требующих длительного времени расчетов, то может потребоваться много времени при модернизации выражений.
Оптимизация уравнений Для оптимизации вычисления уравнений: ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Оптимизировать (Optimization). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Уравнение (Equation). Начнется процесс замены сложной функции или математического выражения упрощенным аналитическим выражением, если это возможно без особой потери точности (рис. 3.97). На рис. 3.98 показано контекстно-зависимое меню, если щелкнуть правой кнопкой мыши в границах оптимизируемого выражения. В нашем примере проводятся вычисления тройного интеграла численным и комбинированным методами (вначале аналитическим, а затем численным). Расчеты последним достаточно трудоемки не только для пользователя, но и для компьютера, а задержка выдачи результата заметна даже на скоростных ПК с процессором Pentium.
242
Основной инструментарий системы Mathcad
Рис. 3.97. Результаты применения пункта Оптимизировать выпадающего меню пункта Инструменты главного меню
Рис. 3.98. Контекстно-зависимое меню, появляющееся в границах оптимизируемого выражения
Суть оптимизации заключается в первоначальном создании более простого выражения, а именно – замене исходного выражения более простым без потери точности. Применение этого метода в дальнейшем существенно сокращает время численного расчета.
Меню математических средств
243
Признаком оптимизации выражения является появление после него звездочки – знака *. Чтобы увидеть упрощенное аналитическое выражение перед его вычислением: ¾ щелкните правой кнопкой мыши в границах оптимизируемого выражения. Появится контекстно-зависимое меню; Рис. 3.99. Окно Optimized ¾ щелкните в контекстно-зависимом меню по Result с оптимизированным пункту Показать оптимизацию. Появится выражением окно Optimized Result (Оптимизированный результат) с оптимизированным выражением (рис. 3.99). Нетрудно заметить, что в примере довольно сложный интеграл оказался замененным достаточно простым аналитическим выражением. Разумеется, вычисление по такому выражению намного проще, чем по полному интегралу. Наибольшее преимущество оптимизация может дать при многократном вычислении сложных функций, содержащих интегралы, производные, суммы, произведения и ряды. Бывают, впрочем, случаи, когда исходное выражение превращается в не менее сложное оптимизированное выражение. Тогда оптимизация оказывается бесполезной.
Запрещение вычислений определенных выражений Для запрещения вычислений определенных выражений: ¾ щелкните по выражению, которые вы не хотите вычислять. Оно выделится; ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Запретить вычисления (Disable Evaluation). Выражение будет находиться в состоянии запрета вычисления. Для разрешения вычислений выражений, которые находились в состоянии запрета вычисления: ¾ щелкните по выражению, которые вы хотите вычислить. Оно выделится; ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Разрешить вычисления (Enable Evaluation). Выражение будет вычислено.
Ошибка следа Допустим, что мы проводили вычисления функций
244
Основной инструментарий системы Mathcad
При определении значений p(0) появляется сообщение: Найдена сингулярность при вычислении этого выражения. Возможно, присутствует деление на ноль. Здесь ошибка появляется в пятой области (регионе), p(0). Однако p(x) основан на определении f(x). Когда x является нулевым, p(x) неопределен, и таким образом ошибка появляется. Чтобы проследить появление ошибки: ¾ щелкните в рабочем листе правой кнопкой мыши по области, в которой обнаружена ошибка. Появится контекстно-зависимое меню (рис. 3.100). ¾ щелкните в контекстно-зависимом меню по пункту Ошибка Следа. Появится диалоговое окно (рис. 3.101). Вызвать диалоговое окно Ошибка Следа можно и другим способом. Для этого: Рис. 3.100. ¾ щелкните в главном меню по пункту Инструменты Контекстно-зависимое (Tools). Появится выпадающее меню; меню в области ¾ щелкните в выпадающем меню по пункту Ошибка Слес ошибкой да. Появится диалоговое окно Ошибка Следа; ¾ щелкая по кнопкам в диалоговом окне Ошибка Следа, можно найти область, с которой началась ошибка. В нашем примере, используя кнопку Предыдущая, можно передвигаться среди областей, связанных с областью, которая показывает ошибку.
Рис. 3.101. Диалоговое окно Ошибка Следа
В нашем примере на рис. 3.102 хорошо видна начальная область, являющаяся источником ошибок в последующем. Найти ее удалось с помощью кнопки Предыдущая.
Меню математических средств
245
Рис. 3.102. Поиск ошибки с помощью диалогового окна Ошибка следа
Диалоговое окно Ошибка Следа включает следующие кнопки: • Первый – обеспечивает продвижение к первой области, с которой связана появившаяся ошибка. • Предыдущий – обеспечивает продвижение к предыдущей области, которая вызвала ошибку; • Далее – обеспечивает продвижение к последующей области, области, на которую повлияла ранее появившаяся ошибка. Шаги отправляют (ускоряют) к следующей области (региону), вовлеченной в ошибку. • Последний – обеспечивает продвижение к последней области, с которой связана появившаяся ошибка. • Закрыть – закрывает диалоговое окно.
Установка параметров переменных и систем единиц измерений Для установки параметров переменных и систем единиц измерений: ¾ щелкните в главном меню по пункту Инструменты (Tools). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Опции Таблицы (Math Options). Появится диалоговое окно Опции Таблицы (Math Options) (рис. 3.103). Диалоговое окно имеет следующие вкладки: • Переменные (Built-in Variables) – для установки значения встроенных (системных) переменных; • Вычисление (Calculation) – для установки режима автоматического вычисления и оптимизации выражений перед вычислением;
246
Основной инструментарий системы Mathcad
Рис. 3.103. Диалоговое окно Опции Таблицы с открытой вкладкой Переменные
• Отображение (Display) – для установки режима показа операторов Mathcad; • Система единиц (Units System) – для установки нужной системы единиц; • Измерения (Dimension) – для установки названий измерений. Вкладка Переменные (Built-in Variables) служит для установки значений системных переменных, которых в Mathcad имеется несколько. У них есть свои имена и значения, присваиваемые системой по умолчанию. Действие системных переменных глобальное, то есть они доступны в любом месте программы и их значения можно изменить везде: • Начальный индекс (ORIGIN) [0] – начальный индекс векторов и матриц, по умолчанию 0; • TOL [0. 001] – погрешность численных расчетов (допуск сходимости), по умолчанию 0.001; • СTOL [0. 001] – допуск ограничений, по умолчанию 0.001; • Начальная величина для случайных чисел по умолчанию равна 1; • Точность (PRNPRECISION) [4] – число столбцов для WRITEPRN, по умолчанию 4; • Ширина столбца (PRNCOLWIDTH) [8] – число десятичных знаков, используемых для записи числовых данных в WRITEPRN, по умолчанию равно 8. При вызове вкладки Переменные (Built-in Variables) в диалоговом окне Опции Таблицы наглядно видны все эти системные переменные и их значения (в квадратных скобках указаны их заданные значения). Можно откорректировать и вывести значения системных переменных, указав после их имени знак «=». Вкладка Вычисление (Calculation) предназначена для установки режима автоматического вычисления и выполнения операции оптимизации (получения упрощенного выражения) перед произведением расчетов. На рис. 3.104 представлено диалоговое окно Опции Таблицы (Math Options) с вкладкой Вычисление (Calculation).
Меню математических средств
247
Рис. 3.104. Диалоговое окно Опции Таблицы с открытой вкладкой Вычисление
Вкладка Отображение (Display) предназначена для установки вида представления некоторых операторов Mathcad. Когда вводится в выражение тот или иной оператор, он имеет определенный, заранее заданный вид, который определяется по умолчанию. Однако для некоторых операторов имеются в наборе Mathcad и другие виды их представления, которые можно при желании использовать. На рис. 3.105 представлено диалоговое окно Опции Таблицы с открытой вкладкой Отображение.
Рис. 3.105. Диалоговое окно Опции Таблицы с открытой вкладкой Отображение
На этой вкладке перечислены те операторы, для которых имеются различные виды их представления (Operator Display): • Умножение (Multiplication) – знак умножения; • Производная (Derivative) – знак производной; • Литеральный (Literal Subscript) – знак нижнего индекса;
248
Основной инструментарий системы Mathcad
• Определение (Definition) – символ определения; • Глобальное определение (Global Definition) – символ глобального определения; • Локальное (Local Definition) – символ локального определения переменной; • Равенство (Equality) – знак равенства. Чтобы изменить вид любого из этих операторов: ¾ щелкните по пункту Инструменты (Tools) главного меню, по пункту Опции Таблицы (Options) выпадающего меню. Появится диалоговое окно Опции Таблицы (Math Options); ¾ щелкните по вкладке Отображение (Display) диалогового окна Опции Таблицы (Math Options); ¾ раскройте список видов нужного оператора, чтобы выбрать из списка нужный вид показа оператора; ¾ щелкните по кнопке OK. Чтобы изменить вид оператора в одном или нескольких выражениях: ¾ щелкните по оператору правой кнопкой мышки; ¾ щелкните по пункту Показать определение как (View As) контекстно-зависимого меню. Вкладка Система единиц (Unit System) предназначена для установки той или иной системы единиц измерений. В этом окне можно выбрать одну из следующих систем единиц для размерных величин: SI, MKS, CGS, US, а также None (не используется ни одна из этих систем). На рис. 3.106 представлено диалоговое окно Опции Таблицы с открытой вкладкой Система единиц.
Рис. 3.106. Диалоговое окно Опции Таблицы с открытой вкладкой Система единиц
В диалоговом окне Опции Таблицы (Math Option) с вкладкой система единиц измерения Система единиц (Unit System) по умолчанию установлены следующие единицы измерения: • SI (Международная система) – международная система единиц измерения;
Меню символьных средств
249
• MKS (Система механических и акустических единиц: метр, килограмм, секунда); • CGS (Система механических и акустических единиц: сантиметр, грамм, секунда); • U.S. (Система Соединенных Штатов); • None. Вкладка Измерения (Dimensions) предназначена для отображения того или иного названия измерения (рис. 3.107). Она выводит перечень размерностей, которые можно при необходимости использовать. Для этого надо установить галочку в окошке Display Dimensions (Отображать измерения). Этот пункт работает как переключатель.
Рис. 3.107. Диалоговое окно Опции Таблицы с вкладкой измерения Измерения
В диалоговом окне Опции Таблицы (Math Option) с вкладкой Измерения (Dimension) отображаются измерения и их названия: • Mass (Масса); • Length (Длина); • Time (Время); • Chargent (Ток); • Temperature (Температура); • Luminosity (Освещенность); • Substance (Количество вещества).
Меню символьных средств Структура и состав меню С помощью пункта Символы (Symbolics) главного меню или нажатия комбинации клавиш Alt+S вызывается выпадающее меню символьных средств (рис. 3.108).
250
Основной инструментарий системы Mathcad
В меню представлены следующие пункты: • Расчеты (Evaluate) – вызывает всплывающее меню для вычисления символьных выражений; • Упростить (Simplify) – упрощает выделенное выражение; • Развернуть (Expand) – разлагает выделенное выражение; • Фактор (Factor) – находит коэффициенты в выделенном выражении; • Подобные (Collect) – собирает подобные члены выраРис. 3.108. жения; Выпадающее меню • Коэффициенты Полинома (Polinomial Coefficients) – пункта Символы находит полиномиальные коэффиценты в выделенном главного меню выражении: • Переменная (Variable) – вызывает всплывающее меню для выполнения различных операций для заданной переменной; • Матрицы (Matrix) – вызывает всплывающее меню для выполнения операций над матрицами; • Преобразование (Transform) – вызывает всплывающее меню для выполнения символических преобразований; • Стиль вычислений (Evaluation Style) – вызывает диалоговое окно Стиль вычислений для формирования стиля вычисления. Более подробно рассмотрим эти пункты в главе 6.
Установка стиля вычисления Пункт выпадающего меню Стиль вычислений вызывает диалоговое окно Стиль вычислений (Evaluation Style) для формирования стиля вычисления (рис. 3.109).
Рис. 3.109. Диалоговое окно Стиль вычислений
В диалоговом окне Стиль вычислений в разделе Показать шаги вычислений (Show evaluation steps) имеются три переключателя: – Вертикально, вставка строк (Vertically, inserting lines) – вертикальное размещение результатов вычисления с вставкой строк; – Вертикально, без вставки строк (Vertically, without inserting lines) – вертикальное размещение результатов вычисления без вставки строк; – Горизонтально (Horizontally) – горизонтальное размещение результатов вычисления.
Меню символьных средств
251
Внизу имеются два флажка: – Показать комментарии (Show Comments); – Расчет на месте (Evaluate in Place). На рис. 3.110 приведены результаты применения различных установок в диалоговом окне Стиль вычислений (Evaluation Style).
Рис. 3.110. Примеры применения различных установок в диалоговом окне Стиль вычислений
В ряде случаев предпочтительно применение символьного оператора вывода →, который делает символьные преобразования более наглядными. Для проведения символьных операций: ¾ выделите объект, над которым предстоит выполнить одну из символьных (аналитических) операций. Объектом операции могут быть математическое выражение, часть его или заданная пользователем функция, результат предшествующей операции и т. д.; ¾ щелкните в главном меню по пункту Символы (Symbolic). Появится выпадающее меню; ¾ щелкните в выпадающем меню по нужной символьной операции. Появится результат расчета в соответствии с установками, ранее сделанными в диалоговом окне Стиль вычислений. В Mathcad есть четыре способа выделения объекта: черным фоном клавишами перемещения, черным фоном мышкой двумя способами и пунктирными линиями.
252
Основной инструментарий системы Mathcad
Чтобы выделить объект черным фоном клавишами, достаточно установить маркер ввода – уголок (синяя клюшка) в начало или в конец объекта, нажать клавишу Shift и, нажимая клавишу перемещения вправо (влево, вверх, вниз), обеспечить выделение объекта (части объекта). Чтобы выделить объект черным фоном мышкой, достаточно установить указатель мышки в начало или в конец объекта и при нажатой левой кнопке мышки протащить указатель вправо (влево, вверх, вниз), обеспечивая выделение объекта (части объекта). Можно также дважды щелкнуть по выделяемому элементу, например по слову в текстовой области или по имени функции. Чтобы выделить объект пунктирными линиями, необходимо установить около него курсор и, щелкнув левой кнопкой, перемещать мышку по объекту. При этом появляется пунктирный прямоугольник, который передвижением мышки можно расширять в различных направлениях. Как только этот прямоугольник захватывает один или несколько объектов, они оказываются также выделенными – обведенными пунктирной линией, отмечающей область, занимаемую объектом на рабочем листе. Выделение объектов пунктирной линией используется для перемещения их по рабочему листу, копирования или удаления. Для этого достаточно поместить курсор на рамку так, чтобы он преобразовался в изображение кисти руки. Затем, щелкнув левой кнопкой мышки и удерживая ее нажатой, перемещать мышку. При этом объект (или сразу несколько объектов) будет перемещаться по рабочему листу. Отпускают левую клавишу мышки тогда, когда новое местоположение объектов будет достигнуто. Для копирования выделенных объектов пунктирным прямоугольником можно использовать три способа: ¾ нажать комбинацию клавиш Ctrl+C; ¾ щелкнуть по кнопке с изображением нескольких листов на панели инструментов Стандартная (Standard); ¾ щелкнуть правой кнопкой мышки внутри пунктирного прямоугольника (любого). Появится контекстно-зависимое меню. В нем щелкнуть по пункту Копировать (Copy). Для удаления выделенных объектов пунктирным прямоугольником и переноса их в буфер обмена данных можно использовать пять способов: • нажать комбинацию клавиш Ctrl+X; • нажать комбинацию клавиш Ctrl+Del; • нажать клавишу F3; • щелкнуть по кнопке с изображением ножниц на панели инструментов Стандартная (Standard); • щелкнуть правой кнопкой мышки внутри пунктирного прямоугольника (любого). Появится контекстно-зависимое меню. В нем щелкнуть по пункту Вырезать (Cut). Для вставки объектов из буфера обмена данных в место расположения визира можно использовать четыре способа:
Меню управления окнами
253
• нажать комбинацию клавиш Ctrl+Ins; • нажать клавишу F4; • щелкнуть по кнопке с изображением портфеля на панели инструментов Стандартная (Standard); • щелкнуть правой кнопкой мышки внутри пунктирного прямоугольника (любого). Появится контекстно-зависимое меню. В нем щелкнуть по пункту Вставить (Paste). Курсор можно перемещать как мышкой, так и обычными клавишами перемещения. Для выделения некоторой переменной в объекте нужно подвести к ней курсор мышки и щелкнуть левой клавишей. Переменная будет отмечена уголком (синей клюшкой на экране цветного дисплея), расположенным рядом с переменной. Перемещая курсор по полю объекта и щелкнув дважды левой кнопкой мышки, можно выделить отдельные части выражения или выражение целиком. Расширение или упрощение выражений требуют указания на объект. Для вычисления производной или интеграла необходимо указание переменной, относительно которой производится операция. Если заданная операция не выполнима, система выводит в дополнительном окне сообщение об ошибке или просто повторяет выделенное выражение. Последнее означает, что операция задана корректно, но результат не может быть получен. Это может произойти в случае, если, например, делается попытка разложить на множители объект, уже разложенный или не содержащий такого разложения в принципе. При выполнении пунктов выпадающего меню Символы (Symbolics) выражения необходимо указывать явно.
Меню управления окнами Структура и состав меню После загрузки системы Mathcad появляется окно, содержащее полосы прокрутки для просмотра документа, а также средства управления для свертывания окна в пиктограмму и развертывания его на часть экрана или на весь экран. Окна появляются при выборе соответствующих опций меню или подменю, при выводе сообщений об ошибках. Система Mathcad позволяет эффективно работать со многими задачами. Под каждую задачу отводится свое окно. Одно из них обычно является активным – то, с которым происходит работа в настоящий момент. Состояние других документов «замораживается», но их можно пустить в работу в любое время без новой загрузки и без исполнения связанной с окном программы. Пункт Окно (Window) главного меню или нажатие комбинации клавиш Alt+О вызывают выпадающее меню управления работой с несколькими окнами (рис. 3.111).
254
Основной инструментарий системы Mathcad
Рис. 3.111. Выпадающее меню пункта Окно главного меню
Выпадающее меню пункта Окно главного меню включает следующие пункты: • Упорядочить (Cascade) – обеспечивает каскадное расположение окон. Они размещаются друг за другом уступом, так что заголовки всех окон остаются видны. Активное окно размещается поверх остальных; • Разделить по горизонтали (Tile Horizontal) – обеспечивает горизонтальное размещение окон, которые располагаются одно под другим сверху вниз. Всем окнам отводятся равные части рабочего стола; • Разделить по горизонтали (Tile Vertical) – обеспечивает вертикальное расположение окон. Окна размещаются слева направо, и им отводятся равные части рабочего стола.
Каскадное размещение окон Пункт выпадающего меню Каскад (Cascade) задает каскадное размещение окон. При этом они располагаются последовательно, частично закрывая друг друга. У закрытых окон обычно видна лишь титульная строка с именем окна, повторяющим имя загруженного на исполнение документа. Окно, расположенное поверх остальных, видно полностью. Верхнее окно можно закрыть, щелкнув мышкой по кнопке с изображением жирной линии. Эта кнопка является первой из трех, расположенных в правом верхнем углу окна. Окно при этом свертывается в пиктограмму, а следующее за ним выходит на передний план. Щелчок по кнопке с квадратиком вызывает разворачивание окна в полный экран, после чего изображение на этой же кнопке изменяется: вместо одного квадратика появляются два. Эта кнопка является второй из трех, расположенных в правом верхнем углу окна. Если после разворачивания окна снова щелкнуть по второй кнопке (с двумя квадратиками), то оно опять уменьшится до начальных значений. Если щелкнуть по третьей кнопке, окно закроется.
Горизонтальное размещение окон Пункт выпадающего меню Разделить по горизонтали выводит на экран сразу все окна, причем они имеют одинаковый размер и расположены по горизонтали. Размер окон тем меньше, чем больше окон выведено. В каждом окне видна лишь часть загруженного в него документа. Равномерное расположение окон может оказаться более удобным, если требуется скопировать блок из одного окна в другое. Однако здесь есть некоторая трудность: в уменьшенном по размеру окне видны не все блоки. Поэтому не сле-
Меню управления окнами
255
дует увлекаться одновременным выводом большого числа окон – работают, как правило, с двумя-тремя окнами.
Вертикальное размещение окон Пункт выпадающего меню Разделить по вертикали выводит на экран сразу все окна, причем они имеют одинаковый размер и расположены вертикально. Размер окон тем меньше, чем больше их выведено, и в каждом видна лишь часть загруженного в него документа. Строго горизонтальное или вертикальное расположение окон получается, если окон немного, например два или три. При большем числе деление экрана происходит как по горизонтали, так и по вертикали. Выбор оптимального расположения окон зависит от характера работы с Mathcad. Система позволяет перетаскивать мышкой объекты из одного окна в другое. Для этого достаточно выделить объект (или группу объектов – блок) и, удерживая нажатой левую клавишу мышки, перетащить объект (или блок) в другое окно. Удобное расположение окон для этой операции, облегчающей компоновку сложных документов, имеет важное значение. Помимо перечисленных пунктов выпадающего меню пункта Окно главного меню, предусмотрена возможность переключения текущего окна. Все введенные в систему документы регистрируются в специальном каталоге, который помещается в нижней части выпадающего меню пункта Окно. Из этого каталога щелчком левой кнопки мыши можно легко выбрать любое нужное окно и переключить его в режим редактирования и исполнения содержащегося в нем документа.
Перемещение и изменение размеров окна Каждое окно Mathcad имеет значок системы, который располагается в верхнем левом углу окна. Если щелкнуть левой кнопкой мышки по этому значку, появится контекстное меню, содержащее следующие пункты: • Восстановить (Restore) – восстановление обычного вида окна; • Переместить (Move) – перемещение окна по экрану; • Размер (Size) – изменение размеров окна; • Свернуть (Minimize) – свертывание окна в пиктограмму; • Развернуть (Maximize) – развертывание окна; • Закрыть (Close) [Ctrl+F4] – закрытие текущего окна; • Следующее окно (Next) [Ctrl+F6] – переход к следующему окну. Эти операции характерны почти для всех прикладных программ, работающих в среде Windows, и на них не стоит останавливаться. Русскоязычная система Windows имеет это окно, естественно, с надписями на русском языке. Если окон оказалось слишком много (ограничение в виде восьми окон в новой версии снято), то система откажется от ввода дополнительных документов и сообщит об этом в информационном окне.
256
Основной инструментарий системы Mathcad
Меню помощи Состав и структура меню Справочная система Mathcad – это большая электронная справочная система. Вызов справочной системы можно осуществить несколькими способами: • щелкнуть в главном меню по пункту Помощь (Help), а затем в выпадающем меню по пункту Справка по Mathcad (Help Mathcad); • нажать на клавиатуре функциональную клавишу F1; • щелкнуть по пункту со знаком ? в главном меню. Пункт Помощь (Help) главного меню или нажатие комбинации клавиш Alt+П вызывает выпадающее меню помощи (рис. 3.112). Выпадающее меню помощи содержит следующие пункты: • Справка по Mathcad (Mathcad Help); • Что это?; • Ссылки Разработчика; • Ссылки Автора; • Консультации; • QuickSheets; • Таблица Ссылок; • Электронные Книги; Рис. 3.112. • Форумы Пользователей; Выпадающее меню • Mathcad.com; пункта Помощь главного меню • Mathcad Обновление; • О программе Mathcad.
Вызов справочной системы Пункт выпадающего меню Справка по Mathcad (Mathcad Help) или нажатие клавиши F1 обеспечивает вызов справочной системы – диалогового окна Mathcad Help (Помощь по Mathcad) – рис. 3.113. Диалоговое окно справочной системы имеет три вкладки: Содержание (Contents), Указатель (Index) и Поиск (Search). Вкладка Содержание представляет собой список названий разделов справочной системы Mathcad 11. Щелкая мышкой по этим названиям, можно получить исчерпывающую информацию по Mathcad 11. Вкладка Указатель (рис. 3.114) содержит список функций и терминов. Для получения нужной информации введите первые буквы искомой функции в первом поле справочной системы, к сожалению, только на английском языке, или выберите ее с помощью полосы прокрутки. Достаточно ввести в поле 1 хотя бы часть наименования темы справки, как в поле 2 появится перечень ближайших ее разделов.
Меню помощи
257
Рис. 3.113. Диалоговое окно Mathcad Help с вкладкой Содержание
Рис. 3.114. Диалоговое окно Mathcad Help с вкладкой Указатель
Вкладка Поиск (рис. 3.115) предназначена для оперативного поиска нужной информации. Чтобы получить необходимые сведения в диалоговом окне Mathcad Help с вкладкой Указатель: ¾ введите в верхнем поле Введите ключевое слово для поиска (Type in the Keyword to find) искомый термин;
258
Основной инструментарий системы Mathcad
¾ щелкните по кнопке Разделы; в нижнем поле Выберите раздел для вывода (Select Topic to display) – появится список имеющихся в системе разделов; ¾ щелкните в нижнем поле по нужному разделу (для сужения диапазона поиска); ¾ щелкните по кнопке Показать (Display). Вкладка Поиск (рис. 3.115) дает возможность найти все разделы справочной системы, в которых упоминается заданное слово или хотя бы его начальная часть, поскольку для базы данных нужна дополнительная память на диске, которая при инсталляции обычно не создается.
Рис. 3.115. Диалоговое окно Mathcad Help с вкладкой Поиск
Найденная тема отображается подобно тому, как показано на рис. 3.115. К сожалению, выйдя на показ интересующей пользователя темы, справочное окно закрывается вместе с окном справочной базы данных.
Вызов контестно-зависимой справочной системы Пункт выпадающего меню Что это? вызывает контекстно-зависимую справочную систему на указанном пункте меню или кнопке панели инструментов. Для вызова контекстно-зависимой справочной системы: ¾ щелкните в главном меню по пункту Помощь, а затем в выпадающем меню по пункту Что это?. Рядом со стрелкой у указателя мыши появится знак вопроса; ¾ подведите указатель мыши к пункту меню или кнопке панели инструментов и щелкните мышью. Появится диалоговое окно Mathcad Help с вклад-
Меню помощи
259
кой Поиск с искомой справкой. Допустим, вы щелкнули на панели инструментов Форматирование по кнопке Bold (Жирный шрифт). Появится соответствующая справка (рис. 3.116). К сожалению, она на английском языке.
Рис. 3.116. Диалоговое окно Mathcad Help с вкладкой Поиск и искомой справкой
Вызов ресурсов Разработчика Пункт выпадающего меню Ссылки Разработчика вызывает справочная система Developers’s Reference (Ссылки разработчика) – рис. 3.117, которое открывает набор ресурсов по настройке компонентов управления, компонентов сбора данных, создания пользовательского DLL, использования Mathcad в качестве сервера Автоматизации, создания заказных компонентов.
Вызов ресурсов автора Пункт выпадающего меню Ссылки автора вызывает справочная система Developers’s Reference (Ссылки автора) – рис. 3.118, которая открывает набор ресурсов для создания электронных книг и Web-сайта.
Вызов учебного пособия Пункт выпадающего меню Консультации вызывает обучающую систему Matsoft Resource: Overview and Tutorials (Краткий обзор и самоучитель по правилам работы с системой Mathcad) – рис. 3.119, которая облегчает процесс освоения системы Mathcad.
260
Основной инструментарий системы Mathcad
Рис. 3.117. Справочная система Developers’s Reference с вкладкой Содержание
Рис. 3.118. Справочная система A uthors’s Reference с вкладкой Содержание
Вызов быстрых листов Пункт выпадающего меню QuickSheets вызывает обучающую систему Matsoft Resource: QuickSheets Contents (Содержание быстрых листов) – рис. 3.120, которая включает большой набор поясняющих примеров по всем разделам математики.
Меню помощи
Рис. 3.119. Обучающая система Matsoft Resource: Overview and Tutorials
Рис. 3.120. Обучающая система Matsoft Resource: QuickSheets Contents
261
262
Основной инструментарий системы Mathcad
Вызов справочных таблиц Пункт выпадающего меню Reference Tables (Таблица ссылок) вызывает справочную систему констант Mathcad Resource: Reference Tables (Ресурсы Mathcad: справочные таблицы) (рис. 3.121), которая открывает набор справочных таблиц и констант с их размерностями.
Рис. 3.121. Справочная система Mathcad Resource: Reference Tables
Справочник таблиц – довольно полный справочник по математическим формулам и таблицам, в том числе относящимся к физике, химии, механике, электротехнике, радиотехнике и т. д. Использование этой книги избавляет пользователя от необходимости часто обращаться к обычной справочной литературе.
Вызов электронных книг Пункт выпадающего меню Электронные книги вызывает всплывающее меню (рис. 3.122). Электронными книгами в системе Mathcad называются взаимосвязанные наборы объединенных в тематические разделы документов, относящихся к самым различным сферам применения системы. Документы вызываются друг из друга, обеспечивая гипертекстовые перекрестные ссылки. Количество взаимосвязанных документов в одной книге может быть большим, до нескольких сотен. В конечном счете оно определяется объемом дисковой памяти ПК.
Меню помощи
263
Электронные книги дают возможность: • значительно улучшить оформление материала по сравнению с обычными книгами (цветные графика и текст, различные приемы выделения математических выражений и т. д.); • использовать системы поиска информации на осноРис. 3.122. Всплывающее ве гипертекстовых ссылок; меню пункта • модернизировать объекты, то есть изменять любые данЭлектронные ные и примеры расчетов в них и тут же получать новые книги результаты; • модифицировать некоторые фрагменты книги (например, заменять тексты, вводить новые комментарии и т. д.); • распечатывать статьи из электронных книг на принтере; • записывать большое количество электронных книг, которые эквивалентны десяткам обычных книг крупного формата, на одном CD-ROM; • посылать электронные книги по электронной почте и по Internet. Для открытия электронных книг служит пункт всплывающего меню Открыть книгу (Open book). Он открывает окно загрузки и поиска файлов с электронными книгами, имеющих расширение .hbk. About Mathcad – дополнительная информация по Mathcad. Пункт выпадающего меню Форумы Пользователей вызывает соответствующий Web-сайт фирмы Mathsoft для пользователей Mathcad. Форумы Пользователя – это место, в котором можно найти других пользователей с подобными интересами и проблемами, можно отправить вопросы, загрузить другие файлы и соединиться с пользователями Mathcad во всем мире.
Запуск ресурсов Пункт выпадающего меню Mathcad.com обеспечивает запуск окна ресурсов и подключается к Web-сайту Mathcad для общения с другими пользователями.
Обновление системы Mathcad Пункт выпадающего меню Mathcad Обновление.com обеспечивает обновление системы через Web-сайт.
Дополнительная информация по Mathcad Пункт выпадающего меню О программе Mathcad (About Mathcad) обеспечивает дополнительной информацией по Mathcad 11, выводя красочную заставку с указанием фирмы-разработчика и названия программного продукта.
Глава 4 Быстрый инструментарий системы Mathcad Панели инструментов ............. 265 Системы, расширяющие возможности Mathcad ............ 296
Панели инструментов
265
Панели инструментов Панели инструментов – это набор наиболее часто используемого инструментария, обеспечивающего быструю и с минимальными затратами возможность решать самый широкий круг задач, как по использованию системы Mathcad, так и при решении самых разнообразных проблем.
Представление панелей инструментов на экран Для представления (удаления) панелей инструментов на экране можно использовать два способа. Первый способ: ¾ щелкните в главном меню по пункту Вид (View), а затем в выпадающем меню по пункту Панели инструментов (Toolbars). На экране появится всплывающее меню (рис. 4.1). Если пункт всплывающего меню содержит перед названием пункта квадратик с галочкой (флажком), то это означает, что в данный момент соответствующая панель инструментов находится где-то на экране. Если по такому пункту щелкнуть мышкой, то соответствующая панель инструментов будет удалена с экрана. Если пункт всплывающего меню не содержит перед названием пункта квадратика с галочкой (флажком), то это означает, что в данный момент соответствующая панель инструментов не находится на экране; Рис. 4.1. ¾ щелкните мышкой по тому пункту всплывающего меню, Всплывающее меню пункта Toolbars которому соответствует нужная панель инструментов. выпадающего меню Второй способ: ¾ выведите на экран панель инструментов Математика (Math) – пятая строка сверху; ¾ щелкните в панели инструментов Математика по кнопке, которой соответствует нужная панель инструментов. На экране появится искомая панель инструментов. Одновременно кнопка в панели инструментов Математика будет несколько высветлена и вдавлена. Чтобы установить появившуюся панель инструментов в нужном месте экрана, щелкните по названию панель инструментов и, удерживая нажатой левую кнопку мышки, перемещайте мышку в нужное место, а вместе с ней переместится и панель инструментов. Для удаления панели инструментов с экрана необходимо повторно щелкнуть по соответствующей кнопке на панели инструментов Математика или по кнопке, находящейся в строке названия панели инструментов справа (кнопке с крестиком). Это обычно делают тогда, когда отпадает необходимость использования той или иной панели инструментов.
266
Быстрый инструментарий системы Mathcad
Всплывающее меню обеспечивает вывод на экран и удаление с экрана следующих панелей инструментов: Стандартная (Standard), Форматирование (Formatting), Математика (Math), Средства управления, Ресурсы (Resource), Арифметика (Calculator), Графики (Graph), Матрицы (Matrix), Вычисления (Evaluation), Матанализ (Calculus), Булевы (Boolean), Программирование (Programming), Греческий алфавит (Greek), Символы (Symbolic), Модификаторы (Modifier). Обычно рекомендуется всегда держать на экране открытыми три первые панели инструментов. На рис. 4.2 представлены все панели инструментов системы Mathcad 11.
Рис. 4.2. Главное окно Mathcad 11 с инструментальными панелями
При перемещении указателя мышки по значкам и кнопкам (пиктограммам) панелей инструментов высвечивается назначение каждой кнопки, с которой связан определенный пункт меню, а рисунок на ней передает суть этого пункта. Вызывать пункт меню с помощью кнопки гораздо быстрее, чем выбирать в меню.
Панель инструментов Стандартная Панель инструментов Стандартная представлена на рис. 4.3.
Рис. 4.3. Панель инструментов Стандартная
Панели инструментов
267
Панель инструментов Стандартная (Standard) включает двадцать кнопок: кнопка под названием Новый документ с изображением чистого листа открывает новый рабочий лист для создания очередного документа; кнопка под названием Новый документ с изображением треугольника вызывает всплывающее меню, включающее пункты вызова различных шаблонов; кнопка под названием Открыть с изображением открытой папки вызывает диалоговое окно Открыть (Open) для вывода на экран ранее созданного и сохраненного документа; кнопка под названием Сохранить с изображением дискеты сохраняет изменения, внесенные в существующий документ, и вызывает диалоговое окно Save AS (Сохранить как) при сохранении нового документа; кнопка под названием Печать с изображением принтера открывает диалоговое окно Print (Печать) для распечатки созданного документа; кнопка под названием Просмотр перед печатью с изображением листа и лупы обеспечивает предварительный просмотр документа перед печатью; кнопка под названием Проверка орфографии с изображением вставки букв ABC обеспечивает процесс проверки орфографии; кнопка под названием Вырезать с изображением ножниц обеспечивает удаление выделенного фрагмента текста или формулы в буфер обмена данных; кнопка под названием Копировать с изображением нескольких копий обеспечивает копирование выделенного фрагмента текста или формулы в буфер обмена данных; кнопка под названием Вставить с изображением портфеля обеспечивает вставку выделенного фрагмента текста или формулы из буфера обмена данных; кнопка под названием Отмена с изображением стрелки с поворотом налево обеспечивает отмену последней команды; кнопка под названием Возврат с изображением стрелки с поворотом направо восстанавливает последнюю отмененную команду; кнопка под названием Выровнять по верхней границе с изображением вида выравнивания по верхней границе обеспечивает выравнивание выделенной области вдоль горизонтальной линии; кнопка под названием Выровнять по левой границе с изображением вида выравнивания по левой границе обеспечивает выравнивание выделенной области вдоль вертикальной линии, расположенной между самой правой и самой левой из выделенных областей; кнопка под названием Вставить функцию с изображением знака функции обеспечивает вызов диалогового окна Вставить функцию (Insert Function) для вставки нужной функции; кнопка под названием Вставить единицы измерения с изображением мерной кружки обеспечивает вызов диалогового окна Вставить блок (Insert Unit) для вставки нужной единицы измерения;
268
Быстрый инструментарий системы Mathcad кнопка под названием Вычислить с изображением жирного знака равенства обеспечивает вычисление всех формул (выражений), расположенных ниже (правее) курсора; кнопка под названием Вставить гипертекстовую ссылку с изображением фрагмента цепи обеспечивает вставку гипертекстовой ссылки; кнопка под названием Вставить компонент с изображением камеры обеспечивает вставку компонента; кнопка под названием Добавить таблицу с изображением таблицы вызывает шаблон таблицы в место установки курсора; раскрывающийся список под названием Масштаб обеспечивает установку значений масштаба для уменьшения или увеличения изображения рабочего листа; кнопка под названием Помощь с изображением знака вопроса вызывает диалоговое окно Mathcad Help (Помощь Mathcad) для помощи; кнопка под названием Вставить компонент Excel с изображением знака приложения Excel обеспечивает вставку компоненты Excel; кнопка под названием Вставить компонент SmartSketch с изображением знака приложения SmartSketch обеспечивает вставку компоненты SmartSketch; кнопка под названием Чтение файла данных с изображением дискеты и стрелки на лист обеспечивает чтение файла данных; кнопка под названием Запись файла данных с изображением дискеты и стрелки с листа обеспечивает запись файла данных; кнопка под названием Create Animation с изображением кинокамеры вызывает диалоговое окно Записать Анимацию (Create Animation); кнопка под названием Форумы с изображением знака очков и листа вызывает форум пользователей; кнопка под названием Что это такое? с изображением указателя мыши и знака вопроса обеспечивает быстрый способ получения справки по указанному объекту.
Панель инструментов Форматирование Панель инструментов Форматирование (Formatting) включает восемь кнопок и три поля (рис. 4.4). Первое поле под названием Стиль показывает имя стиля, с которым работает пользователь. При необходимости, щелкнув по кнопке справа, можно раскрыть список имеющихся стилей и выбрать щелчком мышки нужный. Второе поле под названием Шрифт показывает название используемого шрифта в настоящий момент. При необходимости, щелкнув по кнопке справа, можно раскрыть список имеющихся шрифтов и выбрать щелчком мышки нужный. Третье поле под названием Размер шрифта показывает размер используемого шрифта в настоящий момент. При необходимости, щелкнув по кнопке справа, можно раскрыть список имеющихся размеров шрифта и выбрать щелчком мышки нужный:
Панели инструментов
269
Рис. 4.4. Панель инструментов Форматирование
кнопка под названием Bold с изображением буквы B (Bold – жирный) преобразует выделенный фрагмент текста, формулы, выражения в полужирное начертание; кнопка под названием Italic с изображением буквы I (Italic – курсив) преобразует выделенный фрагмент текста, формулы, выражения в курсивное начертание; кнопка под названием Underline с изображением подчеркнутой буквы U (Underline – подчеркнутый) подчеркивает выделенный фрагмент текста, формулы, выражения; кнопка под названием По левому краю с изображением текста, сдвинутого влево, выравнивает текст по левому краю; кнопка под названием По центру с изображением текста, выровненного по центру, располагает строки текста по центру; кнопка под названием По правому краю с изображением текста, сдвинутого вправо, выравнивает текст по правому краю; кнопка под названием Маркеры с изображением маркеров устанавливает маркеры в выделенном фрагменте текста; кнопка под названием Нумерация с изображением нумерованных пунктов устанавливает нумерацию пунктов; кнопка под названием Superscript (Надстрочный знак) с изображением переменной с надстрочным знаком обеспечивает добавление надстрочных символов; кнопка под названием Subscript (Подстрочный знак) с изображением переменной с подстрочным знаком обеспечивает добавление подстрочных символов.
Панель инструментов Математика Панель инструментов Математика (Math) включает девять кнопок (рис. 4.5): кнопка под названием Арифметические инструменты с изображением калькулятора Рис. 4.5. Панель вызывает панель инструментов Арифметиинструментов ка (Calculator) с кнопками для выполнения Математика операций, свойственных калькуляторам; кнопка под названием Инструменты графиков с изображением графика вызывает панель инструментов Графики (Graph) с кнопками для построения различных типов графиков их просмотра; кнопка под названием Векторные и матричные операции с изображением заготовки матрицы вызывает панель инструментов Матрицы (Matrix)
270
Быстрый инструментарий системы Mathcad с кнопками для выполнения различных операций над матрицами и векторами; кнопка под названием Инструменты некоторых знаков с изображением буквы x и знака равно x= вызывает панель инструментов Вычисле… (Evalu…) с кнопками для выполнения различного вида равенств, выдачи результатов и представления функций; кнопка под названием Операторы математического анализа с изображением знаков интеграла и дифференциала вызывает панель инструментов Матанализ (Calcu…) с кнопками для выполнения операций дифференцирования, интегрирования, суммирования, умножения, взятия пределов и введения знака бесконечности; кнопка под названием Панель инструментов булево с изображением знаков неравенств вызывает панель инструментов Булевы (Boolean) с различными знаками равенства и неравенства численных и булевых выражений; кнопка под названием Инструменты программирования с изображением блок-схемы вызывает панель инструментов Программирование (Programming) с встроенными операторами программирования; кнопка под названием Символы греческого алфавита с изображением букв αβ греческого алфавита вызывает панель инструментов Греческий алфавит (Greek) со строчными и прописными буквами греческого алфавита; кнопка под названием Символические операторы с изображением шляпы вызывает панель инструментов Символы (Symbolic) с ключевыми словами для аналитических преобразований.
Панель инструментов Арифметика Панель инструментов Арифметика (Calculator) включает тридцать пять кнопок (рис. 4.6). Панель инструментов Арифметика включает наиболее распространенные функции, цифры и знаки арифметических операций. Ограничимся рассмотрением некоторых кнопок панели инструментов Арифметика: кнопка под названием Факториал ! с изображением n! вызывает на место расположения курсора шаблон для вычисления факториала; кнопка под названием Мнимая единица i с изображением буквы i преобразует выделенное число в мнимое, Рис. 4.6. Панель инструментов добавляя к нему символ i; Арифметика кнопка под названием Модуль числа с изображением |x| вызывает на место расположения курсора шаблон для вычисления модуля выражения; кнопка под названием Присвоить значение : с изображением := вызывает на место расположения курсора шаблон для присваивания переменной, вводимой слева, выражения, вводимого справа;
Панели инструментов
271
кнопка под названием Знак равенства = с изображением обычного знака = (равно) вызывает на место расположения курсора шаблон для вычисления выражения, вводимого слева от знака присваивания. Результат вычисления выдается справа от знака равно.
Панель инструментов Графики Панель инструментов Графики (Graph) включает девять кнопок (рис. 4.7): кнопка под названием Декартов график с изображением осей X и Y и кривых вызывает шаблон для построения декартова графика. Ввод шаблона можно выполнить и наРис. 4.7. жатием комбинации клавиш Shift+2; Панель кнопка под названием Приближение с изображением инструментов лупы и графика вызывает диалоговое окно Zoom (МасшГрафики табировать) для изменения масштаба графика по осям; кнопка под названием Слежение с изображением карандаша и графика вызывает диалоговое окно Trace (Трассировка) для отрисовки трассы графика; кнопка под названием Полярный график с изображением окружности и кривой вызывает шаблон для построения полярного графика. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+7; кнопка под названием График поверхности с изображением графика поверхности вызывает шаблон для построения графика поверхности. Ввод этого шаблона можно выполнить и нажатием комбинации клавиш Ctrl+2; кнопка под названием Карта линий уровня с изображением линий уровня вызывает шаблон для построения контурного графика. Ввод можно выполнить и нажатием комбинации клавиш Ctrl+5; кнопка под названием Столбиковая гистограмма с изображением нескольких параллелепипедов вызывает шаблон для построения столбиковой гистограммы; кнопка под названием Точечный график с изображением осей координат и точек вызывает шаблон для построения точечного трехмерного графика; кнопка под названием Векторное поле с изображением осей координат и стрелок вызывает шаблон для построения векторного поля.
Панель инструментов Матрицы Панель инструментов Матрицы (Matrix) включает двенадцать кнопок (рис. 4.8): кнопка с изображением заготовки для ввода элементов матрицы вызывает диалоговое окно Insert Matrix (Вставить матрицу) для указания числа Rows (строк) и Columns (столбцов) в формируемой матрице. После щелчка по кнопке ОК в диалоговом окне появляется соответствую-
272
Быстрый инструментарий системы Mathcad щий шаблон для ввода элементов матрицы. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+M; кнопка под названием Нижний индекс [ с изображением переменной Хn с нижним индексом n после ввода переменной и щелчка по этой кнопке вызывает шаблон для ввода нижнего индекса. Ввод шаблона можно выполнить и нажатием клавиши [; кнопка под названием Инверсия с изображением переменной Х–1 в степени –1 после ввода переменной и щелчка по этой кнопке возводит переменную в степень –1; кнопка под названием Вычисление определителя | с изображением переменной |Х| по модулю выводит шаблон для вычисления определителя. Ввод шаблона можно выполнить и нажатием клавиши |; кнопка под названием Задать вектор с изображением функции со стрелкой наверху выводит шаблон для задания вектора. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+-; кнопка под названием Столбец матрицы с изображением буквы М с верхним индексом выводит указанный столбец из ранее определенной матрицы. Ввод этого шаблона можно выполнить и нажатием комбинации клавиш Ctrl+6; кнопка под названием Транспонирование матрицы с изображением буквы МT с верхним индексом Т выводит шаблон для транспонирования матрицы. Ввод этого шаблона можно выполнить и нажатием комбинации клавиш Ctrl+1; кнопка под названием Задать диапазон дискретной величины с изображением букв m..n выводит шаблон для ввода диапазона изменения дискретной величины; кнопка под названием Скалярное произведение с изображением умножения двух векторов x ⋅ y выводит шаблон выполнения скалярного произведения; кнопка под названием Векторное произведение с изображением умножения двух векторов X × Y выводит шаблон выполнения векторного произведения. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+8; кнопка под названием Суммирование элементов вектора с изображением суммы вектора выводит шаблон выполнения операции суммирования элементов вектора. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+4; кнопка под названием Изображение с изображением вектора выводит шаблон картинки. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+T.
Панель инструментов Вычисление Панель инструментов Вычисление (Evalu) включает в себя девять кнопок (рис. 4.9):
Панели инструментов
Рис. 4.8. Панель инструментов Матрицы
273
Рис. 4.9. Панель инструментов Вычисление
кнопка под названием Знак равенства с изображением знака равно вызывает шаблон для вычисления выражения, стоящего слева, и показывает результат вычисления справа; кнопка под названием Присвоить значение с изображением двоеточия и знака равно (:=) вызывает шаблон для присваивания переменной, стоящей слева, выражения (значения), стоящего справа. Ввод этого шаблона можно выполнить и нажатием комбинации клавиш Shift+: (двоеточие); кнопка под названием Глобально, шаблона для глобального присваивания можно выполнить и нажатием комбинации клавиш Shift+тильда (клавиша с изображением волны). При использовании глобальных присваиваний вычисление проводится в два этапа. На первом этапе делаются все присваивания, включающие глобальное. На втором выполняются все присваивания, включающие :=, после чего отображаются результаты расчета. кнопка под названием Символический знак равенства с изображением стрелки, направленной вправо, вызывает шаблон для простого символьного преобразования. Этот шаблон часто называют простым оператором символьного вывода. Ввод шаблона для простого оператора символьного вывода можно выполнить и нажатием комбинации клавиш Ctrl+. (точка); кнопка под названием Символическая оценка с изображением жирного знака равно (=) вызывает шаблон для ввода выражений. Ввод шаблона для булевского равенства можно выполнить и нажатием комбинации клавиш Shift+= (равно); кнопка под названием Префиксный оператор с изображением латинских букв fx определяет вид записи функций с одним аргументом. Она вызывает шаблон для префиксной записи оператора – две метки. В левой метке вводится имя оператора, а в правой – операнд. Допустим, мы определили функцию в обычной инфиксной форме записи: f1(x) := 1 + x2 f1(5) = 26 ¾ щелкнем по кнопке с изображением латинских букв fx на панели инструментов Evalu… (Вычисление). На месте курсора в рабочем листе появится шаблон оператора fx в виде двух меток; ¾ введем в первую метку имя нашей функции – f1, а во вторую – конкретное значение аргумента функции, например 5, – получим
274
Быстрый инструментарий системы Mathcad
кнопка под названием Постфиксный оператор с изображением латинских букв xf определяет вид записи функций с одним аргументом. Она вызывает шаблон для постфиксной записи оператора – две метки. В левой метке вводится операнд, а в правой – имя оператора. Допустим, мы определили функцию в обычной инфиксной форме записи: ¾ щелкнем по кнопке с изображением латинских букв xf на панели инструментов Вычисление (Evalu..). На месте курсора в рабочем листе появится шаблон оператора xf в виде двух меток; ¾ введем в первую метку конкретное значение аргумента функции, например 7, а во вторую – имя нашей функции – f2, – получим кнопка под названием Инфиксный оператор с изображением латинских букв xfy определяет вид записи функций с двумя аргументами. Она вызывает шаблон для записи оператора – три метки. В левой метке вводится первый аргумент функции, во второй – имя функции, а в третьей – второй аргумент функции. Допустим, мы определили функцию f3(x, y) := x +y2 f3(4, 6) = 40 ¾ щелкнем по кнопке с изображением латинских букв xfy на панели инструментов Вычисление (Evalu..). На месте курсора в рабочем листе появится шаблон оператора xfy в виде трех меток; ¾ введем в первую метку конкретное значение первого аргумента функции, например 4, во вторую метку – имя нашей функции f3, а в третью метку – конкретное значение второго аргумента функции, например 6, – получим кнопка под названием Древовидный оператор с изображением латинских букв xfy определяет вид записи функций с двумя аргументами. Она вызывает шаблон для записи оператора – три метки. В левой метке вводится первый аргумент функции, во второй – имя функции, а в третьей – второй аргумент функции. Допустим, мы определили функцию
¾ щелкнем по кнопке с изображением латинских букв x fy на панели инструментов Вычисление (Evalu..). На месте курсора в рабочем листе
Панели инструментов
275
появится шаблон оператора x fy в виде трех меток: одна метка вверху и две метки внизу;
¾ введем в первую метку внизу конкретное значение первого аргумента функции, например 4, в верхнюю метку – имя нашей функции f3, а во вторую метку внизу конкретное значение второго аргумента функции, например 6, – получим
Для визуализации результатов символьных преобразований в Mathcad имеются два оператора символьного вывода, которые находятся также на панелях инструментов Вычисления (Evaluation) и Символы (Symbolic): • простой оператор символьного вывода – удлиненная горизонтальная стрелка →, вызывается щелчком левой кнопки мышки по кнопке с изображением этой стрелки на панели инструментов Вычисления. Шаблон этого оператора имеет вид →, где на месте черного прямоугольника (метки) вводится подвергаемое символьному преобразованию исходное выражение; • расширенный оператор символьного вывода – удлиненная горизонтальная стрелка → с меткой впереди, вызывается щелчком левой кнопки мышки по кнопке с изображением стрелки с меткой впереди на панели инструментов Вычисление. Шаблон оператора имеет вид →. В первый шаблон-прямоугольник вводится исходное выражение, а во второй – директивы символьных преобразований. Задаются эти директивы или вводом соответствующих ключевых слов, или из панели символьных операций. Кроме того, в один такой оператор можно ввести другой, чтобы получить составной расширенный оператор символьного вывода и место для записи нескольких директив. Это позволяет намечать заданный путь символьных преобразований. На рис. 4.10 приведены простейшие примеры применения операторов символьного вывода: простого и расширенного.
Панель инструментов Матанализ Панель инструментов Матанализ (Calcu…) включает двенадцать кнопок (рис. 4.11): кнопка под названием Производная с изображением знака дифференцирования выводит шаблон для взятия первой производной, который выглядит так:
276
Быстрый инструментарий системы Mathcad
Рис. 4.10. Результаты применения операторов символьного вывода
В метке внизу указывается переменная, по которой берется производная. В метке справа вводится дифференцируемое выражение. Ввод шаблона можно выполнить и нажатием комбинации клавиш Shift+/;
кнопка под названием Производная N-го порядка с изображением знака многократного дифференцирования выводит шаблон для взятия производной N-го порядка, который выглядит так:
В нижней метке указывается переменная, по которой берется производная. В правой метке вводится дифференцируемое выражение. В двух других метках указывается порядок взятия производной. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+Shift+/;
Панели инструментов
277
Рис. 4.11. Панель инструментов Матанализ
кнопка под названием Бесконечность с изображением знака бесконечности выводит этот знак на месте курсора. Ввод знака можно выполнить и нажатием комбинации клавиш Ctrl+Shift+Z. кнопка под названием Определенный интеграл с изображением знака определенного интеграла выводит шаблон для вычисления определенного интеграла, который выглядит так:
В нижней метке вводится нижний предел интегрирования, в верхней – верхний предел интегрирования. В средней метке вводится интегрируемое выражение, а в метке справа – переменная, по которой проводится интегрирование. Ввод этого шаблона можно выполнить и нажатием комбинации клавиш Shift+7;
кнопка под названием Суммирование с изображением знака суммы выводит шаблон для вычисления суммы конечного ряда значений выражения, зависящего (не зависящего) от изменяемой дискретной переменной. Дискретная переменная изменяется в заданном диапазоне значений. Шаблон суммирования выглядит так:
278
Быстрый инструментарий системы Mathcad
В двух нижних метках вводятся соответственно имя дискретной переменной и ее начальное значение. В верхней метке вводится конечное значение дискретной переменной. В метке справа вводится выражение, которое определяет слагаемое суммы. Число слагаемых равно разности конечного и начального значений дискретной переменной плюс единица. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+Shift+4;
кнопка под названием Произведение с изображением знака произведения выводит шаблон для вычисления произведения значений выражения, зависящего (не зависящего) от изменяемой дискретной переменной. Дискретная переменная изменяется в заданном диапазоне значений. Шаблон произведения выглядит так:
В двух нижних метках вводятся соответственно имя дискретной переменной и ее начальное значение. В верхней метке вводится конечное значение дискретной переменной. В метке справа вводится выражение, которое определяет сомножитель произведения. Число сомножителей равно разности конечного и начального значений дискретной переменной плюс единица. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+Shift+3;
кнопка под названием Неопределенный интеграл с изображением знака неопределенного интеграла выводит шаблон для его вычисления.
В метке слева вводится интегрируемое выражение, а в метке справа – переменная, по которой проводится интегрирование. Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+I.
кнопка под названием Суммирование по дискретному аргументу с изображением знака суммы бесконечного числа слагаемых выводит шаблон для вычисления соответствующей суммы.
Панели инструментов
279
В нижней метке вводится имя переменной, а в метке справа – выражение.
Ввод шаблона можно выполнить и нажатием комбинации клавиш Shift+4; кнопка под названием Произведение по дискретному аргументу с изображением знака произведения данного вида выводит шаблон для вычисления соответствующего произведения.
В нижней метке вводится имя переменной, а в метке справа – выражение. Пример:
Ввод шаблона можно выполнить и нажатием комбинации клавиш Shift+3; кнопка под названием Предел с изображением знака предела выводит шаблон для вычисления двухстороннего предела.
В нижних метках соответственно вводятся: в первой метке – имя переменной, во второй – значение переменной, для которого определяется предел функции. В метке справа вводится функция (выражение), для которой определяется предел. Например:
Ввод шаблона можно выполнить нажатием комбинации клавиш Ctrl+L, а знак символьного вычисления (стрелка вправо) – нажатием комбинации клавиш Ctrl+. (точка); кнопка под названием Предел слева с изображением знака предела справа выводит шаблон для вычисления соответствующего предела.
В нижних метках соответственно вводятся: в первой метке – имя переменной, во второй – значение переменной, для которого определяется предел функции справа. В метке справа вводится функция (выражение), для которой определяется предел. Например:
280
Быстрый инструментарий системы Mathcad
Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+Shift+A, а знак символьного вычисления (стрелка вправо) – нажатием комбинации клавиш Ctrl+. (точка); кнопка под названием Предел справа с изображением знака предела слева выводит шаблон для вычисления соответствующего предела.
В нижних метках соответственно вводятся: в первой метке – имя переменной, во второй – значение переменной, для которого определяется предел функции слева. В метке справа вводится функция (выражение), для которой определяется предел. Например:
Ввод шаблона можно выполнить и нажатием комбинации клавиш Ctrl+Shift+B, а знак символьного вычисления (стрелка вправо) – нажатием комбинации клавиш Ctrl+. (точка). На рис. 4.12 приведены примеры использования символьных операторов панели инструментов Матанализ (Calculus) для вычисления производных первого и второго порядков, определенного и неопределенного интегралов, суммы и произведения дискретных чисел. На рис. 4.13 приведены примеры использования символьных операторов панели инструментов Матанализ для вычисления пределов функции в точке 0, при стремлении х к 0 слева (или, короче, в точке 0 слева) и при стремлении х к 0 справа (в точке 0 справа). Для проверки результатов вычисления пределов функции в точке 0, в точке 0 слева и в точке 0 справа построен график исследуемой функции.
Панель инструментов Булево Панель инструментов Булево содержит кнопки, с помощью которых можно вызвать тот или иной булев оператор. Булевы операторы в отличие от других операторов возвращают нуль или единицу. Эти операторы широко используются в программировании и при создании функций. Ниже представлена таблица булевых операторов, каждому из которых соответствует определенная кнопка на панели инструментов Boolean. Оператор:
Нажатие клавиши
Используемые символы
Больше чем Меньше чем Больше чем или равно
> < Ctrl+0
> < ≥
Панели инструментов
Рис. 4.12. Примеры использования символьных операторов панели инструментов Матанализ
Рис. 4.13. Примеры использования символьных операторов панели инструментов Матанализ
281
Быстрый инструментарий системы Mathcad
282 Меньше чем или равно Равно Не равно И Или Исключительное или (Xor) Не
Ctrl+9 Ctrl += Ctrl+3 Ctrl+Shift+7 Ctrl+Shift+6 Ctrl+Shift+5 Ctrl+Shift+1
≤ = (жирное равно) ≠ ∧ ∨ ⊗ ¬
Панель инструментов Булево (Boolean) включает десять кнопок (рис. 4.14). Щелчок левой кнопкой мышки по любой кнопке панели обеспечивает ввод соответствущего шаблона в то место рабочего листа, где в данный момент находится курсор (визир): кнопка под названием Булево равенство с изображением жирного знака равно (=) вызывает шаблон для вычисления выражения с заданными значениями аргументов:
Рис. 4.14. Панель инструментов Булево
x = y возвращает 1, если x = y, в противном случае 0. Ввод шаблона оператора равно (=) можно выполнить и нажатием комбинации клавиш Ctrl+= (равно); кнопка под названием Меньше чем с изображением знака меньше (: x > y возвращает 1, если x > y, в противном случае 0. Ввод шаблона оператора больше (>) можно выполнить и нажатием комбинации клавиш Shift+> (больше); кнопка под названием Меньше либо равно с изображением знака меньше или равно (≤) вызывает шаблон для ввода неравенства с этим знаком: x ≤ y возвращает 1, если x ≤ y, в противном случае 0. Ввод оператора меньше или равно (≤) можно выполнить и нажатием комбинации клавиш Ctrl+9. кнопка под названием Больше либо равно с изображением знака больше или равно (≥) вызывает шаблон для ввода неравенства с этим знаком: x ≥ y возвращает 1, если x ≥ y, в противном случае 0.
Панели инструментов
283
Ввод оператора больше или равно (≥) можно выполнить и нажатием комбинации клавиш Ctrl+0; кнопка под названием Не равно с изображением знака не равно (≠) вызывает шаблон для ввода неравенства с этим знаком: x ≠ y возвращает 1, если x ≠ y, в противном случае 0. Ввод можно выполнить и нажатием комбинации клавиш Ctrl+3; кнопка под названием Not с изображением знака логического отрицания Not (¬) вызывает шаблон для ввода данного булева оператора: ¬x возвращает 1, если x ноль (ложь), в противном случае 0. Ввод оператора логического отрицания можно выполнить и нажатием комбинации клавиш Ctrl+Shift+1; кнопка под названием And с изображением знака логического И (∧) вызывает шаблон для ввода данного булева оператора: x ∧ y возвращает 1, если оба x и y не ноль, в противном случае 0. Ввод оператора логического И можно выполнить и нажатием комбинации клавиш Ctrl+Shift+7. кнопка под названием Or с изображением знака логического ИЛИ (∨) вызывает шаблон для ввода данного булева оператора. x ∨ y возвращает 1, если x или y не ноль, в противном случае 0. Ввод оператора логического ИЛИ можно выполнить и нажатием комбинации клавиш Ctrl+Shift +6. кнопка под названием Exclusive or (xor) с изображением знака логического исключения или Xor (⊕) вызывает шаблон для ввода данного булева оператора: x ⊗ y возвращает 1, если x или y, но не оба, не ноль, в противном случае 0. Ввод его можно выполнить и нажатием комбинации клавиш Ctrl+Shift +5. На рис. 4.15 приводятся примеры использования булевых операторов.
Панель инструментов Программирование Панель инструментов Программирование (Programming) включает десять кнопок (рис. 4.16). Щелчок левой кнопкой мыши по любой кнопке этой панели обеспечивает ввод соответствующего шаблона оператора в то место рабочего листа, где в данный момент находится курсор (визир): кнопка под названием Добавить строку программы с изображением ключевых слов Add Line (Добавить строку) вызывает шаблон для
284
Быстрый инструментарий системы Mathcad
Рис. 4.15. Примеры использования булевых операторов
создания блоков выражений. Ввод можно выполнить и нажатием клавиши ] (Закрывающая квадратная скобка). Шаблон этого оператора выглядит таким образом:
В верхнюю и нижнюю метки вводятся выражения (операторы), входящие в один блок. Рис. 4.16. Панель инструментов Программирование
Для ввода большего числа операторов или выражений в блок, получения большего числа меток вдоль одной и той же линии необходимо в метку ввести оператор Add Line (Добавить строку) – добавится еще одна метка и т. д. кнопка под названием Локальное присвоение с изображением стрелки влево ← вызывает шаблон оператора присваивания локаль-
Панели инструментов
285
ной переменной значения. Ввод можно выполнить и нажатием клавиши { (Открывающей фигурной скобки). Шаблон этого оператора выглядит таким образом: Локальная переменная – это переменная, которая действует в пределах данной программы; кнопка под названием Оператор IF с изображением ключевого слова if (Если) вызывает шаблон для ввода условного оператора if в программу. Ввод можно выполнить и нажатием клавиши } (Закрывающей фигурной скобки). Шаблон этого оператора выглядит таким образом: Во вторую метку вводится условие, а в первую – результат при выполнении введенного условия:
кнопка под названием Оператор «В противном случае» с изображением ключевого слова otherwise (иначе) вызывает шаблон оператора otherwise для введения дополнительной ветви в условии. Ввод можно выполнить и нажатием комбинации клавиш Ctrl+} (Закрывающая фигурная скобка). Шаблон этого оператора выглядит таким образом: В метку оператора otherwise (иначе) вводится выражение при невыполнении условия в операторе if. Например:
кнопка под названием Цикл For с изображением ключевого слова for (для) вызывает шаблон оператора цикла for для созда-
286
Быстрый инструментарий системы Mathcad ния цикла c параметром (переменной цикла). В цикле с параметром задаются начальное значение параметра, конечное и шаг – значение параметра, на которое изменяется параметр на каждой итерации.
В метке слева вверху вводится имя параметра. В метке справа вводится диапазон изменения параметра. В метке внизу вводятся операторы цикла.
Ввод оператора цикла for можно выполнить и нажатием комбинации клавиш Ctrl+Shift+'' (Двойная кавычка); кнопка под названием Цикл While с изображением ключевого слова While (пока) вызывает шаблон оператора цикла while для создания цикла c условием выхода из цикла.
В метке вверху вводится логическое (булево) выражение. В метке внизу вводятся операторы цикла. Проверка истинности логического выражения выполняется перед выполнением очередной итерации.
Ввод оператора цикла while можно выполнить и нажатием комбинации клавиш Ctrl+] (Закрывающая квадратная скобка); кнопка под названием Оператор Break с изображением ключевого слова break (прервать) вводит в метку условного оператора if оператор break для остановки процесса выполнения программы. Рассмотрим в качестве примера программу вычисления факториала, в которой процесс вычисления факториала прерывается при n > 12;
Панели инструментов
287
кнопка под названием Оператор Continue с изображением ключевого слова continue (продолжить) вызывает оператор continue для продолжения вычислений; кнопка под названием Оператор возврата с изображением ключевого слова return (вернуть) вызывает шаблон оператора return для возвращения к выполнению цикла. По умолчанию программа возвращает значение последнего вычисленного оператора. Однако можно возвращать значение, размещенное и в другом месте программы, используя оператор return (возвратить); кнопка под названием Оператор перехода при возникновении ошибки с изображением ключевого слова on error (на ошибке) вызывает оператор on error для получения сообщения при наличии ошибки в выражении, в котором был размещен этот оператор. Шаблон этого оператора выглядит таким образом:
Панель инструментов Греческий алфавит Панель инструментов Греческий алфавит (Greek) включает сорок восемь кнопок (рис. 4.17). Верхние двадцать четыре кнопки – это строчные буквы греческого алфавита, а нижние двадцать четыре – прописные. Щелчок левой кнопкой мышки по любой букве обеспечивает ее ввод в то место рабочего листа, где в данный момент находится курсор (визир).
Панель инструментов Символы Панель инструментов Символы (Symbolic) включает двадцать четыре кнопки (ключевых слов – символических операторов) – рис. 4.18.
Рис. 4.17. Панель инструментов Греческий алфавит
288
Быстрый инструментарий системы Mathcad
Панель инструментов Символы (Symbolic) содержит следующие кнопки: кнопка под названием Символический знак равенство с изображением стрелки, направленной вправо, вызывает шаблон для простого символьного преобразования. Этот шаблон часто называют простым оператором символьного вывода. Ввод шаблона для простого оператора символьного вывода можно выполнить и нажатием комбинации клавиш Ctrl+. (точка). Шаблон для простого символьРис. 4.18. Панель ного преобразования выглядит так: инструментов Символы
В метку шаблона вводится выражение, которое необходимо вычислить.
Можно упростить выражение с помощью символьного знака равенства и другим способом: ¾ введите выражение, которое необходимо упростить; ¾ нажмите комбинацию клавиш Ctrl+. (точка). Mathcad введет стрелку, направленную вправо; ¾ щелкните вне выражения или нажмите клавишу Enter. Mathcad выдаст преобразованное выражение справа от стрелки; кнопка под названием Символическая оценка с изображением стрелки, направленной вправо, и меткой перед стрелкой вызывает шаблон для ввода выражений. Этот шаблон часто называют расширенным оператором символьного вывода. Ввод шаблона для расширенного оператора символьного вывода можно выполнить и нажатием комбинации клавиш Ctrl+Shift+. (точка). Шаблон расширенного оператора символьного вывода выглядит так: кнопка под названием с ключевым словом Модификаторы (Modifier) вызывает всплывающее меню с модифицированными командами – рис. 4.19; Рис. 4.19. кнопка под названием Модификатор «Примем, Всплывающее что» с ключевым словом assume (принять) вставменю ляет ключевое слово на место визира для моди- Модификаторы фикации присвоенного значения; кнопка под названием Символ действительного модификатора с ключевым словом real (вещественное) – присваивает перемен-
Панели инструментов
289
ной вещественное значение. Шаблон этого оператора выглядит таким образом: Например, запись вида a = real означает, что переменная – вещественная величина; кнопка под названием Символ модификатора диапазона действительного числа с ключевым словом RealRange (Вещественная область) определяет область вещественного числа. Шаблон этого оператора выглядит таким образом: Например, запись вида c = RealRange(a,b) означает, что значение переменной с находится между значениями переменных a и b; кнопка под названием с ключевым словом trig (тригонометрические) определяет тригонометрические функции; кнопка под названием Символ модификатора триг. функций с ключевым словом float (плавающая) вызывает шаблон для вывода числа, занимающего определенное число позиций. Шаблон этого оператора выглядит таким образом: В первой метке вводится число или встроенная постоянная. Во второй метке вводится число позиций, отводимое числу; e float, 10 → 2.718281828 110.353333float, 5 → 110.35 кнопка под названием Символ «Комплексные вычисления» с ключевым словом complex (комплексное) вызывает шаблон для вывода числа в комплексной форме. Шаблон этого оператора выглядит таким образом: В метке вводится выражение, которое следовало бы представить в виде комплексного числа. кнопка под названием Ключевое слово «Примем, что» с ключевым словом assume (принять) вызывает шаблон для присваивания переменным неопределенного значения, даже если до этого им были присвоены значения и заданы ограничения на значения переменных; кнопка под названием Символ «Разрешить переменные» с ключевым словом solve (решить) – вызывает шаблон решения уравнения относительно выделенной переменной. Шаблон этого оператора выглядит таким образом:
290
Быстрый инструментарий системы Mathcad
В первой метке вводится решаемое выражение. Во второй метке вводится переменная, относительно которой проводится решение;
кнопка под названием Символ «Упростить» с ключевым словом simplify (упростить) вызывает шаблон для упрощения выражений. Шаблон этого оператора выглядит таким образом: В метке вводится упрощаемое выражение;
кнопка под названием Символ «Замена» с ключевым словом substitute (подставить) вызывает шаблон для подстановки выражения. Шаблон этого оператора выглядит таким образом: В первой метке вводится выражение, в котором должна проводиться подстановка. Во второй метке вводится подставляемое выражение;
кнопка под названием Символ «Показатель» с ключевым словом factor (фактор) вызывает шаблон для разложения выражения на простые дроби. Шаблон этого оператора выглядит таким образом: В первой метке вводится исходное выражение. Вторая метка убирается; x . z . y – x . z – 6 . x . y + 6 . x + 2 . z . y –2 . z – 12 . y + 12 factor → → (x + 2) . (z – 6) . (y –1) кнопка под названием Символ «Расширение» с ключевым словом expand (разложить) вызывает шаблон для разложения выражения. Шаблон этого оператора выглядит таким образом:
Панели инструментов
291
В первой метке вводится исходное выражение. Вторая метка может быть убрана. (x + 2) . (z – 6) . (y – 1) expand → → x . z . y – x . z – 6 . x . y + 6 . x + 2 . z . y – 2 . z – 12 . y +12 кнопка под названием Символ «Коэффициенты полинома» с ключевым словом coeffs (коэффициенты) вызывает шаблон для определения коэффициентов полинома. Шаблон этого оператора выглядит таким образом: В первой метке вводится исходное выражение. Во второй метке вводится переменная, для которой проводится определение коэффициентов полинома.
кнопка под названием Символ «Условия сбора» с ключевым словом collect (собрать) – вызывает шаблон для сворачивания выражения по выделенной переменной. Шаблон этого оператора выглядит таким образом: В первой метке вводится исходное выражение. Во второй метке вводится переменная, относительно которой проводится сворачивание (приведение подобных членов). a . x2 + b . x2 + c collect,x → (a + b) . x2 + c кнопка под названием Символ «Разложить последовательно» с ключевым словом series (ряд) вызывает шаблон для разложения выражения в ряд Тейлора с заданной точностью. Шаблон этого оператора выглядит таким образом: В первой метке шаблона вводится разлагаемая в ряд Тейлора функция. Во второй метке вводится переменная, по которой проводится разложение. В третьей метке устанавливается порядок разложения – целое положительное число. Ряд Тейлора – это степенной ряд вида
где числовая функция f определена в некоторой окрестности точки x0 и имеет в этой точке производные всех порядков. При x0 = 0 разложение функции в ряд Тейлора принимает вид
292
Быстрый инструментарий системы Mathcad
По умолчанию ключевое слово series генерирует ряд порядка 6, а точка x0, в которой производится разложение функции, принимается равной нулю. Чтобы определить ряд с другим порядком разложения, поставьте за переменной с запятой целое число, соответствующее заданному порядку разложения. Порядок разложения – это порядок остаточного члена в разложении. Например, если Mathcad разлагает ln(1+x), то самая высокая степень последнего члена ряда будет равна x5. Ошибка – таким образом O (x6).
По умолчанию точка разложения функции x0 = 0. Если требуется другая точка разложения, например 2, то запись ключевого слово проводится так:
Для разложения функции в точке, отличной от нуля, необходимо использовать логическое равенство – жирное равно. Чтобы разложить функцию относительно нескольких переменных, то за ключевым словом series введите исходные переменные через запятую;
кнопка под названием Символ «Преобразования в частных долях» с ключевым словом parfac (дробь) вызывает шаблон для разложения выражения на элементарные дроби. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое предстоит разложить на элементарные дроби, а во второй – переменную, по которой будет проводиться разложение;
кнопка под названием Символ «Преобразование Фурье» с ключевым словом fourier (Фурье) – вызывает шаблон для прямого выполнения преобразования Фурье. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование; кнопка под названием Символ «Преобразование Лапласа» с ключевым словом laplace (Лаплас) вызывает шаблон для прямого вы-
Панели инструментов
293
полнения преобразования Лапласа. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование;
кнопка под названием Символ «Z-преобразование» с ключевым словом ztrans (z-преобразование) вызывает шаблон для выполнения прямого Z-преобразования. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование;
кнопка под названием Символ «Обратное преобразование Фурье» с ключевым словом invfourier (обратное Фурье) вызывает шаблон для выполнения обратного преобразования Фурье. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование; кнопка под названием Символ «Обратное преобразование Лапласа» с ключевым словом invlaplace (обратное Лапласа) вызывает шаблон для выполнения обратного преобразования Лапласа. Шаблон этого оператора выглядит таким образом: В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование;
кнопка под названием Символ «Обратное Z-преобразование» с ключевым словом invztrans (обратное Z-преобразование) вызывает шаблон для выполнения обратного Z-преобразования. Шаблон этого оператора выглядит таким образом:
294
Быстрый инструментарий системы Mathcad
В первой метке введите выражение, которое подлежит преобразованию, а во второй – переменную, по которой будет проводиться преобразование;
кнопка под названием Символ транспонирования матриц с комбинацией букв MT (транспонированная матрица) вызывает шаблон для выполнения транспонирования матрицы. Шаблон этого оператора выглядит таким образом: В метке шаблона вводится матрица;
кнопка под названием Символ инвертирования матриц с комбинацией символов М–1 (обратная матрица) вызывает шаблон для выполнения инвертирования матрицы. В метке шаблона вводится матрица;
кнопка под названием Символ определителя матрицы с записью вида ¦М¦ (определитель) вызывает шаблон для выполнения вычисления определителя матрицы. Шаблон этого оператора выглядит таким образом: В метке шаблона вводится матрица;
Операторы (ключевые слова) необходимо набирать только строчными буквами (кроме Modifier – первая буква в этом слове должна быть прописной). На рис. 4.20 приведены результаты преобразования математических выражений с использованием символических операторов (ключевых слов): complex, solve, substitute, expand, coeffs, series, collect. На рис. 4.21 приведены результаты преобразования математических выражений с использованием символических операторов (ключевых слов): laplace (прямое преобразование Лапласа), invlaplace (обратное преобразование Лапласа), fourier (преобразование Фурье), invfourier (обратное преобразование Фурье), ztrans (Z-преобразование), invztrans (обратное Z-преобразование).
Панели инструментов
Рис. 4.20. Результаты применения некоторых символических операторов
Рис. 4.21. Результаты применения некоторых символических операторов
295
296
Быстрый инструментарий системы Mathcad
Системы, расширяющие возможности Mathcad В состав системы Mathcad 11 входят многочисленные приложения ресурсов – это совокупность информационных и инструментальных средств для облегчения работы в системе Mathcad. Информационные средства включают большой набор тематических статей по различным аспектам работы в системе Mathcad, обучающую программу, примеры использования различного инструментария системы (Quicksheets – шпаргалки). Инструментальные средства обеспечивают связь с сайтом MathSoft World Wide Web. Для облегчения вызова тех или иных ресурсов системы Mathcad желательно иметь постоянно в главном окне раскрывающийся список ресурсов. Для этого: ¾ щелкните в главном меню по пункту Вид (View), а затем в выпадающем меню по пункту Панели инструментов (Toolbars). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Ресурсы (Resources). Появится галочка перед пунктом, означающая появление раскрывающегося списка Ресурсы в главном окне. Ее желательно разместить в пятой строке сверху, сразу же за панелью инструментов Математика (Math). На рис. 4.22 показано главное окно системы Mathcad с раскрытым списком ресурсов системы.
Рис. 4.22. Главное окно системы Mathcad с раскрытым списком ресурсов
Раскрывающийся список ресурсов включает несколько пакетов, облегчающих и расширяющих возможности системы: • Консультации (Overview and Tutorials – Краткий обзор и Руководство); • QuickSheets (Быстрые примеры – шпаргалки); • Таблица Ссылок (Reference Tables); • Image Processing (Обработка изображений); • Signal Processing (Обработка сигналов); • Waveelets Extension Pack (Расширенный пакет волновых процессов).
Системы, расширяющие возможности Mathcad
297
Пакет с кратким обзором и руководствами Для вызова пакета с кратким обзором и руководствами: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет; ¾ щелкните в раскрывшемся списке по пункту Консультации – появится пакет ресурсов под названием Mathcad Resources: Overview and Tutorials (Mathcad Ресурсы: Краткий обзор и руководства), показанный на рис. 4.23.
Рис. 4.23. Главное окно пакета Mathcad Resources: Overview and Tutorials
Пакет Mathcad Resources: Overview and Tutorials включает следующие основные разделы: – Overview and Quick Tour (Краткий обзор и быстрый просмотр); – New Features in Mathcad 11 (Новые особенности в Mathcad 11); – Getting Started Primers (Учебники для начинающих); – Features in Depth (Углубленные особенности); – Where to Get More Help (Где получить еще справку). Tutorials (Руководства) – руководства, предназначенные для различного уровня пользователей системы Mathcad. Для начинающих излагаются основы формирования и редактирования выражений, форматирования графиков, ввода и форматирования текста, работы с модулями, использования встроенных функций Mathcad и операторов. Для более опытных пользователей включены обучающие программы построения трехмерных графиков, решения дифференциальноразностных уравнений, анализа данных и многое другое.
298
Быстрый инструментарий системы Mathcad
Каждое из приложений Resources имеет панель инструментов, которая включает ряд кнопок: Home (Домой) – обеспечивает переход к основной странице темы; Adress Toolbar (Адресная панель инструментов) – выводит на экран адресную панель инструментов, если ее там не было, и удаляет ее, если она там была; Back (Обратно) – обеспечивает переход к предыдущей странице; Forword (Вперед) – обеспечивает переход к следующей странице; Previous Topic (Предыдущая тема) – обеспечивает переход к предыдущей теме; Next Topic (Следующая тема) – обеспечивает переход к следующей теме; History (Хронология) – вызывает список хронологий; Search (Поиск) – обеспечивает поиск нужной темы; Copy (Копировать) – копирует выделенный фрагмент и помещает его в буфер обмена данных; Save As (Сохранить как) – вызывает диалоговое окно Save As (Сохранить как), с помощью которого можно сохранить файл под новым именем и/ или в новом месте, в другом формате; Print (Печатать) – вызывает диалоговое окно печати Print (Печать) для ввода имени принтера, числа копий и ряда других установок.
Пакет примеров использования Mathcad Для вызова пакета примеров использования Mathcad: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет; ¾ щелкните в раскрывшемся списке по пункту Консультации – появится пакет ресурсов под названием Mathcad Resources: QuickSheets Contents (Mathcad Ресурсы: Содержание примеров), показанный на рис. 4.24. QuickSheets (быстрые листы – шпаргалки) по существу являются готовыми Mathcad шаблонами для решения широкого диапазона математических задач. Таких шаблонов в системе Mathcad свыше 300. В эти шаблоны можно вводить собственные числа для получения искомых ответов. Можно копировать шпаргалки в ваши собственные документы, чтобы модифицировать их и многократно использовать. OuickSheets – это набор рабочих шаблонов общих графиков, вычислений и исследований. Cреди шпаргалок можно найти и задачи, аналогичные решаемым пользователями. Поэтому целесообразно чаще их просматривать, чтобы на то, что уже было сделано, не тратить много времени. Ниже представлены имена разделов, для которых заготовлены QuickSheets – шпаргалки с решениями тех или иных задач:
Системы, расширяющие возможности Mathcad
299
Рис. 4.24. Главное окно пакета Mathcad Resources: QuickSheets Contents
• • • • • • • • • • • • • • •
About QuickSheets (О шпаргалках); Arithmetic and Algebra (Арифметика и алгебра); Units (Размерности); Vectors and Matrices (Векторы и матрицы); Solving Equations (Решение уравнений); Graphing and Visualization (Графика и визаулизация); Calculus and Differential Equations (Матанализ и дифференциальные уравнения); Engineering Applications (Инженерные приложения); Data Analysis (Анализ данных); Statistics (Статистика); Using Mathcad with Other Applications (Использование Mathcad с другими приложениями); Special Functions (Специальные функции); Programming (Программирование); Animations (Анимация); Extra Math Symbols (Экстраматематические символы).
Пакет справочных таблиц и ссылок Для вызова пакета справочных таблиц и ссылок: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет;
300
Быстрый инструментарий системы Mathcad
¾ щелкните в раскрывшемся списке по пункту Таблица Ссылок – появится пакет ресурсов под названием Mathcad Resources: Reference Tables (Mathcad Ресурсы: Таблицы ссылок), показанный на рис. 4.25.
Рис. 4.25. Главное окно пакета Mathcad Resources: Reference Tables
Пакет Mathcad Resources: Reference Tables (Таблицы ссылок) – это хранилище и источник получения констант и математических формул. Это база знаний, которая включает ряд основных разделов: Basic Science (основные научные ссылки): • Fundamental Constants (Фундаментальные константы); • Physics — Dynamics (Физика – динамика); • Periodic Table (Периодическая таблица); Calculus (Матанализ): • Derivative Formulas (Формулы производных); • Integral Formulas (Формулы интегралов); Geometry (Геометрия): • Areas and Perimeters (Площадь и периметры); • Volumes and Surface Areas (Объемы и площади поверхности); • Polyhedra (Многоугольники); Mechanics Electromagnetics (Механика): • Centroids (Центроиды); • Mass Moments of Inertia (Моменты инерции масс); Electromagnetics (Электромагнетизм): • Capacitance (Емкости); • Oscillators (Осциляторы);
Системы, расширяющие возможности Mathcad
301
Properties of Liquids (Свойства жидкости): • Density (Плотность); • Viscosity (Вязкость); • Specific Gravity (Удельный вес); • Sound Velocity (Скорость звука) • Surface Tension (Поверхностное напряжение); • Dielectric Constant (Диэлектрическая постоянная); • Index of Refraction (Индекс рефракции); • Molecular Weight (Молекулярный вес); Properties of Common Solids (Свойства твердых тел): • Density (Плотность); • Specific Gravity (Удельный вес); • Specific Heat (Удельная теплоемкость); • Thermal Conductivity (Тепловая проводимость); • Dielectric Constant (Диэлектрическая постоянная); Properties of Gases (Свойства газов): • Specific Gravity (Удельный вес); • Specific Heats (Удельная теплоемкость); • Sound Velocity (Скорость звука); • Molecular Weight (Молекулярный вес); Properties of Metals (Свойства металлов): • Thermal Conductivity (Тепловая удельная проводимость); • Specific Gravity (Удельный вес); • Linear Expansion Coefficient (Линейный коэффициент расширения); • Electrical Resistivity (Электрическое удельное сопротивление); • Poisson’s Ratio (Коэффициент Пуассона); • Modulus of Elasticity (Модули упругости); • Melting Point (Точка плавления); • Temperature Coefficient of Resistivity (Температурный коэффициент удельного сопротивления). Достаточно щелкнуть кнопкой по одному из вышеперечисленных разделов – и появится соответствующая информация по нему.
Расширенный пакет обработки изображений Для вызова расширенного пакета обработки изображений: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет; ¾ щелкните в раскрывшемся списке по пункту Image Processing – появится пакет ресурсов под названием Image Processing: Welcome! (Обработка изображений: Приглашаем!), показанный на рис. 4.26.
302
Быстрый инструментарий системы Mathcad
Рис. 4.26. Главное окно пакета Image Processing
Расширенный пакет обработки сигналов Для вызова расширенного пакета обработки сигналов: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет; ¾ щелкните в раскрывшемся списке по пункту сигналов Signal Processing – появится пакет ресурсов под названием Signal Processing: Welcome! (Обработка сигналов: Приглашаем!), показанный на рис. 4.27.
Расширенный пакет волнового анализа Для вызова расширенного пакета волнового анализа: ¾ щелкните в главном окне системы Mathcad по раскрывающемуся списку Resources (Ресурсы), который должен быть предварительно выведен на экран, если его там нет; ¾ щелкните в раскрывшемся списке по пункту сигналов Wavelets Extension Pack (Расширенный пакет волнового анализа) – появится пакет ресурсов под названием Wavelets Extension Pack: Welcome to Wavelets! (Расширенный пакет волнового анализа: Приглашаем к волновому анализу!), показанный на рис. 4.28. Для поиска нужной информации в пакетах Resources (Ресурсы): ¾ щелкните в главном окне системы Resource по кнопке, расположенной в третьей строке в верхней части главного окна, с изображением раскрытой кни-
Системы, расширяющие возможности Mathcad
303
Рис. 4.27. Главное окно пакета Signal Processing
Рис. 4.28. Главное окно пакета Wavelets Extension Pack
ги с биноклем. Если вы несколько задержите курсор на этой кнопке, то появится название кнопки – Поиск (Search). Если третьей строки в окне нет, то, следовательно, и нет нужной нам кнопки. Чтобы третья строка появилась в главном окне системы Resources:
304
Быстрый инструментарий системы Mathcad
– щелкните по пункту Вид (View) главного окна системы Resource. Появится выпадающее меню; – щелкните по пункту Панель инструментов (Toolbars) выпадающего меню. Появится панель инструментов в третьей строке главного окна пакета с нужной нам кнопкой; ¾ щелкните по кнопке Поиск (Search) – появится диалоговое окно Поиск Книги (Search Book) ¾ напечатайте слово или фразу в верхнем текстовом поле – Поиск (Search for). Допустим, вы напечатали слово radian, чтобы найти статьи, связанные с этим термином. Ниже, в раскрывающемся списке, будут представлены тематические статьи, содержащие искомое слово, фразу (рис. 4.29);
Рис. 4.29. Диалоговое окно Поиск Книги
¾ щелкните дважды по нужной вам статье. В нашем примере это статья Converting Radians to Deg-Min-Sec (Конвертирование радиан в градусыминуты-секунды). Появится окно пакета с искомой статьей, показанное на рис. 4.30. В начале статьи указывается, в каком разделе она находится, затем даются название и краткое содержание статьи. В нашем примере сначала дается пояснение, что такое DMS. Под DMS (degrees-minutes-seconds) понимается метод преобразования измерения угла в градусах, минутах, секундах в радианы и наоборот. Эта статья содержит соответствующие функции и примеры работы с этими функциями. Быстрый лист обеспечивает быстрое преобразование нужных вам исходных данных в самом листе – шпаргалке. В нашем примере можно ввести свои данные в вектор исходных данных. Первоначально, по умолчанию, вектор с исходными данными выглядит так:
Результат преобразования введенных нами своих данных представлен на рис. 4.30. В этом же листе ниже проводится и обратное преобразование (рис. 4.31).
Системы, расширяющие возможности Mathcad
305
Рис. 4.30. Окно системы Mathcad Resources: с первым фрагментом статьи Converting Radians to Deg-Min-Sec
Рис. 4.31. Окно системы Mathcad Resources: со вторым фрагментом статьи Converting Radians to Deg-Min-Sec
306
Быстрый инструментарий системы Mathcad
Во втором фрагменте представлена формула для конвертирования радиан в DMS и пример ее использования. Аналогично можно искать и использовать другие статьи. Чтобы удалить диалоговое окно Поиск книги, щелкните по кнопке с крестиком, расположенной в правом верхнем углу диалогового окна, или по кнопке Закрыть (Close).
Интернет Internet – это динамичная универсальная система, являющаяся: • мощнейшим информационным инструментом; • сверхнадежным и оперативным средством связи; • базой для развития информационных технологий будущего. Именно в Интернете зарождаются и проходят испытания на жизненность, жизнеспособность и прочность самые смелые и перспективные идеи. Интернет в настоящее время объединяет несколько десятков тысяч сетей. Интернет – это сеть сетей. Она построена так, что от пользователей не требуется знания о конкретной ее структуре, которая меняется каждую секунду. Чтобы послать сообщение, необходимо поместить данные в компьютере в некий «конверт», называемый IP, указать на нем конкретный адрес и передать полученный пакет в сеть. Одним из наиболее популярных приложений Internet является ее электронная почта, которая предоставляет удобное и чрезвычайно оперативное средство общения, не зависящее от расстояний. Кроме электронной почты, в Интернете активно используются возможности удаленного доступа к различным базам данных разнообразной информации, включая и решение разнообразных задач с применением тех или иных математических средств. Уже сегодня Internet широко используется многими компаниями как средство связи – как внутри фирмы, так и с другими, как средство обмена информацией о новых разработках и продуктах фирмы, даже для тестирования бета-версий своих продуктов! Фирма MathSoft, создавшая систему Mathcad, имеет специализированный сайт (место) на World Wide Web (Всемирная паутина) для постоянного взаимодействия с пользователями системы Mathcad. Для просмотра содержимого этого сайта можно использовать Центр ресурсов (Resource Center). World Wide Web является относительно новой составной частью Интернета, содержащей огромное количество гипертекстовых документов. Гипертекст – это как раз то, что отличает WWW от всех остальных ресурсов Интернета, предлагая альтернативу традиционному способу чтения печатных и электронных документов. Формат гипертекста позволяет пользователям просматривать темы в любом порядке, объединять разрозненные текстовые и мультимедийные фрагменты – графику, анимацию, аудио и видео в неформализованные информационные блоки. Пользователь имеет возможность создавать документ, отвечающий самым разнообразным требованиям.
Системы, расширяющие возможности Mathcad
307
Рабочим пространством для WWW является Internet. Это не означает, что WWW и Internet не могут обойтись друг без друга. Вполне возможно использовать WWW и в качестве локальной информационной системы. Более того, форматы данных и протоколы не имеют никакой привязки к технологической основе сети (IP). Однако всякая информационная система, помимо технических характеристик, сильна (или слаба) своим содержанием и пользовательским интерфейсом. Так уж получилось, что именно сеть Internet, являясь транспортом, в силу своего размера, открытости и структуры, сделала WWW глобальной реальностью, а миллионы пользователей совместно наполнили Web мириадами документов. Чтобы просмотреть любую страницу WWW из любого пакета ресурсов: ¾ щелкните по кнопке с изображением земного шара и стрелками влево и вправо на инструментальной панели – второй кнопке. Появится дополнительная инструментальную панель с тремя кнопками слева и текстовым полем Adress: (Адрес) – рис. 4.32.
Рис. 4.32. Инструментальные панели пакетов Resource
Кнопки слева в дополнительной инструментальной панели (нижняя строка) выполняют следующие действия: кнопка под названием Закладка (Bookmark) предназначена для пометки страницы для более позднего ее посещения; кнопка под названием Перезагрузить (Reload) предназначена для перезагрузки текущей страницы; кнопка под названием Остановить (Stop) предназначена для прерывания передачи файла. В текстовом поле Адрес (Adress) правее кнопок напечатайте URL (Universal Resource Locator – универсальный указатель на ресурс). URL – практически это адрес документа – имя пути к специфическому файлу в Internet. Например, URL к домашней странице сервера фирмы MathSoft – http://mathsoft.com. Типичный для URL вид: протокол://полное.имя.машины.или.адрес:порт/путь Ниже представлены наиболее распространенные указатели: • http – передача гипертекста; • ftp – протокол передачи файлов; • telnet – терминальный доступ; • gopher – одно из популярных в Internet приложений; • news – новости Usenet; • file – для доступа к локальным файлам.
Быстрый инструментарий системы Mathcad
308
Параметр «порт» можно не указывать, и тогда подразумевается порт, стандартный для данного протокола. Для ftp используются порты 20 и 21, для http – 80, для telnet – 23, для gopher – 70, news – 119 и т. д. Примеры URL http://xxx.lanl.gov:8000/ http://info.cern.ch/ ftp://ftp.kiae.su/unix/ telnet://whitehouse.gov:23} Если имеется прямое соединение с Internet, можно соединиться с Web-библиотекой Mathcad, в которой имеются электронные книги и другие документы. Адресс URL http://mathsoft.com./MATHCAD/library/index.mcd. Для эффективного просмотра используйте гиперсвязи внутри книг и стрелки в панели инструментов.
Обмен данными с другими приложениями В Mathcad 11 можно обмениваться данными между рабочим листом Mathcad и любым другим приложением, которое поддерживает OLE Automation. В связи с этим в Mathcad широко используется понятие компонент. Компонент – это специализированный OLE-объект, который вставляется в рабочий лист Mathcad, чтобы создать связь между рабочим листом и источником данных или другим приложением, содержащим данные. Для вставки объекта в рабочий лист: ¾ щелкните в пустом месте рабочего листа; ¾ щелкните левой кнопкой мышки по пункту Вставить (Insert) главного меню, а затем по пункту Компонент (Component) выпадающего меню. Появится диалоговое окно Мастер Компонентов (Component Wizard) – рис. 4.33;
Рис. 4.33. Диалоговое окно Мастер Компонентов
Системы, расширяющие возможности Mathcad
309
¾ щелкните по нужной компоненте, чтобы начать процесс установки той или компоненты. Диалоговое окно Мастер Компонентов включает следующие компоненты: • Axum Graph для создания разнообразных графиков и вставки их в рабочий лист Mathcad. Для этого вы должны иметь Axum, установленный так, чтобы можно было вставить этот компонент; • Axum S-Plus Script для создания разнообразных графиков с использованием языка созданий сценария; • Data Acquisition для обеспечения сбора данных; • MATLAB для создания связи между рабочим листом Mathcad и MATLABфайлом; • Microsoft Excel для создания связи между Mathcad рабочим листом и файлом Excel; • Scriptable Object для создания заказного компонента через язык созданий сценария; • Smart Sketch для создания двухразмерных рисунков и проектов. Рассмотрим в качестве примера создание сценария с помощью компоненты Scriptable Object. Для этого: ¾ выделите компоненту Scriptable Object и щелкните по кнопке Next (Следующий). Появится диалоговое окно Мастер создания сценария (Scripting Wizard) – рис. 4.34;
Рис. 4.34. Диалоговое окно Мастер создания сценария – первый шаг
¾ прокрутите список объектов для сценария. Этот список показывает доступные приложения на вашей системе; ¾ определите, будет ли компонент новым файлом, или вставьте его из существующего файла. Можно увидеть фактический файл на рабочем листе или иконку. Допустим, мы выбрали объект Microsoft Forms 2.0 TextBox (Формы Microsoft 2.0 – Текстовое окно). Щелкните по кнопке Далее (Next). Опять появится диалоговое окно Мастер создания сценария, но несколько другого содержания (рис. 4.35):
310
Быстрый инструментарий системы Mathcad
Рис. 4.35. Диалоговое окно Мастер создания сценария – второй шаг
¾ определите, какой язык для создания сценария вы будете использовать. Следует обратить внимание, что при выборе языка JScript Language (JavaScript) имена функций, методов, объектов и свойств чувствительны к используемому регистру, в то время как в языке VB Script Language (Visual Basic Scripting Edition) регистр не имеет никакого значения. Допустим, что мы выбрали язык VB Script Language; ¾ щелкните по кнопке Далее (Next). Появится диалоговое окно Мастер создания сценария (рис. 4.36);
Рис. 4.36. Диалоговое окно Мастер создания сценария – третий шаг
¾ выберите имя для объекта, например TextBox; ¾ установите число входных и выходных переменных, разрешенных для этого объекта в разделе Выберите число вводов и выводов, позволенных для этого объекта (Select the number of inputs and outputs allowed for this object) соответственно в полях Вводы (Inputs) и Выводы (Outputs); ¾ щелкните по кнопке Готово (Finish).
Системы, расширяющие возможности Mathcad
311
После окончания использования Мастера создания сценария (Scripting Wizard) вы увидите компоненту на вашем рабочем листе с метками для ввода и вывода переменных.
Введите имя входной переменной в метке внизу. Введите имя выходной переменной в метке вверху слева до знака присваивания. Как только вы вставите компонент приложения, можно добавлять или удалять входные или выходные переменные: ¾ щелкните по компоненте, чтобы выделить ее; ¾ щелкните правой кнопкой внутри выделенной компоненты. Появится контекстно-зависимое меню;
Рис. 4.37. Контекстно-зависимое меню выделенной компоненты
¾ щелкните по пункту Добавить выходную переменную (Add Output Variable) для добавления переменной вывода. Появится дополнительная метка слева от знака присваивания =, или щелкните по пункту Добавить входную переменную (Add Input Variable) для добавления переменной ввода. Появится дополнительная метка.
312
Быстрый инструментарий системы Mathcad
Чтобы удалить переменную вывода, щелкните по пункту Удалить выходную переменную (Remove Output Variable) в контекстно-зависимом меню. Метка вывода или переменная слева от оператора присваивания : = исчезнет. Чтобы удалить переменную ввода, щелкните по пункту Удалить входную переменную (Remove Input Variable) в контекстно-зависимом меню. Переменная ввода или метка ниже компоненты исчезнет. Чтобы создать программу для объекта: ¾ вставьте объект сценария, например элемент управления Microsoft Forms 2.0 TextBox (Текстовое окно); ¾ щелкните по объекту, чтобы выделить его, а затем щелкните правой кнопкой мышки для вызова контекстно-зависимого меню; ¾ выберите пункт Редактировать сценарий (Edit Script) из контекстно-зависимого меню. Он вызовет редактор сценария (рис. 4.38).
Рис. 4.38. Главное окно системы Редактор сценария
Редактор сценария (Script Editor) показывает базисную структуру сценария, состоящую из трех подпрограмм. Кратко прокомментируем последнюю програм-
Системы, расширяющие возможности Mathcad
313
му и ее работу. Допустим, мы решили сделать изменения в тексте текстового окна (TextBox) и ввести такой текст Happy New Year 2005. Для этого введите указатель мышки в текстовое поле и щелкните левой кнопкой мышки. Появится рамка с метками. Продолжайте набирать недостающий текст. К сожалению, не видно курсора ввода в текстовом окне. После этого установите указатель мышки в пустом месте рабочего листа и щелкните левой кнопкой мышки. Это событие (щелчок левой кнопкой мышки) обеспечивает запуск соответствующей программы VBScript. Допустим, что в редакторе Script Editor (см. рис. 4.38) находится последняя программа, и она готова к исполнению. Чтобы программа была готова к исполнению после внесения в нее изменений, необходимо в этом редакторе щелкнуть по левой верхней кнопке с изображением на ней галочки для ее обновления. Внизу в строке состояний повторно появится сообщение Готов (Ready). Если в программе было сделано какое-то изменение, то это будет сразу зафиксировано в названии программы – в верхней строке редактора. После названия программы (в квадратных скобках) появится звездочка. После щелчка по кнопке с галочкой звездочка исчезает, и программа готова к исполнению. Наша программа состоит из трех подпрограмм. Первая подпрограмма – TextBoxEvent_Start() (ТекстОкноСобытие_Старт) вызывает окно сообщений – MsgBox (СообщениеОкно), в котором вводится сообщение Change text? (Изменить текст?). Вторая подпрограмма – Sub TextBoxEvent_Exec (Inputs,Outputs) (ТекстОкноСобытие_Выполнить (Вводы,Выводы)) обеспечивает процесс ввода текста в текстовое окно. Третья подпрограмма – TextBoxEvent_Stop() (ТекстОкноСобытие_Стор) вызывает окно сообщений – MsgBox, в котором вводится сообщение Bye, Bye User (До встречи, пользователь). После щелчка в пустом месте рабочего листа после внесения изменений в тексте текстового окна начинает выполняться данная программа. После отработки первой подпрограммы появится диалоговое окно сообщений VBScript (Visual Basic Script ) (рис. 4.39).
Рис. 4.39. Диалоговое окно сообщений VBScript при старте программы Text
Диалоговое окно сообщений при старте программы Text содержит сообщение Change text? (Изменить текст?). После щелчка по кнопке OK начнется выполняться вторая основная подпрограмма. После ее выполнения начнет выполняться третья подпрограмма и появится диалоговое окно сообщений (рис. 4.40).
Рис. 4.40. Диалоговое окно сообщений после выполнения программы Text
314
Быстрый инструментарий системы Mathcad
После щелчка по кнопке OK будет зафиксировано изменение в текстовом окне. Процесс вставки элемента управления – текстового окна (поля) представлен на рис. 4.41. Этот процесс иногда называют процессом ввода объекта (элемента управления, …) сценария (Scriptable Object).
Рис. 4.41. Пример вставки элемента управления
Интерфейс OLE automation Mathcad обеспечивает использование Mathcad как сервера для автоматизации использования другого приложения Windows. Вы можете: ¾ послать данные динамически в Mathcad из другого приложения; ¾ использовать Mathcad для вычисления или других манипулирований с данными; ¾ послать результаты работы Mathcad обратно к первоначальному приложению.
Глава 5 Встроенные функции Mathcad Категории встроенных функций ..................................... 316
Функции, обратные к функциям распределения ....... 381
Функции Бесселя ....................... 318
Функции случайных чисел ......... 383
Функции комплексных чисел ..... 321 Аппроксимирующие функции ..... 322
Функции регрессии и сглаживания ........................... 385
Функции решения систем дифференциальных уравнений .................................. 331
Функции решения алгебраических уравнений и систем .................................... 386
Определение типа выражения ......................... 338
Специальные функции ............... 390
Функции работы с файлами ....... 340
Статистические функции ........... 391
Финансовые функции ................ 345
Встроенные строковые функции ................... 395
Функции преобразования Фурье ............. 353 Функции многогранников .......... 357 Гиперболические функции ........ 357 Функции обработки изображения ............ 359 Функции интерполяции и экстраполяции ........................ 361 Логарифмические и экспоненциальные функции ..... 363 Функции теории чисел и комбинаторики ....................... 364 Функции ступенек и условия ...... 365 Функции плотности вероятности ............. 365 Функции распределения вероятности ..... 378
Функции сортировки ................. 388
Тригонометрические функции ..... 397 Функции, определенные пользователем .......................... 399 Функции работы с векторами и матрицами .............................. 400 Функции волнового преобразования ....... 409
316
Встроенные функции Mathcad
Категории встроенных функций В Mathcad 11 все разнообразие встроенных функций определенным образом классифицировано и упорядочено, что облегчает их использование. Любую из этих функций, а точнее любой оператор функции можно поместить в рабочий документ с помощью диалогового окна Вставить функцию (Insert Function). К сожалению, не для всех встроенных функций имеются в Mathcad операторы-заготовки (шаблоны). Для размещения на рабочем листе оператора той или иной функции: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Функция (Function) или нажмите комбинацию клавиш Ctrl+E. Появится диалоговое окно Вставить функцию (Insert Function), показанное на рис. 5.1;
Рис. 5.1. Диалоговое окно Вставить функцию
¾ щелкните в разделе Категория (Function Category) по нужной категории функции, например Комплексные числа (Complex Numbers). В разделе Имя (Function Names) справа появится список соответствующих встроенных функций; ¾ щелкните в разделе Имя по нужному имени функции. В нижней части диалогового окна Вставить функцию (Insert Function) в текстовых полях дается соответственно общий вид представления функции и результат, который выдает функция после ее выполнения. Допустим, что выделена функция arg(z), которая возвращает угол в радианах между действительной осью x и отрезком, соединяющим начало координат на плоскости x0y и комплексное число с координатами (x,y); ¾ щелкните кнопке Вставить (Insert). В месте, где стоял визир, на рабочем листе появится шаблон, который необходимо заполнить. Он может выглядеть так:
Категории встроенных функций
317
Если вы на место метки введете комплексное число, а затем знак равенства, то тут же получите результат – величину искомого угла (аргумент комплексного числа). Например, для комплексного числа 5 + 12i величина угла составит В Mathcad 11 выделены следующие категории функций: • Бесселевы (Bessel) – бесселевы функции; • Вейвлетное преобразование (Wavelet Transform) – функции волнового преобразования; • Векторные и матричные (Vector and Matrix) – функции работы с векторами и матрицами; • Все (All) – все функции, размещенные в алфавитном порядке; • Гиперболические (Hyperbolic) – гиперболические функции; • Графические (Graph) – функции построения многранников; • Доступ к файлам (File Access) – функции работы с файлами; • Интерполяция и экстраполяция (Interpolation and Prediction) – функции интерполяции и предсказания; • Комплексные числа (Complex Numbers) – функции работы с комплексными числами; • Кусочно-непрерывные (Piecewise Continuous) – функции ступенек и условий; • Логарифмические и экспоненциальные (Log and Exponential) – логарифмические и экспоненциальные функции; • Обработка изображений (Image Processing) – функции обработки изображений; • Округление (Truncation and Round-Off) – функции округления и работы с частью числа; • Определенные пользователем (User defined) – функции, определенные пользователем; • Плотность вероятности (Probability Density) – функции плотности вероятности; • Преобразование Фурье (Fourier Transform) – функции преобразования Фурье; • Сглаживания кривых (Curve Fitting) – функции, аппроксимирующие данные той или иной кривой; • Просмотр; • Распределение вероятностей (Probability Distribution) – функции распределения вероятности; • Решения (Solving) – функции решения алгебраических уравнений и систем; • Решения дифференциальных уравнений (Differential Equation Solving) – функции для решения дифференциальных уравнений; • Сглаживания (Regression and Smoothing) – функции регрессии и сглаживания; • Случайные числа (Random Numbers) – функции случайных чисел;
Встроенные функции Mathcad
318
Сортировка (Sorting) – функции сортировки; Специальные (Special) – специальные функции; Статистические (Statistics) – статистические функции; Строковые (String) – строковые функции; Теория чисел/Комбинаторика (Numbers Theory/Combinatorics) – функции теории чисел и комбинаторики; • Тип выражений (Expression Type) – функции определения типа выражения; • Тригонометрические (Trigonometric) – тригонометрические функции; • Финансовые (Finance).
• • • • •
Функции Бесселя (Bessel) Ai (x), Bi (x) Ai (x) – определяет значение функции Эйри первого вида. Bi (x) – определяет значение функции Эйри второго порядка. Аргумент x должен быть вещественным числом и не может быть равным единице и больше, чем 103.892. Эти функции представляют собой независимые решения дифференциальноразностного уравнения: .
bei (n, x), ber (n, x) bei (n, x) – определяет значение мнимой части функции Бесселя–Келвина порядка n. ber (n, x) – определяет значение вещественной части функции Бесселя–Келвина порядка n. Аргументы: n должен быть неотрицательным целым числом, но не должен быть равен единице; x должен быть вещественным числом и не должен быть равен единице. Функция ber (n, x) +i . bei (n, x) является решением дифференциально-разностного уравнения: .
I0(x), I1(x), In(m,x), J0(x), J1(x), Jn(m,x) Впервые бесселева функция J0(x) была найдена Даниелем Бернулли в 1732 г. при изучении колебаний однородной тяжелой цепи. Однако современное название и
Функции Бесселя
319
подробное описание обширного семейства бесселевых функций они получили лишь много лет спустя, когда в 1824 г. Бессель, исследуя вопросы, связанные с возмущением планет, детально изучил свойства этих функций. Функции Бесселя первого и второго рода порядка g, представляют собой частные решения следующего дифференциального уравнения: I0(x) – определяет значение модифицированной функции Бесселя первого рода нулевого порядка; I1(x) – определяет значение модифицированной функции Бесселя первого рода первого порядка; In(m,x) – определяет значение модифицированной функции Бесселя первого рода m-го порядка. Функции I0(x), I1(x) и In(m,x) являются решениями дифференциального уравнения
соответственно при n = 0, n = 1, n = m. J0(x) – определяет значение функции Бесселя первого рода нулевого порядка; J1(x) – определяет значение функции Бесселя первого рода первого порядка; Jn(m,x) – определяет значение функции Бесселя первого рода m-го порядка. Функции J0(x), J1(x) и Jn(m,x) являются решениями дифференциального уравнения
соответственно при n = 0, n = 1, n = m. На рис. 5.2 представлены графики различных функций Бесселя в диапазоне изменения x от –10 до +10.
js (n, x), ys(n,x), K0(x), K1(x), Kn(m,x), Y0(x), Y1(x), Yn(m,x) js (n, x) – определяет значение сферической функции Бесселя первого рода порядка n. ys(n, x) – определяет значение сферической функции Бесселя второго рода порядка n. Аргументы: n должен быть целым числом n ≥ –200; x должен быть положительным вещественным числом и не должен иметь единиц. x = 0 для js, если n ≥ 0. Функции js (n, x) и ys(n, x) являются решениями следующего дифференциального уравнения.
320
Встроенные функции Mathcad
Рис. 5.2. Графики функций Бесселя I0(x), I1(x), In(x), J0(x), J1(x) и Jn(m,x) в диапазоне изменения x от –10 до +10
K0(x) – определяет значение модифицированной функции Бесселя второго рода нулевого порядка; K1(x) – определяет значение модифицированной функции Бесселя второго рода первого порядка; Kn(m,x) – определяет значение модифицированной функции Бесселя второго рода m-го порядка. Функции K0(x), K1(x) и Kn(m,x) являются решениями дифференциального уравнения
соответственно при n = 0, n = 1, n = m. Y0(x) – определяет значение функции Бесселя второго рода нулевого порядка; Y1(x) – определяет значение функции Бесселя второго рода первого порядка; Yn(m,x) – определяет значение функции Бесселя второго рода m-го порядка.
Функции комплексных чисел
321
Функции Y0(x), Y 1(x) и Y n(m,x) являются решениями дифференциального уравнения
соответственно при n = 0, n = 1, n = m. Аргументы: x должен быть вещественным числом для I и J; x должен быть положительным числом для Y и K; x должен быть безразмерным; m должно быть целым между 1 и 100 включительно. На рис. 5.3 представлены графики различных функций Бесселя в диапазоне изменения x от –10 до +10.
Рис. 5.3. Графики функций Бесселя K0(x), K1(x), Kn(x), Y0(x), Y1(x) и Yn(m,x) в диапазоне изменения x от 0 до +10
Функции комплексных чисел arg(z) arg(z) – определяет угол в радианах от действительной оси х до комплексного числа z. Аргумент z изменяется от –π до +π, включая π.
Встроенные функции Mathcad
322 z := 5 +12i
arg(z) = 1.176
z := 3 + 17i u := arg(z)
u = 1.396
csgn(z) csgn(z) – возвращает 0, если z = 0, и 1, если Re(z) > 0 или (Re(z) = 0 и Im(z) > 0), –1 в противном случае; z := 3 +17i r := csgn(z) r=1
Im(z) Im(z) – выделяет мнимую часть комплексного числа z; z := 5.45 + 19.45i i := Im(z) i = 19.45
Re(z) Re(z) – выделяет действительную часть комплексного числа z; z := 5.45 + 19.45i k := Re(z) k = 5.45
signum(z) signum(z) – возвращает 1, если z = 0, и z / |z| в противном случае. z := 5.45 + 19.45i a := signum(z) a = 0.27 +0.963i На рис. 5.4 показаны операции с использованием функций комплексных чисел.
Аппроксимирующие функции (Curve Fitting) expfit (vx, vy, vg) expfit (vx, vy, vg) – определяет вектор, содержащий коэффициенты уравнения регрессии вида aebx+c (экспоненциальная регрессия). Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в показательном уравнении. Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции expfit (vx, vy, vg). Ниже на рис. 5.5 поясняется использование функции expfit (vx, vy, vg).
Аппроксимирующие функции
323
Рис. 5.4. Использование функций комплексных чисел
Рис. 5.5. Определения параметров аппроксимирующей функции expfit (vx, vy, vg)
324
Встроенные функции Mathcad
Рис. 5.6. Графическое представление аппроксимирующей функции expfit (vx, vy, vg)
genfit (vx, vy, vg, F) genfit (vx, vy, vg, F) – определяет вектор, содержащий параметры, которые наилучшим образом аппроксимируют нелинейную функцию F. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в показательном уравнении. Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции genfit (vx, vy, vg). F – функция, которая определяет вектор из (n + 1) элементов, содержащий функцию f и ее частные производные относительно ее n параметров. Когда n = 1, F – скаляр. n – целое число. Ниже на рис. 5.7 поясняется использование функции genfit (vx, vy, vg, F).
lgsfit (vx, vy, vg) lgsfit (vx, vy, vg) – определяет вектор, содержащий коэффициенты уравнения регрессии логистической кривой вида a/(1+be-cx). Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в логистическом уравнении.
Аппроксимирующие функции
325
Рис. 5.7. Определения параметров аппроксимирующей функции genfit (vx, vy, vg, F)
Рис. 5.8. Графическое представление аппроксимирующей функции genfit (vx, vy, vg, F)
326
Встроенные функции Mathcad
Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции lgsfit (vx, vy, vg). Ниже на рис. 5.9 поясняется использование функции lgsfit (vx, vy, vg).
line(vx, vy) line(vx, vy) – определяет вектор, содержащий коэффициенты уравнения регрессии линейного вида a+bx. Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy: • vx – вектор значений вещественных данных x; • vy – вектор значений вещественных данных y. Вектора vx и vy должны иметь одно и то же число элементов. Ниже на рис. 5.11 поясняется использование функции line (vx, vy).
medfit (vx, vy) medfit (vx, vy) – определяет вектор, содержащий коэффициенты уравнения регрессии для линии вида a+bx. Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy, с использованием регрессии медианы. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. Вектора vx и vy должны иметь одно и то же число элементов. Ниже на рис. 5.13 поясняется использование функции medfit (vx, vy).
linfit (vx, vy, F) linfit (vx, vy, F) – определяет вектор, содержащий коэффициенты уравнения регрессии, используемые для создания линейной комбинации функций в F, которые лучше всего аппроксимируют данные в vx и vy. • vx – вектор значений вещественных данных x. Элементы x должны представляться в порядке возрастания. Для этого используйте функцию сортировки (sort), если необходимо. • vy – вектор значений вещественных данных y. Вектора vx и vy должны иметь одно и то же число элементов. • F – функция, которая определяет вектор, элементы которого являются функциями, составляющими линейную функцию. В случае единственной линейной функции F – скаляр. Функция полезна, когда имеется множество измеряемых значений x и y и вы хотите моделировать ваши данные с линейной комбинацией произвольных функций. Ниже на рис. 5.15 поясняется использование функции linfit (vx, vy, F).
Аппроксимирующие функции
327
Рис. 5.9. Определения параметров аппроксимирующей функции lgsfit (vx, vy, vg)
Рис. 5.10. Графическое представление аппроксимирующей функции lgsfit (vx, vy, vg)
328
Встроенные функции Mathcad
Рис. 5.11. Определения параметров аппроксимирующей функции line (vx, vy)
Рис. 5.12. Графическое представление аппроксимирующей функции line (vx, vy)
Аппроксимирующие функции
329
Рис. 5.13. Определения параметров аппроксимирующей функции medfit (vx, vy)
Рис. 5.14. Графическое представление аппроксимирующей функции medfit (vx, vy )
330
Встроенные функции Mathcad
Рис. 5.15. Определения параметров аппроксимирующей функции linfit (vx, vy, F)
Рис. 5.16. Графическое представление аппроксимирующей функции linfit (vx, vy, F)
Функции решения систем дифференциальных уравнений
331
logfit(vx, vy, vg) logfit(vx, vy, vg) – определяет вектор, содержащий коэффициенты уравнения регрессии логарифмической кривой вида a . ln (x+b) +c. Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в логарифмическом уравнении. Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции logfit (vx, vy, vg). Ниже на рис. 5.17 поясняется использование функции logfit (vx, vy, vg).
pwrfit(vx, vy, vg) pwrfit(vx, vy, vg) – определяет вектор, содержащий коэффициенты уравнения регрессии в для кривой показателя степени вида axb+c. Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в показательном уравнении: Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции pwrfit (vx, vy, vg).
sinfit(vx, vy, vg) sinfit(vx, vy, vg) – определяет вектор, содержащий коэффициенты уравнения регрессии для синусоиды вида a . sin (x+b) +c. Эта функция аппроксимирует данные, содержащиеся в векторах vx и vy. • vx – вектор значений вещественных данных x. • vy – вектор значений вещественных данных y. • vg – вектор параметров a, b, и c в синусоидальном уравнении: Вектора vx и vy должны иметь одно и то же число элементов. Вектор оценок vg необходим для инициализации. Уменьшение значения встроенной системной переменной TOL может увеличивать точность аппроксимации с использованием функции sinfit (vx, vy, vg).
Функции решения систем дифференциальных уравнений (Differential Equation Solving) Обыкновенным дифференциальным уравнением (ДУ) порядка r называется уравнение
332
Встроенные функции Mathcad
Рис. 5.17. Определение параметров аппроксимирующей функции logfit (vx, vy, vg)
Рис. 5.18. Графическое представление аппроксимирующей функции logfit (vx, vy, vg)
Функции решения систем дифференциальных уравнений
333
f(x, y(x), y’(x), …, yr(x)) = 0, которое связывает независимую переменную x, искомую функцию y = y(x) и ее производные y’(x), …, yr(x). Системой обыкновенных дифференциальных уравнений называется система уравнений fi(x, y1(x), y2(x), …, y’1(x), y’2(x), …) = 0, (i = 1, 2, …), которая связывает независимую переменную x, искомые функции y1 = y1(x), y2 = y2(x), … и их производные.
Bulstoer (y, x1, x2, npoints, D) Bulstoer (y, x1, x2, npoints, D) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений методом Булирша–Штера (Bulirsch–Stoer). Эта функция имеет пять аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • npoints – число шагов интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде.
bulstoer(y, x1, x2, acc, D, kmax, s) bulstoer(y, x1, x2, acc, D, kmax, s) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений методом Булирша–Штера с переменным шагом. Эта функция имеет семь аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • acc – точность интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • kmax и s – определяют размер переменного шага интегрирования.
bvalfit(v1, v2, x1, x2, xf, D, load1, load2, score) bvalfit(v1, v2, x1, x2, xf, D, load1, load2, score) – определяет вектор, содержащий начальные значения, которые соответствуют известному промежуточному решению. • v1 – вектор начальных значений, не определенных слева от x1. • v2 – вектор начальных значений, не определенных слева от x2. • x1, x2 – конечные точки интервала, на котором решение дифференциальных уравнений будет выполняться.
334
Встроенные функции Mathcad
• xf – точка между x1 и x2, в которых траектория решения, начинающаяся в x1 и кончающаяся в x2, вынуждена пройти через точку xf. • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции. • load1 – вектор значений функции, элементы которого соответствуют значениям n искомых функций в точке x1. Некоторые из этих значений будут константы, определенные начальными условиями. • load2 аналогичен load1, но для значений, принимаемых n искомыми функциями в точке x2. • score – вектор значений функции, элементы которого соответствуют значениям n искомых функций в точке xf. Этот метод становится особенно полезным, когда производная имеет неоднородность где-нибудь в интервале интегрирования.
multigrid(M, ncycle) multigrid(M, ncycle) – возвращает матрицу значений решения уравнения Пуассона в частных производных над плоской квадратной областью. Переменная цикла ncycle обычно равна 1 или 2. ncycle – число циклов на каждом уровне итерации мультисетки. Значение 2 вообще дает хорошее приближение решения. Если u (x, y) имеет нуль на всех четырех сторонах квадрата, используйте функцию multigrid(M, ncycle) (мультисетки). Эта функция часто решает проблему быстрее, чем функция relax. На рис. 5.19 представлен пример использования функции multigrid(M, ncycle).
odesolve (x, b, [step]) odesolve (x, b, [step]) возвращает функцию, которая является решением обыкновенного дифференциального уравнения, с заданными начальными и граничными значениями, представляемыми в решающем блоке (solve block). Дифференциальное уравнение должно быть линейным относительно высшей производной, и число условий должно быть равно порядку дифференциального уравнения. • x – переменная интегрирования, которая должна быть вещественным числом. • b – конечный интервал интегрирования, который должен быть вещественным числом. • step (необязательный параметр) – размер шага, используемый Mathcad при решении.
relax(A, B, C, D, E, F, U, rjac) relax(A, B, C, D, E, F, U, rjac) – возвращает матрицу значений решения уравнения Пуассона в частных производных над плоской квадратной областью:
Функции решения систем дифференциальных уравнений
335
Рис. 5.19. Пример использования функции multigrid(M, ncycle)
• матрицы A, B, C, D и E определяют коэффициенты для линейной аппроксимации оператора Laplacian в каждой из n2 точек сетки; • матрица F определяет исходные функциональные значения; • матрица U предписывает граничные значения по четырем граням и приблизительным внутренним значениям; • rjac – спектральный радиус Rjac. Это средство управления сходимостью алгоритма релаксации. Он может иметь значение от 0 до 1, но его оптимальное значение зависит от решаемой задачи. Эта функция использует метод релаксации для обеспечения сходимости при поиске искомого решения. Функция relax(A, B, C, D, E, F, U, rjac) должна использоваться тогда, когда известны значения, принимаемые неизвестной функцией u (x, y) на всех четырех сторонах квадратной области. Если граничные условия – нули на всех четырех сторонах квадратной области интегрирования, используйте функцию multigrid(M, ncycle). На рис. 5.20 представлен пример использования функции relax(A, B, C, D, E, F, U, rjac).
Rkadapt(v, x1, x2, npoints, D), rkadapt(y, x1, x2, acc, D, kmax, s) Rkadapt(v, x1, x2, npoints, D) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений методом РунгеКутта с адаптивным шагом. Эта функция имеет пять аргументов:
Встроенные функции Mathcad
336
Рис. 5.20. Пример использования функции relax() и multigrid()
y – вектор начальных значений искомых функций; x1 – начальное значение независимой переменной; x2 – конечное значение независимой переменной; npoints – число шагов интегрирования; D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; rkadapt(y, x1, x2, acc, D, kmax, s) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений методом Рунге-Кутта с переменным шагом. Эта функция имеет семь аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • acc – точность интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • kmax и s – определяют размер переменного шага интегрирования. • • • • •
rkfixed(y, x1, x2, n, F) rkfixed(y, x1, x2, n, F) – выдает таблицу результатов решения системы обыкновенных дифференциальных уравнений методом Рунге-Кутта четвертого
Функции решения систем дифференциальных уравнений
337
порядка с фиксированным шагом интегрирования. Эта функция имеет пять аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • n – фиксированное число шагов интегрирования. • F – правые части системы уравнений, записанные в векторе-столбце в символьном виде.
sbval(v, x1, x2, D, load, score) sbval(v, x1, x2, D, load, score) – возвращает набор начальных условий для задачи с краевыми условиями, определенной производными в векторе D, и предполагаемые значения в векторе v на интервале [x1, x2]. Параметр загрузки содержит как известные начальные условия, так и предполагаемые из вектора v и расхождения решения в точке x2.
Stiffb(y, x1, x2, npoints, D, J), stiffb(y, x1, x2, acc, D, J, kmax, s) Stiffb(y, x1, x2, npoints, D, J) – выдает таблицу результатов (матрицу значений) решения системы жестких обыкновенных дифференциальных уравнений с использованием метода Bulirsch-Stoer. Эта функция имеет шесть аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • npoints – число шагов интегрирования; • D – правые части системы уравнений, записанные в векторе в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • J – якобиан. stiffb(y, x1, x2, acc, D, J, kmax, s) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений с использованием метода Bulirsch-Stoer переменного шага. Эта функция имеет семь аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • acc – точность интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • J – якобиан; • kmax и s – определяют размер переменного шага интегрирования.
338
Встроенные функции Mathcad
Stiffr(y, x1, x2, npoints, D, J), stiffr(y, x1, x2, acc, D, J, kmax, s) Stiffr(y, x1, x2, npoints, D, J) – выдает таблицу результатов (матрицу значений) решения системы жестких обыкновенных дифференциальных уравнений с использованием метода Розенброка (Rosenbrock). Эта функция имеет шесть аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • npoints – число шагов интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • J – якобиан. stiffr(y, x1, x2, acc, D, J, kmax, s) – выдает таблицу результатов (матрицу значений) решения системы обыкновенных дифференциальных уравнений с использованием метода Розенброка (Rosenbrock) переменного шага. Эта функция имеет восемь аргументов: • y – вектор начальных значений искомых функций; • x1 – начальное значение независимой переменной; • x2 – конечное значение независимой переменной; • acc – точность интегрирования; • D – правые части системы уравнений, записанные в векторе-столбце в символьном виде. Каждый элемент вектора – это функция, определяющая первую производную искомой функции; • J – якобиан; • kmax и s – определяют размер переменного шага интегрирования.
Определение типа выражения (Expression type) IsArray(x) IsArray(x) – возвращает 1, если x – вектор или матрица, иначе возвращает x – любое значение, массив или строка. Рассмотрим некоторые примеры.
Определение типа выражения
339
Эта функция наиболее полезна при использовании ее в условном операторе программы.
IsScalar (x) IsScalar (x) – возвращает 1, если x – скаляр, иначе возвращает 0.
IsString (x) IsString (x) – возвращает 1, если x – строка, иначе возвращает 0. 1
UnitsOf (z) UnitsOf (z) – определяет размерность аргумента z.
Возвращает 1, если аргумент z не имеет размерности. Некоторые встроенные функции, например функция для вычисления натурального логарифма ln(x), требуют, чтобы аргумент был безразмерной величиной. Внизу появится предупреждение: Can’t have anything with units or dimensions here (Не могу иметь здесь дело с системой единиц или размерностью).
Чтобы обеспечить безразмерность аргументу функции, достаточно аргумент функции разделить на значение функции UnitsOf для этого аргумента. Для нашего примера это будет выглядеть так:
340
Встроенные функции Mathcad
Функции работы с файлами (File Access) APPENDPRN(''полное имя файла'') APPENDPRN(''полное имя файла'') – добавляет массив данных к существующему файлу, находящемуся в текущем каталоге. Если файл находится в другом каталоге, то следует указать полный путь к файлу. Для правильного действия функции APPENDPRN этот файл должен существовать. Необходимо, чтобы число столбцов в файле и в массиве (матрице) совпадало. Например, матрицу под именем M1 можно дабавить в файл под именем matr.prn, находящимся в каталоге под именем Math_11 на диске C:. Это записывается так: APPENDPRN (''C:\Math_11\matr1.prn''): = M1 По умолчанию APPENDPRN резервирует в столбцах четыре значащих цифры в восьми разрядах. Чтобы изменить это: ¾ щелкните в главном меню по пункту Инструменты (Tools), а затем по пункту Опции таблицы (Options) выпадающего меню. Появится диалоговое окно Опции таблицы; ¾ щелкните по вкладке Переменные (Built-In Variables). В разделе Настройки PRN файла (PRN File Settings) измените значения системных переменных Точность (PRNPRECISION) и Ширина столбца (PRNCOLWIDTH); ¾ щелкните в главном меню по пункту Инструменты, а затем в выпадающем меню по пункту Вычисление (Calculate) или нажмите клавишу F9, чтобы провести модификацию.
SaveColormap (''имя файла'', M) SaveColormap (''имя файла'', M) – сохраняет файл цветовой карты (colormap), содержащий значения в матрице М. Возвращает число строк, записанных в файл. ''имя файла'' – название файла цветовой карты (colormap), размещенного в каталоге cmaps. М – матрица, имеющая три столбца, чьи элементы являются целыми числами между 0 и 255. Значения размещаются так, чтобы они соответствовали созданию цветовой карты (colormap). Например, если gbmap – 2×3 матрица, то: SaveColormap (''grayblue'', gbmap) = 2 A: = LoadColormap (''grayblue'') Матрица М содержит только целые числа в пределах от 0 до 255. Любые не целые значения в матрице М усекаются. Любые значения в матрице М, которые находятся вне области между 0 и 255, увеличиваются до 0 или уменьшаются до 255. После использования функции SaveColormap цветовая карта (colormap) доступна в диалоговом окне 3D Plot Format на вкладке Advanced.
Функции работы с файлами
341
LoadColormap (''имя файла'') LoadColormap (''имя файла'') – загружает таблицу, содержащую значения в файле цветовой карты (colormap). ''имя файла'' – название файла цветовой карты (colormap), размещенного в каталоге cmaps. Функция LoadColormap используется тогда, когда необходимо редактировать цветовую карту (colormap) или использовать ее, чтобы создать новую цветовую карту (colormap). Ниже представлены специализированные функции для чтения файлов изображения в следующих форматах: BMP, JPG, GIF, TGA и PCX.
READ _BLUE (''имя файла''), READ _RED (''имя файла''), READ _GREEN (''имя файла'') READ _BLUE (''имя файла'') – извлечение только синей компоненты из цветного изображения. READ _RED (''имя файла'') – извлечение только красной компоненты из цветного изображения. READ _GREEN (''имя файла'') – извлечение только зеленой компоненты из цветного изображения.
READ _HLS (''имя файла''), READ _HLS_HUE (''имя файла''), READ _HLS_LIGHT (''имя файла''), READ _HLS_SAT (''имя файла'') READ _HLS (''имя файла'') – создает таблицу, в которой цветовая информация в файле представлена соответствующими оттенками, освещенностью и насыщенностью. READ _HLS_HUE (''имя файла'') – извлечение только компоненты оттенка из цветного изображения. READ _HLS_LIGHT (''имя файла'') – извлечение только компоненты освещенности из цветного изображения. READ _HLS_SAT (''имя файла'') – извлечение только компоненты насыщенности из цветного изображения.
READ _HSV (''имя файла''), READ _HSV_HUE (''имя файла''), READ _HSV_VALUE (''имя файла''), READ _HSV_SAT (''имя файла'') READ _HSV (''имя файла'') – создает таблицу, в которой цветовая информация в файле представлена соответствующими оттенками, насыщенностью и значениями.
342
Встроенные функции Mathcad
READ _HSV_HUE (''имя файла'') – извлечение только компоненты оттенка из цветного изображения. READ _HSV_SAT (''имя файла'') – извлечение только компоненты насыщенности из цветного изображения. READ _HSV_VALUE (''имя файла'') – извлечение только компоненты значений из цветного изображения. Имя файла – любое имя пути к файлу BMP. Используйте эти функции таким же образом, как и функцию READBMP, чтобы прочитать изображение.
READBMP(''имя файла'') READBMP(''имя файла'') – создает массив целых чисел между 0 (черным) и 255 (белым), кодирующий представление полутонового изображения рисунка в BMPфайле. На рис. 5.21 представлен процесс создания массива целых чисел, кодирующего полутоновое изображение рисунка.
READ _IMAGE (''имя файла'') READ _IMAGE (''имя файла'') – создает таблицу, содержащую полутоновое представление файла изображения.
READPRN (''имя файла'') READPRN(''имя файла'') – читает массив данных из файла, находящегося в текущем каталоге. Если файл находится в другом каталоге, то следует указать полный путь к файлу. Например:
Если в исходном файле данных были сделаны какие-то изменения, то щелкните по пункту Математика главного меню, а затем по пункту Вычисление выпадающего меню или нажмите клавишу F9, чтобы зафиксировать сделанные изменения.
READRGB(''имя файла'') READRGB(''имя файла'') – читает массив данных из файла, находящегося в текущем каталоге. Если файл находится в другом каталоге, то следует указать полный путь к файлу. Массив данных представляет собой упакованную матрицу, включающую три подматрицы, каждая из которых соответствует красным, зеленым и синим компонентам цветного изображения в файле BMP. Она содержит R-, G- и B-матрицы, упакованные рядом. Каждый элемент подматрицы – целое
Функции работы с файлами
343
Рис. 5.21. Процесс создания массива целых чисел, кодирующего полутоновое изображение рисунка
число между 0 и 255. Первые n/3 столбцы представляют красную компоненту изображения в файле. Вторые и третьи наборы n/3 столбцов представляют зеленые и синие компоненты того же самого изображения. Три соответствующих элемента матрицы, когда принимаются вместе, устанавливают цвет пиксела. Файлы цветного изображения в Mathcad могут иметь следующие форматы: BMP, GIF, JPG, PCX или TGA. Представление цветного изображения в виде трех подматриц обеспечивает большие возможности для манипулирования изображением перед его показом. Перед показом изображения его можно разделить на три отдельные матрицы с n столбцами. После того как файл считан, его можно просмотреть, для этого: ¾ щелкните в свободном месте рабочего листа: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем по пункту Рисунок (Picture) выпадающего меню или нажмите комбинацию клавиш Ctrl+T. Появится шаблон для изображения картинки; ¾ введите в метке в нижнем левом углу шаблона имя матрицы, в которую был считан массив данных цветного изображения рисунка, и щелкните вне шаблона. На рис. 5.22 показан процесс представления изображения в виде матрицы и подматриц основных цветов изображения.
344
Встроенные функции Mathcad
Рис. 5.22. Процесс представления изображения в виде матрицы и подматриц основных цветов изображения
WRITEBMP(''имя файла'') WRITEBMP(''имя файла'') – записывает массив в полутоновый BMP-файл в заданный каталог (папку). Например: WRITEBMP(''D:\Mathcad\Mathcad_11\BUKE.BMP.'')
WRITEPRN(''имя файла'') WRITEPRN(''имя файла'') – записывает массив данных в новый файл, находящийся в текущем каталоге. Если файл будет находиться в другом каталоге, то следует указать полный путь к файлу. Например:
WRITEBMP(''D:\Mathcad\Mathcad_11\BUKE.BMP.'') := N1 По умолчанию функция WRITEPRN записывает данные в столбцы по четыре значащие цифры в восьми разрядах. Чтобы изменить это:
Финансовые функции
345
¾ щелкните в главном меню по пункту Инструменты (Tools), а затем в выпадающем меню по пункту Опции Таблицы (Options). Появится диалоговое окно Опции Таблицы; ¾ щелкните по вкладке Переменные (Built-In Variables) в разделе Настройки PRN файла (PRN File Settings): ¾ измените значения системных переменных Точность (PRNPRECISION) и Ширина столбца (PRNCOLWIDTH); ¾ щелкните в главном меню по пункту Инструменты, а затем в выпадающем меню по пункту Вычисление (Calculate) или нажмите клавишу F9, чтобы провести модификацию.
WRITERGB(''имя файла'') WRITERGB(''имя файла'') – записывает упакованную матрицу, состоящую из красного, зеленого и синего изображений компонентов, в указанный файл, находящийся в текущем каталоге. Если файл будет находиться в другом каталоге, то следует указать полный путь к файлу.
WRITE _HLS(''имя файла''), WRITE _HSV(''имя файла'') WRITE _HLS(''имя файла'') – записывает матрицу BMP-файла, в которой изображение сохранено в формате HLS (цвет-яркость-насыщенность). WRITE _HSV(''имя файла'') – записывает матрицу BMP-файла, в которой изображение сохранено в формате HSV (цвет-насыщенность-значение).
Финансовые функции (Finance) сnper (rate, pv, fv) сnper (rate, pv, fv) – определяет число периодов, требуемых для получения заданного размера капиталовложения в будущем, если известен текущий размер капиталовложения и учетная ставка на период. • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения.
346
Встроенные функции Mathcad
crate (nper, pv, fv) crate (nper, pv, fv) – определяет фиксированную учетную ставку на период, если известен текущий размер капиталовложения, число периодов, требуемых для получения заданного размера капиталовложения в будущем, и размер капиталовложения в будущем: • nper – число периодов, которое должно быть целым положительным числом; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения.
cumint (rate, nper, pv, start, end, [type]) cumint (rate, nper, pv, start, end, [type]) – определяет совокупность выплат, зная процент по ссуде между начальным периодом и периодом окончания для фиксированной процентной ставки, общее количество составления периодов и текущую стоимость ссуды: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом; • pv – текущий размер капиталовложения; • start – начальный период накопления; • end – конечный период накопления; • type () – 0 за оплату, сделанную в конце периода, или 1 в начале. Если опущен, то type = 0. Допустим, что взятая ссуда составляет 80 000 руб. Она имеет ежегодную учетную ставку 6.3%. Ссуда дается на 20 лет. Требуется определить общий размер выплаты по ссуде в течение первого года. Вначале определяем среднемесячную учетную ставку 6.3% /12 = 0.525%. Далее определяем число месяцев, на которые выдается ссуда: 20 . 12=240. Тогда общий размер выплаты по ссуде в течение первого года составит: cumint(0.525%, 20 . 12, 80 000, 1, 12) = –4.981 × 103 или cumint(0.525%, 240, 80 000, 1, 12) = –4.981 × 103 или
Финансовые функции
347
или cumint(.00525, 240, 80 000, 1, 12) = –4.981 × 103 Таким образом, общий размер выплаты по ссуде в течение первого года составит 4981 руб.
cumprn (rate, nper, pv, start, end, [type]) cumprn (rate, nper, pv, start, end, [type]) – определяет совокупный размер оплаты по ссуде между начальным периодом и периодом окончания с фиксированной процентной ставкой, зная общее число составляющих периодов и текущую стоимость ссуды; • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом; • pv – текущий размер капиталовложения; • start – начальный период накопления; • end – конечный период накопления; • type () – 0 за оплату, сделанную в конце периода, или 1 в начале. Если опущен, то type = 0. cumprn(.00525, 240, 80 000, 229, 240) = –6.81 × 103
eff (rate, nper) eff (rate, nper) – определяет эффективную годовую учетную ставку при известной номинальной процентной ставке и числе периодов ежегодно: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .083, или 8.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов.
fv (rate, nper, pmt, [[pv], [type]]) fv (rate, nper, pmt, [[pv], [type]]) – определяет будущую стоимость капиталовложения или ссуды: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .083, или 8.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом;
348
Встроенные функции Mathcad
• pmt – оплата, сделанная в каждом периоде. Она обычно включает капитал и проценты и никакие другие сборы или взносы; • pv () – текущая стоимость ссуды. Если опущена, pv = 0; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0.
fvadj (prin, v) fvadj (prin, v) – определяет будущую стоимость капиталовложений после применения ряда ставок сложного процента: • prin – начальный базис; • v – вектор, представляющий процентные ставки, каждая из которых применяется над тем же самым интервалом времени. Используйте fvadj, чтобы вычислить будущую стоимость капиталовложения с переменной или корректируемой процентной ставкой.
fvc (rate, v) fvc (rate, v) – определяет будущую стоимость ряда потоков наличности, встречающихся равномерно c фиксированной процентной ставкой: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • v – вектор потоков наличности, назначенных равномерно. fvc предполагает, что оплата сделана в конце периода.
ipmt (rate, per, nper, pv, [[fv], [type]]) ipmt (rate, per, nper, pv, [[fv], [type]]) – определяет процентные платежи капиталовложения или ссуды для данного периода, основанного на периодических, постоянных платежах над данным номером составления периодов, использующих фиксированную учетную ставку и точно установленную будущую стоимость: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • per – период, для которого вы хотите найти процент. Он должен быть положительным целым числом; • nper – число периодов, которое должно быть целым положительным числом; • pv – текущая стоимость капиталовложения;
Финансовые функции
349
• fv (необязательный) – будущая стоимость капиталовложения. Если опущена, fv = 0; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0.
irr (v [,guess]) irr (v [,guess]) – определяет внутреннюю ставку дохода для ряда потоков наличности, распределяемых равномерно: • v – вектор потоков наличности, распределяемых равномерно, который должен иметь по крайней мере один положительный и один отрицательный номер в v; • guess (необязательный) – числовая стоимость, предполагаемый ответ. Если опущена, то guess = 0.1 (10%). Если функция irr не может найти результат, который определяется с точностью 1 × 10 -5 процентов после 20 итераций, то возвращается погрешность. Если это случается, то используйте другой предполагаемый ответ, другое guess. Допустим, что вы начинаете бизнес и определяете, что начальные капиталовложения составят 75 000 руб. Ожидается получить доход в первые три года соответственно: 20 000, 30 000 и 45 000. Определить внутреннюю ставку возврата после трех лет.
Внутренняя ставка возврата после трех лет составит 11.2%.
mirr (v, fin_rate, rein_rate) mirr (v, fin_rate, rein_rate) – определяет модифицированную внутреннюю v – вектор потоков наличности, распределяемых равномерно, который должен иметь по крайней мере один положительный и один отрицательный номер в v: • v – вектор потоков наличности, распределяемых равномерно, который должен иметь по крайней мере один положительный и один отрицательный номер в v; • fin_rate – финансовая ставка, подлежащая оплате на заимствованных потоках наличности;
350
Встроенные функции Mathcad
• rein_rate – реинвестиционная ставка, заработанная на потоках наличности, поскольку она повторно вкладывается. Допустим, что вы начинаете бизнес и определяете, что начальные капиталовложения составят 75 000 руб. с финансовой ставкой размером в 8.5%. Ожидается получить доход в первые три года соответственно: 20 000, 30 000 и 45 000, и вы повторно вкладываете прибыль каждый год в размере 10.0%. Определить размер модифицированной внутренней ставки возврата.
Модифицированная внутренняя ставка возврата составит 10,6%.
nom (rate, nper) nom (rate, nper) – определяет номинальную учетную ставку. > 0: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом. 20-летняя ссуда или капиталовложение с эффективной процентной ставкой 8.6% имеют номинальную учетную ставку.
nper (rate, pmt, pv, [[fv], [type]]) nper (rate, pmt, pv, [[fv], [type]]) – определяет число периодов для капиталовложения или ссуды, основанной на периодических, постоянных платежах, использующих фиксированную учетную ставку и точно установленную текущую стоимость: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • pmt – оплата в каждом периоде, которая включает капитал и проценты, но никакие другие сборы или взносы; • pv – текущий размер капиталовложения;
Финансовые функции
351
• fv – будущий размер капиталовложения; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0.
npv (rate, v) npv (rate, v) – определяет текущую стоимость сети данного капиталовложения, если известна учетная ставка и ряд потоков наличности, встречающихся равномерно, при этом оплата проводится в конце периода: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • v – вектор потоков наличности, назначенных равномерно.
pmt (rate, nper, pv, [[fv], [type]]) pmt (rate, nper, pv, [[fv], [type]]) – определяет плату за капиталовложение или ссуду, основанную на периодических, постоянных платежах над данным номером составления периодов, использующих фиксированную учетную ставку и точно установленную текущую стоимость: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0. Допустим, что 12-летняя местная ссуда под недвижимость размером 80 000 руб. имеет годовую учетную ставку 5.25%. Определить ежемесячную плату:
352
Встроенные функции Mathcad
ppmt (rate, per, nper, pv, [[fv], [type]] ppmt (rate, per, nper, pv, [[fv], [type]] – определяет оплату капиталовложения или ссуду для данного периода, основанного на периодических, постоянных платежах над данным номером составления периодов, использующих фиксированную учетную ставку и точно установленную будущую стоимость: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • per – период, для которого вы хотите найти процент, который должен быть положительным целым числом; • nper – число периодов, которое должно быть целым положительным числом; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0. Допустим, что семилетняя местная ссуда под недвижимость размером 45 000 руб. имеет годовую учетную ставку 8.75%. Определить полный взнос в течение первого месяца ссуды:
pv (rate, nper, pmt, [[fv], [type]]) pv (rate, nper, pmt, [[fv], [type]]) – определяет текущую стоимость капиталовложения или ссуды, основанной на периодических, постоянных платежах с известным числом периодов, используя фиксированную учетную ставку и точно установленную оплату: • rate – фиксированная учетная ставка, которая может быть представлена в виде десятичной дроби, например годовая учетная ставка равна .063, или 6.3%. Можно определить и месячную учетную ставку, поделив годовую учетную ставку на число месяцев в году; • nper – число периодов, которое должно быть целым положительным числом; • pmt – оплата в каждом периоде, которая включает капитал и проценты, исключая другие сборы или взносы; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0.
Функции преобразования Фурье
353
Результат – отрицательная величина, так как они представляют деньги, которые вы оплатили бы.
rate (nper, pmt, pv, [[fv], [type], [guess]]) rate (nper, pmt, pv, [[fv], [type], [guess]]) – определяет учетную ставку на период капиталовложения или ссуды над точно установленным номером составления данных периодов, периодическая, постоянная оплата и точно установленная текущая стоимость: • nper – число периодов, которое должно быть целым положительным числом; • pmt – оплата в каждом периоде, которая включает капитал и проценты, исключая другие сборы или взносы; • pv – текущий размер капиталовложения; • fv – будущий размер капиталовложения; • type () – 0 при оплате, сделанной в конце периода, или 1 для начала. Если опущено, тип = 0. • guess (необязательный) – числовая стоимость, предполагаемый ответ. Если опущена, то guess = 0.1 (10%). Определить ежемесячную учетную ставку для четырехлетней ссуды размером 8000 руб. с ежемесячными платежами 175. rate[(12 . 4), –175, 8000] = 2.009 × 10–3
Функции преобразования Фурье (Fourier Transform ) CFFT(A), cfft(A) CFFT(A) – возвращает преобразование Фурье вектора или матрицы. Результат будет иметь ту же размерность, что и A. Если A есть вектор, результат вычисляется по формуле:
где n – число элементов в векторе; i – мнимая единица. Для векторов, имеющих иное число элементов, а также для выполнения двумерного преобразования Фурье используйте функцию CFFT. cfft(A) – преобразование Фурье вещественного или комплексного массива A. Возвращает преобразование вектора или матрицы. Результат будет иметь ту же размерность, что и A. Если A есть вектор, результат вычисляется по формуле:
Встроенные функции Mathcad
354 .
В случае, когда A является вещественным вектором с числом элементов 2m, где m > 2, рекомендуется использовать функцию fft. Для матричных аргументов cfft возвращает двумерное преобразование Фурье.
FFT(v), fft(v) FFT(v) – возвращает быстрое преобразование Фурье вектора. Результатом является вектор длины 1+2m-1, чей k-ый элемент определяется по формуле: . Вектор v должен быть вещественным и иметь 2n элементов (m >2). fft(v) – возвращает быстрое преобразование Фурье вектора. v должен быть вещественным с 2n элементами, где n – целое число. Возвращает вектор размера 2n-1 + 1.
ICFFT(B), icfft(B) ICFFT(B) – возвращает обратное преобразование Фурье, соответствующее функции CFFT; icfft(B) – возвращает обратное преобразование Фурье, соответствующее fft; а также A, если B = cfft(A). B может быть вектором либо матрицей. Для матричных аргументов CFFT возвращает двумерное преобразование Фурье. Как FFT, так и CFFT возвращают векторы, чьи элементы могут являться, например, комплексными амплитудами, соответствующими различным частотам в исследуемом сигнале. Чтобы определить фактическое соответствие, необходимо знать частоту измерения исходного сигнала и число этих измерений исходного сигнала. Если все параметры известны, то частота, соответствующая j-му коэффициенту, равна ck = j . fS / N, где fs – частота измерений, N – число измерений.
IFFT(u), ifft(u) IFFT(u) – возвращает обратное преобразование Фурье, соответствующее функции FFT. Результатом является вектор длины 2m, чей k-ый элемент определяется по формуле:
u должен быть вектором длины 1+2m-1, где m > 2.
Функции преобразования Фурье
355
Используйте эту функцию, когда известно, что обращается преобразование Фурье вещественных данных. В противном случае используйте функцию ICFFT. u может быть вектором или матрицей. ifft(u) – возвращает обратное преобразование Фурье, соответствующее fft. Результатом является вектор длины 2m, чей k-ый элемент определяется по формуле:
u должен быть вектором длины 1+2m-1, где m > 2. Используйте эту функцию, если известно, что производится обратное преобразование Фурье вещественных данных. В противном случае применяйте icfft. Обращение fft. возвращает v, если u = fft(v). Одно из назначений преобразования Фурье – выделять частоты регулярных составляющих сигнала, зашумленного помехами. Сформируем сигнал, содержащий регулярные составляющие с частотами 10 и 40 Гц и случайную компоненту с нулевым средним, используя встроенную функцию rnd(…). На рис. 5.23 fourier представлены результаты преобразования Фурье в графическом виде.
Рис. 5.23. Графическое представление результатов выполнения преобразования Фурье с использованием встроенной функции fft(v)
Следует обратить внимание на то, что при создании шума использована встроенная функция. Для ее ввода:
356
Встроенные функции Mathcad
¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Функция (Function) или нажмите комбинацию клавиш Ctrl+E. В обоих случаях появится диалоговое окно Вставить функцию (Insert Function); ¾ найдите в левой части диалогового окна списка Категория (Function Category) категорию Случайные числа (Random Numbers) и щелкните по ней мышью. В правой части диалогового окна в списке Имя (Function Name) появится большой перечень функций, предназначенных для моделирования того или иного распределения; ¾ щелкните, например: функция rnd(x) для моделирования равномерного закона распределения случайных чисел; ¾ щелкните по кнопке ОК. В месте установки визира появится шаблон этой функции. Ее аргумент функции определяет диапазон моделирования случайных чисел в интервале [0, x]. На рис. 5.24 представлены результаты преобразования Фурье в табличном виде; такое изображение менее информативно по сравнению с графическим.
Рис. 5.24. Табличное представление результатов выполнения преобразования Фурье с использованием встроенной функции fft(v)
Гиперболические функции
357
Функции многогранников (Graph) Polyhedron (S1) Polyhedron (S1) строит однородный многогранник в соответствии с кодом многогранника или символом Wythoff.
PolyLookup (n) PolyLookup (n) определяет вектор, содержащий имя, двойное имя и Wythoff-символ для указанного номера (n) многогранника. Для построения того или иного многогранника с использованием функции Polyhedron: ¾ щелкните в пустом месте рабочего листа; ¾ щелкните по пункту Graph (График) главного меню, а затем по пункту Surface Plot (График поверхности) выпадающего меню или нажмите комбинацию клавиш Ctrl+2. Появится шаблон графика; ¾ введите в метке шаблона графика функцию Polyhedron соответствующего номера или Wythoff символа. Например: Polyhedron(''#6'') или Polyhedron(''3|2 4'') ¾ щелкните мышкой вне пределов графика. На рис. 5.25 даны примеры построения многогранников с помощью функции Polyhedron. На рис. 5.26 предствлены некоторые встроенные многоугольники polyhedron.
Гиперболические функции (Hyperbolic) acosh(z), acoth(z), acsch(z), asech(z), asinh(z), atanh(z) acosh(z) – обратный гиперболический косинус; acoth(z) – обратный гиперболический котангенс; acsch(z) – обратный гиперболический косеканс; asech(z) – обратный гиперболический секанс; asinh(z) – обратный гиперболический синус; atanh(z) – обратный гиперболический тангенс. Результатом выполнения функций является действительная часть комплексного числа z.
358
Встроенные функции Mathcad
Рис. 5.25. Примеры построения многогранников с помощью функции Polyhedron
Рис. 5.26. Некоторые встроенные многоугольники Polyhedron
Функции обработки изображения
359
sinh(z), cosh(z), tanh(z), sech(z), csch(z), coth(z) sinh(z) – гиперболический синус; sinh(x) = (ex – e–x) / 2 cosh(z) – гиперболический косинус; cosh(x) = (ex + e–x) / 2 tanh(z) – гиперболический тангенс; tanh(x) = (ex – e–x) / (ex + e–x) sech(z) – гиперболический секанс; sech(x) = 1 / cosh(x) csch(z) – гиперболический косеканс; csch(x) = 1 / sinh(x) coth(z) – гиперболический котангенс; coth(x) = 1 / tanh(x)/ Аргумент x должен быть скаляром.
Функции обработки изображения (Image Processing) Обработка изображения может быть выполнена в четыре этапа: • чтение изображения в матрицу; • выполнение математических преобразований на матрице; • отображение результирующего изображения; • сохранение изображения.
READRGB (''имя файла'') Первый этап – чтение изображения в матрицу – выполняется путем считывания данных с диска в матрицу. Имеются два режима: • использование встроенной функции READRGB для создания матрицы, соответствующей файлу. Например: M: = READRGB (''имя файла''); • использование встроенной функции READBMP для создания матрицы, соответствующей полутоновому представлению специфического файла. Например: M: = READBMP (''имя файла'').
Встроенные функции Mathcad
360
Имена встроенных функций должны быть написаны в верхнем регистре. Для использования READRGB с целью создания матрицы, содержащей изображение, выполните следующие операции: ¾ разделите матрицу на красные, зеленые и синие компоненты, как показано в примере ниже: M:=READRGB(test2) M_red:=submatix(M,1,rows(M),1,cols(m)/3) M_green:=submatix(M,1,rows(M),cols(m)/3+1,2*cols(m)/3) M_blue:=submatix(M,1,rows(M),2*cols(m)/3+1,cols(m));
¾ щелкните мышкой там, где хотите поместить изображение, и выберите пункт Рисунок из выпадающего меню пункта Вставить главного меню; ¾ напечатайте названия (имена) метки-заполнителя.
READBMP (''имя файла'') Для использования READBMP в целях создания матрицы, содержащей изображение, выполните следующие операции: ¾ щелкните мышью в месте, где хотите разместить изображение; ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Рисунок (Picture). Появится шаблон для рисунка с меткой в нижнем левом углу; ¾ напечатайте имя матрицы на месте метки. Или, если хотите отображать только красные компоненты, включите все три матрицы; при этом зеленые и синие должны содержать нули. Если позже захотите повторно объединить три субматрицы, создайте и используйте следующую функцию, основанную на функции приращения: augment(X, Y, Z): =augment (X, augment (Y, Z)). Если вы считали изображение в матрицу, используя READBMP или READRGB, то можете применить все доступные математические инструментальные средства, чтобы изменить это изображение: M := READBMP (''имя файла'') N := MT; • инвертировать изображения P := 255 – M; • изменить контрастность. Кроме того, эта категория функций включает большинство функции категории Доступ к файлам (File Access) – см. выше.
Функции интерполяции и экстраполяции
361
Функции интерполяции и экстраполяции (Interpolation and Prediction) Mathcad включает несколько методов интерполяции и предсказания: • линейная интерполяция – соединение точек прямой линией; • кубическая сплайновая интерполяция – соединение точек с использованием кубических линий; • B-сплайн интерполяция – соединение точек с использованием многочленов определенной степени в данных узлах; • многомерная кубическая сплайновая интерполяция – создание поверхности, которая проходит через сетку точек; • линейное предсказание (экстраполяция) – определение значений вне набора данных.
cspline(vx, vy) cspline(vx, vy) – возвращает вектор коэффициентов кубического сплайна vs, используемый описанной ниже функцией interp для построения кубического сплайна, интерполирующего данные, представленные в векторах vx и vy. На поведение сплайна на концах условий не налагается. Вектор vs становится первым параметром функции interp.
interp(vs, vx, vy, x) interp(vs, vx, vy, x) – возвращает интерполированное значение в точке x, полученное с помощью кубических сплайнов на основе данных, представленных в векторах vx и vy. Вектор vs есть результат выполнения одной из функций: cspline, lspline, pspline, loess или regress. На рис. 5.27 приведены примеры интерполяции исходных данных методом кубического сплайна с использованием встроенных функций cspline(Vx,Vy) и interp(Vk,Vx,Vy,x). Кубическая сплайновая интерполяция проводит кривую таким способом, что первая и вторая производные кривой являются непрерывными в каждой точке. Она использует информацию трех смежных точек и формирует кубическое полиномиальное прохождение через эти точки. Затем все кубические многочлены связываются вместе, чтобы сформировать окончательную кривую.
linterp(vx, vy, x) linterp(vx, vy, x) – возвращает оценку значения в точке x, вычисленную методом линейной интерполяции на основе значений из векторов vx и vy; • vx есть вещественный вектор, элементы которого должны идти в порядке возрастания и соответствовать значениям х;
Встроенные функции Mathcad
362
Рис. 5.27. Интерполяция исходных данных методом кубического сплайна с использованием встроенных функций cspline(Vx,Vy) и interp(Vk,Vx,Vy,x)
• vy есть вещественный вектор одного размера с vx. Его элементы соответствуют значениям y; • x есть значение переменной х, в которой нужно проинтерполировать значение у. Предполагается, что x лежит в интервале изменения элементов vx.
lspline(vx, vy) lspline(vx, vy) – возвращает вектор vs, используемый описанной функцией interp для построения кубического сплайна, интерполирующего данные, представленные в векторах vx и vy. Сплайн на концах будет иметь равные нулю вторую и третью производные.
pspline(vx, vy) pspline(vx, vy) – возвращает вектор vs, используемый описанной функцией interp – предназначена для построения кубического сплайна, интерполирующего данные, представленные в векторах vx и vy. Сплайн на концах будет иметь равную нулю третью производную. На рис. 5.28 дано графическое представление результатов интерполяции исходных данных различными методами с использованием встроенных функций cspline(Vx,Vy), pspline(Vx,Vy), lspline(Vx,Vy) и interp(Vk,Vx,Vy,x).
Логарифмические и экспоненциальные функции
363
Рис. 5.28. Графическое представление результатов интерполяции исходных данных различными методами с использованием встроенных функций pspline(Vx,Vy), lspline(Vx,Vy) и interp(Vk,Vx,Vy,x)
Логарифмические и экспоненциальные функции (Log and Exponential) log n(n, x) = ln(x) / ln(n)
exp(z) exp(z) – число e, возведенное в степень z.
log(z,[b]) log(z,[b]) – логарифм z по основанию b, если b опущено, то по основанию 10.
364
Встроенные функции Mathcad
ln(z) ln(z) – логарифм z по основанию e (натуральный логарифм z). Аргумент z должен быть скалярной и безразмерной величиной. Для функций log и ln аргумент z должен быть ненулевым. Для комплексных значений аргумента z логарифмические функции возвращают значения из главной ветви: ln(z) = ln(|z|) + i arg(z).
Функции теории чисел и комбинаторики (Number Theory/Combinatorics) combin (n,k) combin (n,k) – число подмножеств, каждое из которых размером k и может быть сформировано из n объектов, где n ≥ k. Каждое подмножество известно как комбинация. N и k – целые числа ≥ 0.
gcd(A) gcd(A) – наибольший общий делитель: самое большое целое число, на которое делятся все элементы – неотрицательные целые числа – в векторе или матрице A.
lcm(A) lcm(A) – наименьший общий множитель: самое маленькое положительное целое число, которое является сомножителем всех значений в векторе или матрице A. Элементы должны быть неотрицательными целыми числами.
mod(x,y) mod(x,y) – остаточный член при делении x на y. Параметры должны быть вещественными числами. Результат имеет тот же самый знак, что и х.
permut(n,k) permut(n,k) – число способов упорядочения (перестановок) n различных элементов по k, где n >= k. N и k – целые числа >= 0.
Функции плотности вероятности
365
Функции ступенек и условия (Piecewise Continuous) antisymmetric tensore(i,j,k) antisymmetric tensore(i,j,k) – 0, если любые два аргумента равны 1; если они являются четной перестановкой (0 1 2), и –1, если нечетной (0 1 2). i, j и k должны быть целыми числами между 0 и 2 включительно (или между ORIGIN и ORIGIN+2). Это полностью антисимметричный тензор ранга три.
heaviside step(x) heaviside step(x) – ступенчатая функция. Возвращает 1, если x = 0 или x > 0, и 0 в противном случае.
if(cond,x,y) if(cond,x,y) – возвращает x, если логическое условие cond истинно (ненулевое), иначе y.
Kronecker delta(x,y) Kronecker delta(x,y) – возвращает функцию Кронекера: 1, если x = y, иначе 0.
sign(x) sign(x) – возвращает 0, если x = 0, 1 – если x > 0, и –1, если x < 0 (x – вещественное число).
Функции плотности вероятности (Probability Density) Плотность распределения вероятностей случайной величины x есть такая функция p(x), что
и при любых a < b вероятность события a < x < b равна
Встроенные функции Mathcad
366
Функция распределения F(x) случайной величины x, имеющей плотность, связана с плотностью вероятности соотношением , и если F(x) дифференцируема, то . Ниже рассмотрены графики плотности различных распределений вероятностей и функций распределения случайных величин. Одновременно приведены примеры вычисления значений плотности распределения, функции распределения, квантили обратного распределения и вектора случайных чисел для каждого из рассматриваемых распределений. В примерах для экономии места вектор случайных чисел включает только три случайных числа – вектор-столбец случайных чисел.
Бета-распределение dbeta(x,s1,s2) – плотность вероятности бета-распределения с параметрами формы s1, s2 (s1 > 0, s2 > 0, 0 < x < 1): . На рис. 5.29 представлены графики плотностей бета-распределения вероятностей и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Биномиальное распределение dbinom(k,n,p) – плотность вероятности биномиального распределения, в которой k и n – целые числа, удовлетворяющие условию 0 ≤ k ≤ n, p – вещественное число, 0 ≤ p ≤ 1: . На рис. 5.30 представлены графики плотностей биномиального распределения вероятностей и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение Коши dcauchy(x,l,s) – плотность вероятности распределения Коши ,
Функции плотности вероятности
367
Рис. 5.29. Графики плотностей вероятностей бета-распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.30. Графики плотностей вероятностей биномиального распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Встроенные функции Mathcad
368 где s – скалярный параметр (s > 0); x = l + s . tg(y);
y – равномерно распределенная величина в интервале (–π/2, π/2); На рис. 5.31 представлены графики плотностей вероятностей распределения Коши и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение хи-квадрат dchisq(x,d) – плотность вероятности распределения хи-квадрат со степенью свободы d (x > 0, d > 0):
.
На рис. 5.32 представлены графики плотностей вероятностей распределения хи-квадрат и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Экспоненциальное распределение dexp(x,r) – плотность вероятности экспоненциального распределения (r > 0, x > 0): r . exp(–r . x). На рис. 5.33 представлены графики плотностей вероятностей экспоненциального распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение Фишера dF(x,d1,d2) – плотность вероятности распределения Фишера:
, где d1 и d2 – степени свободы (d1 > 0, d2 > 0 и x > 0). На рис. 5.34 представлены графики плотностей вероятностей распределения Фишера и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Функции плотности вероятности
369
Рис. 5.31. Графики плотностей вероятностей распределения Коши и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.32. Графики плотностей вероятностей распределения хи-квадрат и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Встроенные функции Mathcad
370
Рис. 5.33. Графики плотностей вероятностей экспоненциального распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Гамма-распределение dgamma(x,s) – плотность вероятности гамма-распределения: , где s – параметр формы (s > 0, x ≥ 0). На рис. 5.35 представлены графики плотностей вероятностей гамма-распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Геометрическое распределение dgeom(k,p) – плотность вероятности геометрического распределения, в котором p является вероятностью успеха и целым неотрицательным числом (0 < p 0, x > 0). На рис. 5.38 представлены графики плотностей вероятностей логнормального распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Логистическое распределение dlogis(x,l,s) – плотность вероятности логистического распределения
,
где l – параметр местоположения; s – скалярный параметр (s > 0). На рис. 5.39 представлены графики плотностей вероятностей логистического распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Отрицательное биномиальное распределение dnbinom(k,n,p) – плотность вероятности отрицательного биномиального распределения , где n и k – целые числа (n > 0, k > 0, 0 < p ≤ 1). На рис. 5.40 представлены графики плотностей вероятностей отрицательного биномиального распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
374
Встроенные функции Mathcad
Рис. 5.37. Графики плотностей вероятностей гипергеометрического распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.38. Графики плотностей вероятностей логнормального распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Функции плотности вероятности
375
Рис. 5.39. Графики плотностей вероятностей логистического распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.40. Графики плотностей вероятностей отрицательного биномиального распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Встроенные функции Mathcad
376
Нормальное распределение dnorm(x,m,s) – плотность вероятности нормального распределения , где m – среднее; s – стандартное отклонение (s > 0, x > 0). На рис. 5.41 представлены графики плотностей вероятностей нормального распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение Пуассона dpois(k,l) – плотность вероятности распределения Пуассона , где λ и k – неотрицательные числа; На рис. 5.42 представлены графики плотностей вероятностей распределения Пуассона и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение Стьюдента dt(x,d) – плотность вероятности распределения Стьюдента
,
где d – степень свободы (d > 0); x – вещественное число. На рис. 5.43 представлены графики плотностей вероятностей распределения Стьюдента и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Равномерное распределение dunif(x,a,b) – плотность вероятности равномерного распределения , где b и a – границы интервала (a < b, a ≤ x ≤ b).
Функции плотности вероятности
377
Рис. 5.41. Графики плотностей вероятностей нормального распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.42. Графики плотностей вероятностей распределения Пуассона и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
378
Встроенные функции Mathcad
Рис. 5.43. Графики плотностей вероятностей распределения Стьюдента и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
На рис. 5.44 представлены графики плотностей вероятностей равномерного распределения и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Распределение Вейбула dweibull(x,s) – плотность вероятности распределения Вейбула , где s – параметр формы (s > 0, x > 0). На рис. 5.45 представлены графики плотностей вероятностей распределения Вейбула и функций распределения случайной величины для различных значений параметров, а также примеры вычисления этих и других значений.
Функции распределения вероятности (Probability Distribution) cnorm(x,m,s) cnorm(x,m,s) – интеграл от минус бесконечности до x от стандартного нормального распределения, x – вещественное число.
Функции распределения вероятности
379
Рис. 5.44. Графики плотностей вероятностей равномерного распределения и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
Рис. 5.45. Графики плотностей вероятностей распределения Вейбула и функций распределения случайной величины для различных значений параметров и примеры вычисления этих и других значений
380
Встроенные функции Mathcad
pbeta(x,s1,s2) pbeta(x,s1,s2) – значение в точке x функции бета-распределения с параметрами формы s1, s2 (s1 > 0, s2 > 0, 0 < x < 1).
pbinom(k,n,p) pbinom(k,n,p) – значение в точке n функции биномиального распределения для k успехов в серии из n испытаний. k и n – целые числа, удовлетворяющие условию 0 ≤ k ≤ n, p – вещественное число, 0 ≤ p ≤ 1.
pcauchy(x,l,s) pcauchy(x,l,s) – значение в точке x функции распределения Коши.
pchisq(x,d) pchisq(x,d) – значение в точке x функции распределения хи-квадрат.
pexp(x,r) pexp(x,r) – значение в точке x функции экспоненциального распределения.
pF(x,d1,d2) pF(x,d1,d2) – значение в точке x функции распределения Фишера.
pgamma(x,s) pgamma(x,s) – значение в точке x функции гамма-распределения.
pgeom(k,p) pgeom(k,p) – значение в точке х функции геометрического распределения.
phypergeom(m,a,b,n) phypergeom(m,a,b,n) – значение в точке х функции гипергеометрического распределения. m, n, a, b – целые числа (0 ≤ m ≤ a, 0 ≤ n-m ≤ b, 0 ≤ n ≤ a+b).
plnorm(x,m,s) plnorm(x,m,s) – значение в точке x функции логнормального распределения.
Функции, обратные к функциям распределения
381
plogis(x,l,s) plogis(x,l,s) – значение в точке x функции логистического распределения.
pnbinom(k,n,p) pnbinom(k,n,p) – значение в точке n функции отрицательного биномиального распределения.
pnorm(x,m,s) pnorm(x,m,s) – значение в точке x функции нормального распределения.
ppois(k,l) ppois(k,l) – значение для k-ой функции распределения Пуассона.
pt(x,d) pt(x,d) – значение в точке x функции распределения Стьюдента.
punif(x,a,b) punif(x,a,b) – значение в точке x функции равномерного распределения.
pweibull(x,s) pweibull(x,s) – значение в точке x функции распределения Вейбула.
Функции, обратные к функциям распределения Функции, обратные к функциям распределения, обычно называют квантилями. При решении практических задач часто требуется для заданного значения вероятности α найти то значение x случайной величины, при котором F(x) = α. Это значение x называют квантилем. Чтобы вычислить квантиль того или иного распределения, необходимо иметь соответствующие обратные функции распределения. Ниже представлены эти обратные функции распределения. Как можно заметить, перед именем распределения стоит буква q (quantil – квантиль).
qbeta(x,s1,s2) qbeta(x,s1,s2) – квантили обратного бета-распределения.
382
Встроенные функции Mathcad
qbinom(k,n,p) qbinom(k,n,p) – квантили обратного биномиального распределения.
qcauchy(x,l,s) qcauchy(x,l,s) – квантили обратного распределения Коши.
qchisq(x,d) qchisq(x,d) – квантили обратного распределения хи-квадрат.
qexp(x,r) qexp(x,r) – квантили обратного экспоненциального распределения.
qF(x,d1,d2) qF(x,d1,d2) – квантили обратного распределения Фишера.
qgamma(x,s) qgamma(x,s) – квантили обратного гамма-распределения.
qgeom(k,p) qgeom(k,p) – квантили обратного геометрического распределения.
qhypergeom(p,a,b,n) qhypergeom(p,a,b,n) – квантили обратного гипергеометрического распределения. p – вещественное число (0 ≤ p < 1, a ≥ 0, b ≥ 0, 0 ≤ n ≤ a+b).
qlnorm(x,m,s) qlnorm(x,m,s) – квантили обратного логнормального распределения.
qlogis(x,l,s) qlogis(x,l,s) – квантили обратного логистического распределения.
qnbinom(k,n,p) qnbinom(k,n,p) – квантили обратного отрицательного биномиального распределения.
Функции случайных чисел
383
qnorm(x,m,s) qnorm(x,m,s) – квантили обратного нормального распределения.
qpois(k,l) qpois(k,l) – квантили обратного распределения Пуассона.
qt(x,d) qt(x,d) – квантили обратного распределения Стьюдента.
qunif(x,a,b) qunif(x,a,b) – квантили обратного равномерного распределения.
qweibull(x,s) qweibull(x,s) – квантили обратного распределения Вейбула.
Функции случайных чисел (Random Numbers) rbeta(m,s1,s2) rbeta(m,s1,s2) – вектор m случайных чисел бета-распределения с параметрами формы s1, s2 (s1 > 0, s2 > 0).
rbinom(m,n,p) rbinom(m,n,p) – вектор m случайных чисел биномиального распределения, в котором m и n – целые числа, удовлетворяющие условию 0 ≤ m ≤ n, p – вероятность успеха, вещественное число, 0 ≤ p ≤ 1.
rcauchy(m,l,s) rcauchy(m,l,s) – вектор m случайных чисел распределения Коши.
rchisq(m,d) rchisq(m,d) – вектор m случайных чисел распределения хи-квадрат.
rexp(m,r) rexp(m,r) – вектор m случайных чисел экспоненциального распределения.
384
Встроенные функции Mathcad
rF(m,d1,d2) rF(m,d1,d2) – вектор m случайных чисел распределения Фишера.
rgamma(m,s) rgamma(m,s) – вектор m случайных чисел гамма-распределения.
rgeom(m,p) rgeom(m,p) – вектор m случайных чисел геометрического распределения.
rhypergeom(m,a,b,n) rhypergeom(m,a,b,n) – вектор m случайных чисел гипергеометрического распределения, m – целое (m > 0, a ≥ 0, b ≥ 0, 0 ≤ n ≤ a+b).
rlnorm(m,m,s) rlnorm(m,m,s) – вектор m случайных чисел логнормального распределения.
rlogis(m,l,s) rlogis(m,l,s) – вектор m случайных чисел логистического распределения.
rnbinom(m,n,p) rnbinom(m,n,p) – вектор m случайных чисел отрицательного биномиального распределения.
rnorm(m,m,s) rnorm(m,m,s) – вектор m случайных чисел нормального распределения.
rpois(m,l) rpois(m,l) – вектор m случайных чисел распределения Пуассона.
rt(x,d) rt(x,d) – вектор m случайных чисел распределения Стьюдента.
runif(m,a,b) runif(m,a,b) – вектор m случайных чисел равномерного распределения.
Функции регрессии и сглаживания
385
rweibull(m,s) rweibull(m,s) – вектор m случайных чисел распределения Вейбула.
rnd(x) rnd(x) – случайная величина, имеющая равномерное распределение между 0 и x.
Функции регрессии и сглаживания (Regression and Smoothing) genfit(vx,vy,vg,F) genfit(vx,vy,vg,F) – вектор, содержащий параметры, которые делают функцию f от x и n параметров u 0, u 1, …, u n-1, наилучшим образом аппроксимированную к данным в vx и vy. F является функцией, возвращающей вектор из n+1 элемента, содержащий f и его частные производные по его n параметрам; vg – вектор начальных значений для n параметров.
intercept(vx,vy) intercept(vx,vy) – свободный член уравнения регрессии. Равен отрезку, отсекаемому линией регрессии на оси ординат, и определяется по формуле:
.
linfit(vx,vy,F) linfit(vx,vy,F) – коэффициенты уравнения регрессии.
edsmooth(vx,n) edsmooth(vx,n) – m-мерный вектор vy, сглаживающий вектор vx методом скользящей медианы, vx – m-мерный вектор вещественных чисел, n – ширина окна, по которому происходит сглаживание.
Встроенные функции Mathcad
386
regress(vx,vy,n) regress(vx,vy,n) – вектор, требующий interp для нахождения полинома порядка n, который наилучшим образом приближает данные из vx и vy.
slope (vx,vy) slope (vx,vy) – коэффициент линейного уравнения регрессии. Определяет тангенс угла наклона линии регрессии к оси x. Определяется по формуле
.
stdev(v) stdev(v) – стандартное отклонение элементов вектора.
Функции решения алгебраических уравнений и систем (Solving) find(x,y,…) find(x,y,…) – возвращает значения x, y, …, удовлетворяющие ограничениям: равенствам и неравенствам, которые определены в блоке решения уравнений. Число уравнений должно равняться числу неизвестных x, y, … Когда блок решения уравнений ищет одну неизвестную, функция find возвращает скаляр. В ином случае она возвращает вектор, первым элементом которого является искомое значение x, вторым элементом – y и т. д. Перед использованием этой функции необходимо задать начальное приближение для каждой неизвестной. Если система имеет несколько решений, то найденное решение определяется заданным начальным приближением.
maximize(f,var1,var2,…) maximize(f,var1,var2,…) – возвращает значения var1, var2, …, которые обеспечивают функции f максимальное значение. Перед использованием этой функции
Функции решения алгебраических уравнений и систем
387
необходимо задать начальное приближение для каждой неизвестной и, если ограничения даны, ключевое слово Given.
minerr(x,y,…) minerr(x,y,…) – возвращает значения x, y, … решения уравнений, наиболее близкие к решению системы уравнений. x, y, … есть скалярные переменные, значения которых ищутся в системе уравнений. Если ищется одна неизвестная, то функция Minerr возвращает скаляр. В ином случае она возвращает вектор, первым элементом которого является искомое значение неизвестной x, вторым элементом – y и т. д. Перед использованием этой функции необходимо задать начальное приближение для каждой неизвестной и ключевое слово Given. Если система имеет несколько решений, то найденное определяется заданным начальным приближением.
minimize(f,var1,var2,…) minimize(f,var1,var2,…) – возвращает значения var1, var2, …, которые обеспечивают функции f минимальное значение. Перед использованием этой функции необходимо задать начальное приближение для каждой неизвестной и, если ограничения даны, ключевое слово Given.
polyroots(v) polyroots(v) – находит корни полинома и возвращает вектор, содержащий все корни полинома, чьи коэффициенты находятся в v. Предварительно коэффициенты полинома должны быть представлены в виде вектора (рис. 5.46). Для представления коэффициентов полинома в виде вектора необходимо использовать диалоговое окно Вставить матрицу (Insert Matrix). При графическом решении можно выбрать различное оформление графика. Для этого щелкните дважды в области графика и в появившемся диалоговом окне Formatting Currently Selected X-Y Plot (Выбор текущих форматных установок Х-У графика) выберите нужные установки.
root(f(x),x) root(f(x),x) – находит корень уравнения с одним неизвестным. Возвращает значение x, при котором функция f(x) равна нулю. Использование функции root требует предварительного задания начального приближения. Если исследуемая функция имеет много корней, то найденный корень будет зависеть от начального приближения. Если оно расположено близко к локальному экстремуму функции f(x), функция root может не найти корня, либо найденный корень будет далеко от начального приближения. Любое уравнение с одной неизвестной выглядит следующим образом: f(x) = g(x). Его можно преобразовать так, чтобы получилось равенство с нулем в правой части:
388
Встроенные функции Mathcad
Рис. 5.46. Нахождение корней полинома с помощью функции polyroots(v) и графически
f(x) – g(x) = 0. На рис. 5.47 дано решение нелинейного уравнения с одним неизвестным графически и с использованием встроенной функции root(f(x),x).
Функции сортировки (Sorting) csort(A,n) csort(A,n) – сортирует строки матрицы A таким образом, чтобы расположить элементы столбца n в порядке возрастания. Нумерация столбцов по умолчанию начинается с нуля.
Функции сортировки
389
Рис. 5.47. Нахождение корня нелинейного уравнения с одним неизвестным графически и с помощью функции root(f(x),x)
reverse(v) reverse(v) – возвращает элементы вектора v, или ряды матрицы, в обратном порядке.
rsort(A,n) rsort(A,n) – сортирует столбцы матрицы A таким образом, чтобы расположить элементы строки n в порядке возрастания. Нумерация строк по умолчанию начинается с нуля.
Встроенные функции Mathcad
390
sort(v) sort(v) – возвращает элементы вектора v, отсортированные в порядке возрастания.
Специальные функции (Special) erf(x) erf(x) – возвращает функцию ошибки;
для |x| < 4 используется область от n = 0 до 100.
erfc(x) erfc(x) – возвращает интеграл вероятности ошибки для реального, положительного скаляра. erfc(x) := 1 – enf(x)
Gamma(z) Gamma(z) – гамма-функция Эйлера Г(z) , где z – комплексный или вещественный скаляр. При z = 0, –1, –2, … гамма-функция не определена.
Gamma(a, x) Gamma(a, x) – неполная гамма-функция Эйлера Г(a,x) со степенью a – Г(a,x)
Статистические функции
391
, где x и a – вещественные положительные скаляры.
Статистические функции (Statistics) Допустим, что мы имеем вектор X – вектор независимой переменной и вектор Y – вектор зависимой переменной, который зависит от вектора X.
corr(A,B) corr(A,B) – коэффициент корреляции элементов в двух массивах размерности m × n A и B; corr(X, Y) = 0.988.
cvar(A,B) cvar(A,B) – коэффициент ковариации элементов в двух массивах размерности m × n A и B;
gmean(A, B, C, ...) gmean(A, B, C, ...) – геометрическое среднее значений элементов A, B, C, ... – m × n массивы или скаляры. Элементы A, B, C, ... должны быть вещественными и положительными. , где М – массив, созданный из функциональных аргументов A, B, C, …
Встроенные функции Mathcad
392
Для массива M элементы должны быть вещественными и положительными. Геометрическая средняя полезна для вычисления темпов роста. hmean (A, B, C, ...) < gmean (A, B, C, ...) < mean (A, B, C, ...)
hist(int,V) hist(int,V) – вектор частот попадания данных V в заданные интервалы int (служит для построения гистограмм). В функции hist(int,V) вектор int должен содержать значения границ, а число попаданий данных из вектора V необходимо подсчитывать. Если строится гистограмма из n элементов, то вектор int должен содержать n+1 элементов. Функция возвращает вектор из n элементов, числовые значения которых можно использовать для графического построения гистограмм.
hmean(A, B, C, ...) hmean(A, B, C, ...) – гармоническая средняя значений элементов A, B, C, ... – m × n массивы или скаляры. Элементы A, B, C, ... должны быть вещественными и положительными. Для массива элементы должны быть вещественными и положительными. Гармоническая средняя – обратная величина средней арифметической обратных величин. hmean (A, B, C, ...) < gmean (A, B, C, ...) < mean (A, B, C, ...)
, где М – массив, созданный из функциональных аргументов A, B, C, ...
kurt(A, B, C, …) kurt(A, B, C,…) – функция, определяющая эксцесс, в которой A, B, C, ... – скаляры (элементы массива). Возвращаемое значение – скаляр.
Статистические функции
393
Массив M создан из функциональных параметров A, B, C, ... Он должен иметь по крайней мере четыре элемента. Стандартное отклонение массива М не должно равняться нулю. Эксцесс – скалярная характеристика, с помощью которой определяется островершинность графика плотности распределения по сравнению с нормальным распределением. Если kurt (M) > 0, то мы имеем более острую вершину, чем в нормальном распределении. Если kurt (M) < 0, то мы имеем относительно плоское распределение. Если kurt (M) = 1, то это соответствует нормальному распределению.
mean(V) mean(V) – среднее значение элементов вектора V или массива. mean(X) = 3 mean(Y) = 3.198
median(A, B, C, ...) median (A, B, C, ...) возвращает медиану элементовA, B, C, ... массива. A, B, C, ... – массивы или скаляры. Медиана – значение, выше и ниже которого имеется равное число значений. Если имеется четное число значений, это – среднее арифметическое из двух центральных значений. median(X) = 3
median(Y) = 2.98
mode(A, B, C, ...) mode (A, B, C, ...) возвращает то значение из множества элементов A, B, C, ..., которое встречается наиболее часто. A, B, C, ... – скаляры (элементы массива). Если никакое значение в A, B, C, ... не повторяется более часто, чем любое другое, вы увидите сообщение об ошибке.
394
Встроенные функции Mathcad
skew(А,B,C, …) skew(А,B,C,…) – асимметрия множества значений. A, B, C, ... – скаляры (элементы массива). Массив создан из функциональных параметров. Он должен иметь по крайней мере три элемента.
Стандартное отклонение массива М не должно равняться нулю. Асимметрия множества значений определяет смещение значений элементов массива относительно среднего значения. skew (M) = 0 указывает, что распределение симметрично относительно своего среднего. skew (M) > 0 указывает, что большинство значений распределения размещено левее среднего значения. skew (M) < 0 указывает, что большинство значений распределения размещено правее среднего значения. skew (M) = 0 соответствует нормальному распределению.
stderr (vx, vy) stderr (vx, vy) – стандартная ошибка, связанная с простой линейной регрессией элементов, описанных векторами vx и vy.
Stdev(A) Stdev(A) – среднеквадратичное отклонение элементов вектора A.
stdev(V) stdev(V) – задает стандартное отклонение элементов вектора V.
Встроенные строковые функции
395
Var(A, B, C, …) Var(A, B, C,…) – шаблон дисперсии (вариации) для элементов A, B, C,… вектора
, где М – массив, созданный из функциональных аргументов A, B, C, …
var(A, B, C, …) var(A, B, C, …) – дисперсия (вариация) для элементов A, B, C, … массива M , где М – массив, созданный из функциональных аргументов A, B, C, … Var(Y) = 3.384 Var(0.82, 2.15,4.8,5.24) = 3.384
Встроенные строковые функции (String) Ниже представлены функции, которые нередко используются при работе со строковыми данными. Их часто называют строковыми функциями.
concat (S1, S2) concat (S1, S2) – присоединяет строку S2 к концу строки S1 и возвращает вместе две строки.
error (''сообщение'') error (''сообщение'') – возвращает сообщение, если в выражении ошибка.
396
Встроенные функции Mathcad
В данном примере если x ≤ 0, то появится сообщение об ошибке вида x < or = 0.
IsString (x) IsString (x) – возвращает 1, если x – строка, иначе возвращает 0. IsString(S3) = 1 IsString(S) = 0
strlen (S) strlen (S) – определяет число символов в строке S. Возвращает целое число. В число символов в строке включаются и пробелы, если таковые имеются.
substr (S, n, m) substr (S, n, m) – извлекает подстроку S, начинающуюся с символа в позиции n и имеющую m символов. Параметры m и n должны быть целыми числами. Первый символ в строке стоит в позиции 0.
search (S, SubS, x) search (S, SubS, x) – находит исходное положение подстроки SubS в S, начинающемся с позиции x в S.
str2num (S) str2num (S) – преобразовывает строку чисел S в константу.
num2str (x) num2str (x) – преобразовывает число x в строку.
str2vec (S) str2vec (S) – преобразовывает строку S в вектор в кодах ASCII.
Тригонометрические функции
397
vec2str (v) vec2str (v) – преобразовывает вектор в кодах ASCII в строку.
Чтобы ввести строку на рабочем листе, можно использовать три способа: • установите указатель мышки в месте ввода строки, щелкните по пункту Вставить (Insert) главного меню, а затем по пункту Текстовая область (Text region). Появится начальный шаблон для ввода строки, который по мере ввода текста будет расширяться; • установите указатель мышки в месте ввода строки, нажмите комбинацию клавиш Shift+'' (двойная кавычка). Появится начальный шаблон для ввода строки, который по мере ввода текста будет расширяться; • введите имя переменной и знак присваивания. Нажмите комбинацию клавиш Shift+'' (двойная кавычка). Появятся две двойные кавычки и маркер ввода строки между ними. Вводите строку. Чтобы ввести русский текст в строке, необходимо вначале создать текстовый шаблон одним из первых двух способов, а затем, используя раскрывающийся список Шрифт в панели инструментов Форматирование (Formatting), выбрать русский шрифт, например Times New Roman Cyr.
Тригонометрические функции (Trigonometric) sin(z) – синус; cos(z) – косинус; tan(z) – тангенс; sec(z) – секанс; csc(z) – косеканс; cot(z) – котангенс; Аргумент z для этих функций должен быть в радианах и числом (вещественным, комплексным или мнимым). Для комплексных значений sin(z), cos(z), tan(z) вычисляются по формулам:
Встроенные функции Mathcad
398
Рис. 5.48. Примеры использования встроенных строковых функций
sin(z)=(eiz -e-iz)/2i; cos(z)=(eiz +e-iz)/2; tan(z)=(eiz -e-iz)/((eiz +e-iz)i); asin (z) – обратный тригонометрический синус; acos (z) – обратный тригонометрический косинус; asec(z) – обратный тригонометрический секанс; acsc(z) – обратный тригонометрический косеканс; acot(z) – обратный тригонометрический котангенс; atan(z) – обратный тригонометрический тангенс; asin(z), atan(z), asec(z), acsc(z), acot(z)- возвращают углы в радианах между π и π/2, когда z – вещественное число; acos(z) – возвращает угол в радианах между 0 и π, когда z – вещественное число.
Функции округления и работы с частью числа (Truncation and Round-Off ) ceil(x) ceil(x) – возвращает наименьшее целое, большее или равное x. х должно быть вещественным числом.
Функции, определенные пользователем
399
floor(x) floor(x) – возвращает наибольшее целое, меньшее или равное х. х должно быть вещественным числом.
round(x,n) round(x,n) – округляет вещественное число x до n знаков справа от десятичной точки. Если n опущен, x округляется до ближайшего целого числа. Если n < 0, x округляется до n знаков слева от десятичной точки; trunc(x) – возвращает целочисленную часть вещественного числа x, удаляя дробную часть.
Функции, определенные пользователем (User defined) kronecker (m,n) kronecker (m,n) – произведение Кронекера двух квадратных матриц m, n. Например:
Psi(z) Psi(z) – дигамма функции комплексного числа. Например:
400
Встроенные функции Mathcad
Функции работы с векторами и матрицами (Vector and Matrix) augment(A,B) augment(A,B) – матрица, сформированная путем размещения массива B справа от массива A. А и B должны иметь то же самое число строк.
cholesky (M) cholesky (M) опеределяет нижнюю треугольную матрицу L, разлагая симметричную матрицу М методом Холецкого. L ⋅ LT = M.
cols(M) cols(M) – число столбцов матрицы М.
cond1 (M), cond2 (M), conde (M), condi (M) Условное число определяется как произведение матричных норм M и M-1. cond1 (M) возвращает число обусловленности квадратной матрицы M, основанное на L1.
Функции работы с векторами и матрицами
401
cond2 (M) возвращает число обусловленности квадратной матрицы M, основанное на L2. cond2(M) = 7.425 norm2(M) . norm2(M–1) = 7.425 conde (M) возвращает число обусловленности квадратной матрицы M, основанное на евклидовой норме. conde(M) = 8.526 norme(M) . norme(M–1) = 8.526 condi (M) возвращает число обусловленности квадратной матрицы M, основанное на норме бесконечности. condi(M) = 14.015 normi(M) . normi(M–1) = 14.015
CreateMesh (F (или G, или f1, f2, f3), x0, x1, y0, y1, xgrid, ygrid, fmap) CreateMesh (F (или G, или f1, f2, f3), x0, x1, y0, y1, xgrid, ygrid, fmap) создает сетку на поверхности, определенной функцией F. x0, x1, y0 и y1 – диапазон изменения переменных, xgrid и ygrid – размеры сетки переменных. fmap – функция отображения. Все параметры, за исключением F, факультативные. Функция CreateMesh по умолчанию создает сетку на поверхности с диапазоном изменения переменных от –5 до 5 и с сеткой 20 × 20 точек. Имеются две встроенные функции отображения, которые могут использоваться в параметре fmap: sph2xyz и cyl2xyz. На рис. 5.49 дан пример использования функции CreateMesh.
CreateSpace(F, t0, t1, tgrid, fmap) CreateSpace(F, t0, t1, tgrid, fmap) возвращает вложенный массив трех векторов, представляющих x, y и z координаты пространственной кривой, определенной функцией F. t0 и t1 – диапазон изменения переменной, tgrid – размер сетки переменной. fmap – функция отображения. Все параметры, за исключением F, факультативные. Типичная функция F могла бы выглядеть следующим образом:
Типичные функции f1, f2 и f3 могли бы выглядеть следующим образом: fl(t) := cos(t) f2(t) := sin(t) f3(t) := t Имеются две встроенные функции отображения, которые могут использоваться в параметре fmap: sph2xyz и cyl2xyz. Эти функции отображают из сферических полярных и круговых цилиндрических систем координат, соответственно, в декартовы координаты. Они также могут быть вызваны на рабочий лист, чтобы выполнить преобразование системы координат.
402
Встроенные функции Mathcad
Рис. 5.49. Пример использования функции CreateMesh
Fmap может быть определена или как функция трех скаляров, или как функция одиночного вектора. Имеются два примера:
На рис. 5.50 дан пример использования функции CreateSpace.
diag(v) diag(v) создает диагональную матрицу, содержащую на ее диагонали элементы заданного вектора v.
Функции работы с векторами и матрицами
403
Рис. 5.50. Пример использования функции CreateCpace
eigenvals(M), eigenvec(M,z), eigenvecs(M) eigenvals(M) – определяет вектор собственных значений для квадратной матрицы M.
eigenvec(M,z) – определяет собственный вектор, связанный с собственным значением z квадратной матрицы М. Собственный вектор нормализован к длине модуля.
eigenvecs(M) – определяет матрицу, содержащую нормализованные собственные векторы, соответствующие собственным значениям квадратной матрицы.
404
Встроенные функции Mathcad
geninv(A), genvals(M, N), genvecs(M, N), identity(n) geninv(A) возвращает обратную матрицу входной матрицы A.
genvals(M, N) возвращает вектор вычисленных собственных значений, каждое из которых удовлетворяет обобщенной задаче о собственных значениях.
M.x=l.N.x genvecs(M, N) – возвращает вектор вычисленных собственных векторов, каждый из которых удовлетворяет обобщенной задаче о собственных значениях.
Прямой подстановкой можно проверить правильность полученных результатов. identity(n) – создает единичную квадратную матрицу размером n × n, в которой элементы по диагонали равны 1, а остальные элементы матрицы равны 0.
IsArray(x), IsScalar(x), last(v), length(v) IsArray(x) – возвращает 1, если x – матрица или вектор, иначе 0. IsScalar(x) – возвращает 1, если x – вещественный или сложный скаляр, иначе 0. last(v) – индекс последнего элемента вектора v (см. выше).
Функции работы с векторами и матрицами
405
length(v) – длина вектора v (см. выше).
lsolve(M, v) lsolve(M, v) – возвращает вектор x решения линейной системы уравнений M⋅x = v. Вектор v – это вектор правых частей линейной системы уравнений.
lu(M), matrix(ff2,n,f), max(v), min(v) lu(M) – возвращает одну матрицу, содержащую три квадратные матрицы P, L и U, одного и того самого размера, что и М, соединенных вместе рядом.
Последнее выражение подтверждает правильность выполненных вычислений. matrix(m,n,f) – матрица, в которой (i,j)-ый элемент содержит f(i,j), где i = 0, 1, … m и j=0, 1, … n; max(v) – максимальный по значению элемент вектора v (см. выше); min(v) – минимальный по значению элемент вектора v (см. выше).
norm1(M), norm2(M), norme(M), normi(M), qr(A) norm1(M) – возвращает L2 норму квадратной матрицы М.
406
Встроенные функции Mathcad
norm2(M) – возвращает L1 норму квадратной матрицы М.
norme(M) – возвращает евклидову норму квадратной матрицы М.
normi(M) – неопределенная норма квадратной матрицы М.
qr(A) – возвращает матрицу, чьи первые n столбцов содержат квадратную, ортонормированную матрицу Q и чьи остающиеся столбцы содержат верхнюю треугольную матрицу R, формируя QЧR декомпозицию входной матрицы Q⋅R = A.
rank(M) – ранг матрицы М.
Функции работы с векторами и матрицами
407
rows(M) – число строк матрицы М. rref(A) – матрица, представляющая уменьшенную строкой форму шаблона A; stack(Ml,M2) – объединяет матрицы Ml и М2, имеющие одинаковое число столбцов, располагая Ml под М2.
submatrix(A,ir,jr,ic,jc), svd(A), svds(A), tr(M) submatrix(A,ir,jr,ic,jc) – субматрица, состоящая из всех элементов, содержащихся в строках от ir пo jr и столбцов с ic по jc (irfjr и icfjc). svd(A) – возвращает одну матрицу, содержащую две матрицы U и V, помещенных в стек, соответствующие полной сингулярной декомпозиции значения m × n матрицы A. m должно быть ≥ n. Размерность матрицы U m × n. Матрица V ортогональная размерностью n × n. Элементы матрицы A должны быть вещественными. Матрицы U и V удовлетворяют неравенству A = U . diag(s) . VT, где s=svds(A).
408
Встроенные функции Mathcad
Последнее выражение проверяет правильность выполненных вычислений. svds(A) – возвращает вектор, содержащий сингулярные значения матрицы A.
tr(M) – след (сумму диагональных элементов) квадратной матрицы М. Для выполнения операций с матрицами необходимо вначале сформировать их. Для этого необходимо: ¾ поместить визир (красный крестик) в нужное место на рабочем листе мышкой или с помощью клавиш перемещения; ¾ ввести имя матрицы и воспользоваться комбинацией клавиш Shift+: (двоеточие). Появится знак присваивания, и маркер ввода переместится на правую метку. Этот же результат можно получить и другим способом. Вначале ввести оператор присваивания, щелкнув по кнопке с изображением двоеточия и знака равно := на панели инструментов Вычисления (Evaluation). Появится шаблон с метками. На месте левой ввести имя матрицы, затем переместить маркер ввода на место второй метки; ¾ щелкнуть по кнопке с изображением матрицы Векторные и матричные операции (Vector and Matrix Toolbar) на панели инструментов Математика (Math). Появится панель инструментов Матрицы (Matrix); ¾ щелкнуть на панели инструментов Матрицы (Matrix) по кнопке с аналогичным изображением под названием Создать матрицу или вектор (Matrix or Vector). Появится диалоговое окно Вставить матрицу (Insert Matrix).
Функции волнового преобразования
409
В этом окне в поле Строки (Rows) набрать число строк в матрице, а в поле Столбцы (Columns) – число столбцов, затем щелкнуть по кнопке ОК. На месте визира появится шаблон с метками для ввода элементов матрицы. Ввести на месте меток нужные числовые значения. Чтобы использовать специальные функции для работы с векторами и матрицами: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Функция (Function) или нажмите комбинацию клавиш Ctrl+E. В обоих случаях появится диалоговое окно Вставить функцию (Insert Function); ¾ найдите в разделе Категория (Function Category) в левой части диалогового окна пункт Векторные и матричные (Vector and Matrix) и щелкните по нему мышью. В правой части диалогового окна в разделе Имя (Function Name) появится большой перечень функций, предназначенных для работы с векторами и матрицами; ¾ выберите нужную функцию, например augment(A,B), предназначенную для расширения матрицы вправо. В нижнем текстовом поле появится сообщение: Возвращает массив, образованный помещением A, B, C, ... слева направо. A, B, C, ... являются массивами, имеющими одинаковое количество рядов, или они скаляры и массивы с одним рядом. ¾ щелкните по кнопке ОК. В месте установки визира появится шаблон этой функции; ¾ на месте меток поставьте имя матриц, которые должны быть заранее определены. Для получения матрицы, в которой каждый элемент равен произведению двух соответствующих элементов матриц А и B, сформируйте произведение и нажмите Ctrl+– (минус), чтобы вставить оператор векторизации.
Функции волнового преобразования (Wavelet Transform) wave (v) – возвращает волновое преобразование действительных чисел с использованием фильтра Добеши (Daubechies) с четырьмя коэффициентами. iwave (u) – возвращает обратное дискретное волновое преобразование, соответствующее волне данных в u. V и u должны иметь 2m элементов, где m – целое число. Все элементы v должны быть вещественными. На рис. 5.51 представлен пример прямого и обратного волновых преобразований. На рис. 5.52 представлено продолжение примера прямого и обратного волновых преобразований.
410
Встроенные функции Mathcad
Рис. 5.51. Пример прямого и обратного волновых преобразований
Рис. 5.52. Продолжение примера прямого и обратного волновых преобразований
Глава 6 Аналитические вычисления и программирование в среде Mathcad Аналитические вычисления .... 412 Программирование в системе Mathcad .................. 431
412
Аналитические вычисления и программирование в среде Mathcad
Для выполнения самых разнообразных аналитических вычислений и преобразований в системе Matchad разработана целая система выпадающих, всплывающих, контекстно-зависимых меню и панелей инструментов. Для выполнения аналитических вычислений (преобразований) в Mathcad могут быть использованы два способа: • с помощью символического знака равенства (стрелка вправо); • с помощью пунктов выпадающего меню пункта Символы (Symbolics) главного меню, а также соответствующих всплывающих меню. Первый способ аналитических вычислений был использован ранее в главе 4 и других главах. В этой главе мы уделим больше внимания второму способу аналитических вычислений. Для начала выполнения любого аналитического преобразования того или иного математического выражения необходимо выделить преобразуемое выражение, а для некоторых преобразований необходимо выделить и переменную, по которой должно производиться преобразование. Например, выделить переменную, по которой будет браться производная. После чего можно открывать нужные меню, панели, команды. В противном случае пункты меню будут находиться в нерабочем состоянии – будут не высвечены.
Аналитические вычисления Для проведения аналитических вычислений: ¾ щелкните в главном меню по пункту Символы (Symbolics) или нажмите комбинацию клавиш Alt+S. Появится выпадающее меню символьных средств для проведения аналитических вычислений, преобразований и т. д. (рис. 6.1). ¾ щелкните в выпадающем меню по нужному пункту для выполнения того или иного расчета или преобразования. Выпадающее меню пункта главного меню Символы (Symbolics) включает следующие пункты: • Расчеты (Evaluate) – вызывает всплывающее меню для вычисления символьных выражений; • Упростить (Simplify) – упрощает выделенное выраРис. 6.1. Выпадающее жение; • Развернуть (Expand) – разворачивает выделенное меню пункта главного меню Символы выражение; • Фактор (Factor) – находит коэффициенты в выделенном выражении; • Подобные (Collect) – собирает подобные члены выражения; • Коэффициенты Полинома (Polinomial Coefficients) – находит полиномиальные коэффиценты в выделенном выражении; • Переменная (Variable) – вызывает всплывающее меню для выполнения различных операций для заданной переменной; • Матрицы (Matrix) – вызывает всплывающее меню для выполнения операций над матрицами;
Аналитические вычисления
413
• Преобразование (Transform) – вызывает всплывающее меню для выполнения символических преобразований; • Стиль вычислений (Evaluation Style) – вызывает диалоговое окно Evaluation Style для формирования стиля вычисления. Рассмотрим более подробно каждый пункт выпадающего меню пункта Symbolics главного меню.
Вычисление символьных выражений Для вычисления символьных выражений: ¾ выделите исходное выражение уголком: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Расчет (Evaluate). Появится всплывающее меню (рис. 6.2). Во всплывающем меню пункта Расчет имеются три пункта: • Символические (Symbolically) – выполнение сим- Рис. 6.2. Всплывающее вольного преобразования выделенного выражения; меню пункта Расчет • С плавающей запятой (Floating point) – возвращение результата вычисления выделенного выражения в вещественных числах; • Комплексные (Complex) – возвращение результата вычисления выделенного выражения в виде комплексного числа a + bi Одним из преимуществ символьной математики является возможность наглядно видеть связи между переменными, кроме того, отсутствует проблема получения неточных решений из-за ошибок округления. Однако в результате символьных преобразований могут получаться очень сложные выражения.
Упрощение математического выражения Для упрощения математического выражения: ¾ выделите исходное выражение уголком: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Упростить (Simplify). Появится упрощенное математическое выражение, если система справится с этой задачей, в противном случае появится исходное выражение. Пункт Упростить позволяет упрощать математические выражения, содержащие алгебраические и тригонометрические функции, а также выражения со степенными многочленами (полиномами). С его помощью можно упростить сложные и плохо упорядоченные алгебраические выражения (рис. 6.3). Второй пример показывает, как можно с помощью пункта Упростить аналитически рассчитать производную, а примеры 4 и 5 показывают вычисление не-
414
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.3. Результаты применения пункта Упростить
определенных интегралов. Когда система не находит решения в замкнутом виде, она повторяет введенное выражение, как она делает в примере 6, или сообщает об ошибке.
Развертывание выражений Для развертывания выражения: ¾ выделите исходное выражение (число) уголком: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Развернуть (Expand). Появится результат представления выражения через более простые составляющие, если система справится с этой задачей, в противном случае появится исходное выражение. Пункт Развернуть в известном смысле противоположен действию пункта Упростить. Подвергаемое преобразованию выражение расширяется с использованием известных (и введенных в символьное ядро) соотношений, например алгебраических разложений многочленов, произведений углов и т. д. При преобразовании выражений пункт Развернуть представляет более сложные функции через более простые, сводит алгебраические выражения, представленные в сжатом виде, к выражениям в развернутом виде и т. д. (рис. 6.4).
Аналитические вычисления
415
Рис. 6.4. Результаты применения пункта Развернуть
Разложение выражений или чисел на простые множители Для разложения выражения или числа на простые множители: ¾ выделите исходное выражение (число) уголком: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Фактор (Factor). Появится результат разложения выражения или числа на простые множители, если система справится с этой задачей, в противном случае появится исходное выражение (рис. 6.5). В большинстве случаев (но не всегда) операция разложения на простые множители ведет к упрощению выражений.
Приведение подобных членов Для приведения подобных членов выражения: ¾ выделите в исходном выражении переменную или функцию уголком, по которой все выражение будет упорядочиваться по степеням в порядке их убывания;
416
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.5. Результат применения пункта Фактор
¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Подобные (Collect). Появится результат представления выражения в виде степенного выражения, если система справится с этой задачей, в противном случае появится исходное выражение. Пункт Подобные используется для обеспечения замены исходного выражения выражением, скомплектованным по выделенной переменной, если такое представление возможно (рис. 6.6). В том случае, когда комплектование по базису указанной переменной невозможно, система выдает сообщение об этом. Оно выводится в отдельном небольшом информационном окошке.
Определение коэффициентов полинома Для определения коэффициентов полинома: ¾ выделите в исходном выражении полинома переменную или функцию уголком, для которой будут определяться коэффициенты полинома; ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню;
Аналитические вычисления
417
Рис. 6.6. Результат применения пункта Подобные выпадающего меню
¾ щелкните в выпадающем меню по пункту Коэффициенты полинома (Polynomial Coefficients). Появится результат представления выражения в виде вектора коэффициентов полинома, если система справится с этой задачей, в противном случае появится исходное выражение. Пункт Коэффициенты полинома используется тогда, когда исходное выражение – полином (степенной многочлен), который может быть представлен таковым относительно выделенной переменной или функции (рис. 6.7). Результатом является вектор-столбец с коэффициентами полинома. Операция полезна при решении задач полиномиальной аппроксимации и регрессии.
Аналитическое вычисление выражения относительно выделенной переменной Для аналитического вычисления выражения относительно выделенной переменной: ¾ выделите в исходном выражении переменную, относительно которой или по которой будут проводиться вычисления: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Переменная (Variable). Появится всплывающее меню (рис. 6.8). Оно используется для выполнения тех или иных операций с переменными.
418
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.7. Результаты применения пункта Коэффициенты полинома выпадающего меню
Всплывающее меню пункта Переменная включает следующие пункты: • Вычислить (Solve) – выполняет решение задачи в отношении выбранных переменных; • Замена (Substitute) – обеспечивает подстановку указанного выражения вместо выбранной переменной; • Дифференциалы (Differentiate) – выполняет дифференцирование выражения в отношении выбранной переменной; • Интегрировать (Integrate) – выполняет интегрирование выражения в отношении выбранной переменной; • Разложить (Expand to Series) – вызывает диаРис. 6.8. Всплывающее логовое окно для определения числа членов меню пункта Переменная ряда для аппроксимации функции; • Преобразование в Частичные Доли – генерирует частичное расширение фракции (доли) для выражения.
Решение уравнений Для решения уравнений относительно выделенной переменной: ¾ выделите в исходном выражении переменную, относительно которой или по которой будут проводиться вычисления;
Аналитические вычисления
419
¾ щелкните в главном меню по пункту Символы (Symbolics), а затем в выпадающем меню по пункту Переменная (Variable). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Вычислить (Solve). Пункт всплывающего меню Вычислить решает уравнение (неравенство) относительно выделенной переменной, то есть производит поиск такого значения переменной, при котором исходное выражение становится равным нулю. Данный пункт возвращает символьное значение отмеченной переменной х при F(x) = 0. Это очень удобно для решения алгебраических уравнений, например квадратных и кубических, или для вычисления корней полинома. На рис. 6.9 представлены примеры решения квадратного уравнения и нахождения комплексных корней полинома четвертой степени.
Рис. 6.9. Результаты применения пункта всплывающего меню Вычислить
Подстановка математических выражений Для подстановки математических выражений: ¾ введите выражение (число) для подстановки; ¾ выделите и скопируйте его в буфер обмена данных, нажав, например, комбинацию клавиш Ctrl+C; ¾ выделите в исходном выражении переменную, вместо которой будет введено другое выражение: ¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню;
420
Аналитические вычисления и программирование в среде Mathcad
¾ щелкните по пункту Переменная (Variable) выпадающего меню. Появится всплывающее меню; ¾ щелкните по пункту Замена (Substitute). Появится выражение с указанными подстановками. Пункт всплывающего меню Замена заменяет выделенную переменную новым выражением, находящимся в данный момент в буфере обмена данных. Он возвращает выражение, полученное путем подстановки на место указанной переменной нового выражения. Последнее, как указывалось выше, должно быть подготовлено и скопировано (пункты Вырезать (Cut) или Копировать (Copy)) в буфер обмена данных. Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции выделенной переменной путем замены ее на числовое значение. На рис. 6.10 представлены примеры операций с заменой.
Рис. 6.10. Результаты применения пункта всплывающего меню Замена
Подстановки и замены переменных довольно часто встречаются в математических расчетах, что делает эту операцию весьма полезной. Кроме того, она дает возможность перейти от символьного представления результата к числовому.
Дифференцирование математических выражений Для выполнения операции дифференцирования математического выражения относительно выделенной переменной как переменной дифференцирования: ¾ выделите в исходном выражении переменную, по которой будет проводиться дифференцирование;
Аналитические вычисления
421
¾ щелкните в главном меню по пункту Символы (Symbolics). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Переменная (Variable). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Дифференциалы (Differentiate). Появится результат дифференцирования выражения. В случае математического выражения со многими переменными вычисляется частная производная. Пункт всплывающего меню Дифференциалы возвращает символьное значение производной выражения по той переменной, которая выделена курсором. Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз (рис. 6.11).
Рис. 6.11. Результаты применения пункта всплывающего меню Дифференциалы
Интегрирование математических выражений Для выполнения операции интегрирования математического выражения – вычисления неопределенного интеграла относительно выделенной переменной как переменной интегрирования: ¾ выделите в исходном выражении переменную, по которой будет проводиться интегрирование: ¾ щелкните в главном меню по пункту Символы (Symbolics), а затем в выпадающем меню по пункту Переменная (Variable). Появится всплывающее меню;
422
Аналитические вычисления и программирование в среде Mathcad
¾ щелкните во всплывающем меню по пункту Интеграция (Integrate). Появится результат интегрирования выражения. Пункт всплывающего меню Интеграция предназначен для интегрирования выражения по выделенной переменной. Этот пункт обеспечивает вычисление интегралов (или нахождение первообразных) для аналитически заданных выражений. Он возвращает символьное значение неопределенного интеграла по указанной курсором ввода переменной. Выражение, в состав которого входит переменная, является подынтегральной функцией. На рис. 6.12 показаны примеры символьного интегрирования по переменной х. Как и для операции дифференцирования, в состав исходных выражений и результатов символьного интегрирования могут входить встроенные в систему специальные математические функции.
Рис. 6.12. Результаты применения пункта всплывающего меню Интеграция
Разложение математических выражений в ряд Тейлора Пусть мы имеем действительное математическое выражение f(x), которое имеет в интервале a ≤ x 1 – число строк и столбцов матрицы. Такую же размерность имеет и обращенная матрица. Чтобы инвертировать матрицу в аналитическом виде: ¾ щелкните по матрице и нажмите клавишу Space (Пробел) для выделения всей матрицы; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Матрицы (Matrix), а затем во всплывающем меню по пункту Инвертирование (Invert). Ниже показана исходная матрица и инвертированная с автоматически выведенным комментарием – инверсией матрицы, получается (by matrix inversion, yields). инверсией матрицы, получается
Аналитические вычисления
427
Вычисление определителя матрицы Чтобы вычислить определитель матрицы в аналитическом виде: ¾ щелкните по матрице и нажмите клавишу Space (Пробел) для выделения всей матрицы; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Матрицы (Matrix), а затем во всплывающем меню по пункту Определитель (Determinant). Если элементы матрицы – числа, то выполняются соответствующие операции в числовой форме. Ниже показана исходная матрица и определитель ее с автоматически выведенным комментарием – имеет определители (has determinant). имееет определители
На рис. 6.17 приведены примеры выполнения типичных матричных операций.
Рис. 6.17. Выполнение матричных операций в аналитическом виде
428
Аналитические вычисления и программирование в среде Mathcad
Преобразование выражений относительно заданной переменной Для преобразования выражений относительно заданной переменной: ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование, иначе пункты преобразования будут не активны; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform). Появится всплывающее меню (рис. 6.18). Всплывающее меню пункта Преобразование предназначено для работы с целым рядом преобразований: прямым и обратным преобразованием Фурье, преобразованием Лапласа и Z-преобразованием. Всплывающее меню пункта Преобразование включает следующие пункты: Рис. 6.18. • Фурье (Fourier) – выполняет прямое преобразование Всплывающее Фурье в отношении выбранной переменной; меню пункта • Фурье Обратное (Inverse Fourier) – выполняет обрат- Преобразование ное преобразование Фурье в отношении выбранной переменной; • Лапласа (Laplace) – выполняет прямое преобразование Лапласа в отношении выбранной переменной; • Лапласа Обратное (Inverse Laplace) – выполняет обратное преобразование Лапласа в отношении выбранной переменной; • Z – выполняет прямое Z-преобразование в отношении выбранной переменной; • Обратное Z (Inverse Z) – выполняет обратное Z-преобразование в отношении выбранной переменной. Перед применением того или иного преобразования необходимо в преобразуемом выражении выделить переменную, относительно которой будет производиться преобразование. Тогда указанные выше преобразования становятся доступными во всплывающем меню и выделяются четкими надписями.
Прямое преобразование Фурье Чтобы выполнить прямое преобразование Фурье относительно выделенной переменной: ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Фурье (Fourier).
Аналитические вычисления
429
Mathcad возвращает преобразованное выражение с переменной ω. Если преобразуемое выражение уже содержит переменную ω, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной ωω. Например, в нашем выражении преобразование будет проводиться относительно переменной t.
Если же исходное выражение содержит переменную ω, относительно которой будет проводиться преобразование, то результат преобразования будет выглядеть так:
Обратное преобразование Фурье Чтобы выполнить обратное преобразование Фурье относительно выделенной переменной: ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Фурье Обратное (Inverse Fourier). Mathcad возвращает преобразованное выражение с переменной t. Если преобразуемое выражение уже содержит переменную t, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной tt. Например, в нашем выражении преобразование будет проводиться относительно переменной t.
Прямое преобразование Лапласа Чтобы выполнить прямое преобразование Лапласа относительно выделенной переменной: ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование;
430
Аналитические вычисления и программирование в среде Mathcad
¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Лаплас (Laplace). Mathcad возвращает преобразованное выражение с переменной s. Если преобразуемое выражение уже содержит переменную s, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной ss. Например, в нашем выражении преобразование будет проводиться относительно переменной x.
Обратное преобразование Лапласа Чтобы выполнить обратное преобразование Лапласа относительно выделенной переменной (результат – функция от переменной t): ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Лапласа Обратное (Inverse Laplace). Mathcad возвращает преобразованное выражение с переменной t. Если преобразуемое выражение уже содержит переменную t, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной tt. Например, в нашем выражении преобразование будет проводиться относительно переменной s.
Прямое Z-преобразование Чтобы выполнить прямое Z-преобразование выражения относительно выделенной переменной (результат – функция от переменной z): ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Z. Mathcad возвращает преобразованное выражение с переменной z. Если преобразуемое выражение уже содержит переменную z, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной zz.
Программирование в среде Mathcad
431
Например, в нашем выражении преобразование будет проводиться относительно переменной n.
Обратное Z-преобразование Чтобы выполнить обратное Z-преобразование относительно выделенной переменной (результат – функция от переменной n): ¾ введите выражение, которое должно быть преобразовано; ¾ выделите в выражении переменную, относительно которой будет проводиться преобразование; ¾ щелкните в главном меню по пункту Символы (Symbolics), в выпадающем меню по пункту Преобразование (Transform), а затем во всплывающем меню по пункту Обратное Z (Inverse Z). Mathcad возвращает преобразованное выражение с переменной n. Если преобразуемое выражение уже содержит переменную n, то система, избегая неоднозначности, возвращает преобразованное выражение с переменной nn. Например, в нашем выражении преобразование будет проводиться относительно переменной s.
На рис. 6.19 даны примеры использования как прямого, так и обратного преобразования каждого типа.
Программирование в системе Mathcad Программа в Mathcad – это именованное выражение (функция), составленное из более чем одного программного оператора, которое имеет следующие преимущества: • она, как правило, гораздо гибче, чем обычное выражение, так как программа может использовать управляющие структуры, подобно циклам и условным операторам; • программа, сделанная из отдельных простых шагов, часто намного проще, чем обычный метод формирования сложного выражения. Программирование в системе Mathcad облегчает решение ряда задач, которые не могут быть решены или решение в которых затруднено другими способами. Это объясняется тем, что включенные в систему Mathcad Pro операторы программирования имеют основные конструкции языков программирования высокого уровня:
432
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.19. Примеры аналитических преобразований выражений
• оператор программирования Add Line (Добавить строку) предназначен для создания блоков выражений. Шаблон этого оператора выглядит таким образом:
Вертикальная черта означает, что операторы, примыкающие к этой черте, образуют один блок. Чтобы вертикальную черту увеличить и соответственно увеличить число меток, примыкающих к ней, достаточно в одну из меток ввести оператор Add Line; • оператор программирования ← (стрелка влево) предназначен для присваивания локальной переменной значения. Шаблон этого оператора выглядит таким образом: Например, запись вида означает, что символу присвоено значение 5; • условный оператор программирования if (если) предназначен для ввода условия в программу. Шаблон этого оператора выглядит таким образом:
Программирование в среде Mathcad
433
• оператор программирования otherwise (иначе) предназначен для введения дополнительной ветви в условии. Шаблон этого оператора выглядит таким образом: • оператор программирования for (для) предназначен для создания цикла при заранее известном числе итераций. Шаблон этого оператора выглядит таким образом:
• оператор программирования while (пока) предназначен для создания цикла c условием выхода из цикла. Шаблон этого оператора выглядит таким образом:
• оператор программирования break (прервать) предназначен для остановки процесса выполнения программы; • оператор программирования continue (продолжить) предназначен для продолжения вычислений; • оператор программирования return (вернуть) предназначен для возвращения выполнения цикла. Шаблон этого оператора выглядит таким образом: • оператор программирования on error (на ошибке) предназначен для получения сообщения при наличии ошибки в выражении, в котором был размещен этот оператор. Шаблон этого оператора выглядит таким образом:
Создание программ в среде Mathcad Для создания программы, точнее функции, выполните следующие действия: ¾ введите имя программы (функции), которое может содержать аргументы, и оператор присваивания, например: ¾ щелкните по кнопке с изображением блока-схемы на панели инструментов Математика (Math). Появится панель инструментов Программирование (Programming) – рис. 6.20; ¾ щелкните по кнопке с названием Add Line (Добавить строку) на панели инструментов Программирование Рис. 6.20. Панель (Programming) или нажмите клавишу ] (закрывающая инструментов квадратная скобка). В обоих случаях появится верти- Программирование
434
Аналитические вычисления и программирование в среде Mathcad кальная линия с двумя метками для ввода исходных данных, операторов программирования, выражений, … Это минимально возможный блок программы.
Можно заранее заготовить шаблон блока – вертикальную черту с большим числом меток, примыкающих к ней. Для этого: ¾ щелкните по одной из меток блока. Метка будет охвачена курсором – синим уголком; ¾ щелкните по кнопке Add Line на панели инструментов Программирование (Programming). Появится дополнительная метка и соответственно увеличится размер блока – вертикальная черта. С каждым щелчком по кнопке Add Line на панели инструментов Программирование будет добавляться в блок одна метка; ¾ введите исходные (начальные) данные, если необходимо, выражение, используя локальные переменные. Для этого введите имя локальной переменной, например r, а затем щелкните по кнопке на панели инструментов Программирование с изображением стрелки влево или нажмите комбинацию клавиш Ctrl+{ (открывающая фигурная скобка). Появится шаблон оператора локального присваивания значения локальной переменной – стрелка влево и метка;
¾ введите в метке справа значение локальной переменной. Локальные переменные действуют только в пределах данной программы. Можно вначале вызвать шаблон оператора присваивания значения локальной переменной (стрелка влево и две метки), который будет выглядеть так:
В первую метку введите имя локальной переменной, а во вторую – ее значение. Например, так:
Оператор создания блока с метками Add Line Для создания блока и новых меток для ввода новых значений или выражений в программе используйте оператор Add Line (Добавить строку) – кнопку на
Программирование в среде Mathcad
435
панели инструментов Программирование или клавишу ] (закрывающая квадратная скобка). Эта кнопка (клавиша ]) вызывает шаблон для ввода в дальнейшем операторов программирования или расширяет этот шаблон, если он уже введен: ¾ щелкните по метке, в которой предполагается расширить шаблон для ввода операторов программирования – увеличить число меток для ввода операторов; ¾ щелкните по кнопке Add Line мышкой на панели инструментов Программирование или нажмите клавишу ] (закрывающая квадратная скобка). В обоих случаях появятся две метки вместо одной. В верхней метке введите нужное значение, выражение и т. д.; ¾ введите в последнюю метку программы (функции) имя, выражение, содержащее значение, возвращаемое программой (функцией). Это может выглядеть так:
На рис. 6.21 приведены простейшие программы (функции), созданные в среде Mathcad. Теперь можно использовать эту функцию так же, как и любую другую функцию для выполнения необходимых вычислений. Рассмотрим теперь основные операторы панели инструментов Programming.
Оператор локального присваивания ← Оператор ← – оператор присваивания локальных значений, которые действуют только внутри программы. Можно изменить вид этого оператора, если вы хотите. Для этого: ¾ щелкните в главном меню по пункту Инструменты (Tools), а затем в выпадающем меню по пункту Опции Таблицы. Появится диалоговое окно Опции Таблицы с многочисленными вкладками; ¾ щелкните по вкладке Отображение (Display) – рис. 6.22; ¾ выберите пункт Локальное (Local Definition) и щелкните по кнопке со стрелкой вниз. Раскроется список возможных представлений этого оператора. В данном случае представляются две возможности: стрелка влево (Left Arrow – используется по умолчанию) или знак равно (Equal); ¾ щелкните по выбранному виду оператора определения локального значения, а затем по кнопке OK.
436
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.21. Простейшие программы, созданные в среде Mathcad
Рис. 6.22. Диалоговое окно Опции Таблицы с открытой вкладкой Отображение для установки вида оператора локального присваивания
Можно изменять вид оператора и другим способом: ¾ щелкните по оператору правой кнопкой мышки. Появится контекстно-зависимое меню (рис. 6.23); ¾ щелкните в контекстно-зависимом меню по пункту Показать определение как (View Defenition As). Появится всплывающее меню (рис. 6.24).
Программирование в среде Mathcad
Рис. 6.23. Контекстно-зависимое меню оператора
437
Рис. 6.24. Всплывающее меню установки вида оператора локального присваивания
Во всплывающем меню три пункта: • По умолчанию (Default) – определяет, какой режим в настоящий момент установлен. Если слева перед пунктом стоит галочка, то включен режим по умолчанию – оператор локального присваивания изображается в виде стрелки влево, в противном случае этот режим отключен и можно выбрать другое изображение оператора локального присваивания; • Левая Стрелка (Left Arrow) – оператор локального присваивания по умолчанию; • Равно (Equal) – альтернативный оператор локального присваивания.
Оператор условного перехода if Оператор программирования if (если) вводит в программу шаблон оператора условного перехода, который имеет такой вид: В левую метку оператора вводится значение при выполнении условия, а в правую метку вводится условие. Например, запись вида (см. рис. 4.1)
означает, что функция Z(x) принимает значения: • по первому условию –1, если x < –3; • по второму условию x, если –3 ≤ x < 3; • по третьему условию 1, если x ≥ 3. Чтобы вставить условный оператор if, необходимо выполнить следующие действия: ¾ установите визир (красный крестик) в месте размещения условного оператора; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится панель инструментов Программирование (Programming) с набором кнопок для ввода операторов программирования;
438
Аналитические вычисления и программирование в среде Mathcad
¾ щелкните по кнопке с оператором if (Если). Тогда на месте визира появится шаблон оператора if; ¾ введите в левой метке значение при выполнении условия, а в правой метке само условие, но если предполагается использовать составной условный оператор, то необходимо во время нахождения курсора в левой метке щелкнуть по кнопке Add Line или нажать клавишу ] (закрывающая квадратная скобка). В этом случае шаблон условного оператора будет выглядеть так:
В верхней метке вводится условие, а в нижних – значения, действия при этом условии; ¾ введите в нижней метке выражение для выполнения. При наличии в цикле нескольких выражений используйте кнопку Add Line (Добавить строку) на панели инструментов Программирование. Для этого щелкните по этой кнопке – появятся две метки вместо одной. В верхней метке введите нужное выражение и т. д. Выражения будут выполняться только при выполнении условия. В правой метке оператора условного перехода if (если) используются булевы выражения, которые включают один или несколько булевых операторов. Булевы операторы:
Обозначение:
Комбинация клавиш:
больше чем меньше чем больше чем или равно меньше чем или равно логическое равно логическое не равно логическое и логическое или исключительное или логическое нет
> < ≥ ≤ = ≠ A nd Or Xor Not
Shift+> Shift+< Ctrl+0 Ctrl+9 Ctrl+= Ctrl+3 Ctrl+Shift+7 Ctrl+Shift+6 Ctrl+Shift+5 Ctrl+Shift+1
Оператор создания дополнительной ветви otherwise Возможны достаточно сложные конструкции с использованием оператора условного перехода if и оператора otherwise, с помощью которого вводится дополнительная ветвь расчета. Чтобы использовать совместно с оператором if дополнительную ветвь, введите оператор otherwise (иначе). Для этого:
Программирование в среде Mathcad
439
¾ щелкните по кнопке Add Line на панели инструментов Программирование (Programming), чтобы получить две метки; ¾ щелкните по верхней метке, а затем по кнопке if на панели инструментов Программирование или нажмите комбинацию клавиш Shift +]. Только не печатайте слово if. Появится шаблон оператора if, который соответствующим образом заполните; ¾ щелкните по нижней метке, а затем по кнопке otherwise (иначе) на панели инструментов Программирование. Только не печатайте слово otherwise. Появится шаблон оператора otherwise; ¾ введите в метке шаблона оператора otherwise значение, которое должно возвратиться, если условие не выполняется (ложно). Шаблон комбинации оператора условного перехода if и оператора otherwise в этом случае будет выглядеть так:
Если в операторе if и операторе otherwise используются несколько условий, то в левых метках этих операторов необходимо использовать оператор Add Line. Для формирования такого шаблона: ¾ щелкните по кнопке Add Line на панели инструментов Программирование, чтобы получить две метки; ¾ щелкните по верхней метке, а затем по кнопке if на панели инструментов Программирование или нажмите комбинацию клавиш Shift +]. Только не печатайте слово if. Появится шаблон оператора if, который соответствующим образом заполните; ¾ щелкните по левой метке оператора if, а затем по кнопке Add Line на панели инструментов Программирование; ¾ щелкните по нижней метке, а затем по кнопке otherwise (иначе) на панели инструментов Программирование. Только не печатайте слово otherwise. Появится шаблон оператора otherwise; ¾ щелкните по метке otherwise, а затем по кнопке Add Line на панели инструментов Программирование. В этом случае шаблон операторов будет выглядеть так:
440
Аналитические вычисления и программирование в среде Mathcad
Если оператору otherwise предшествуют несколько операторов if, то оператор otherwise выполняется только тогда, когда все предшествующие условия ложные. На рис. 6.25 даны примеры использования операторов программирования.
Рис. 6.25. Примеры использования операторов программирования.
Оператор цикла for Оператор программирования for (для) используется для создания цикла при заранее известном числе повторений (итераций) в процессе решения задачи. Этот цикл используется до тех пор, пока заданное число итераций не будет выполнено. Чтобы вставить данный цикл, необходимо выполнить следующие действия: ¾ установите визир (красный крестик) в месте размещения данного цикла; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится инструментальная панель Программирование (Programming) с набором кнопок для ввода операторов программирования; ¾ щелкните по кнопке с оператором for. Тогда на месте визира появится шаблон оператора цикла for. Ввод шаблона оператора цикла for можно выполнить и путем нажатия комбинации клавиш Ctrl+'' (двойная кавычка). Шаблон оператора цикла for имеет три метки:
Программирование в среде Mathcad
441
¾ введите в левой метке вверху имя управляющей переменной, а начальное и конечное значения управляющей переменной – в правой метке; ¾ введите в нижней метке выражение для выполнения. При наличии в цикле нескольких выражений используйте кнопку Add Line (Добавить строку) на панели инструментов Программирование. Для этого щелкните по этой кнопке мышкой, появятся две метки вместо одной. В верхней метке введите нужное выражение и т. д. Выражения будут выполняться столько раз, сколько указано в управляющей переменной. На рис. 6.26 приведены примеры использования оператора for в процессе программирования.
Рис. 6.26. Программирование с использованием оператора for
Цикл с оператором for (для) целесообразно использовать тогда, когда точно установлено число выполняемых итераций, в противном случае используйте оператор while (пока).
Оператор цикла с условием while Оператор программирования while (пока) используется для создания цикла с условием при заранее неизвестном количестве повторений (итераций) в процессе решения задачи. Этот цикл используется до тех пор, пока заданное условие выполняется. Если число итераций будет бесконечно, то следует нажать клавишу Esc для остановки процесса вычисления. Чтобы вставить цикл while:
442
Аналитические вычисления и программирование в среде Mathcad
¾ установите визир (красный крестик) в месте размещения данного цикла; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится инструментальная панель Программирование (Programming) с набором кнопок для ввода операторов программирования; ¾ щелкните по кнопке с оператором while. Тогда на месте визира появится шаблон оператора цикла while. Ввод шаблона оператора цикла while можно выполнить и путем нажатия комбинации клавиш Ctrl+] (закрывающая квадратная скобка). Шаблон оператора цикла while имеет две метки:
¾ введите условие в метке справа от оператора while. Щелкните по кнопке Add Line (Добавить строку) на панели инструментов Программирование (Programming), чтобы вставить метки для дополнительных условий в случае необходимости; ¾ введите в нижней метке выражение для выполнения. При наличии в цикле нескольких выражений используйте кнопку Add Line (Добавить строку) на панели инструментов Программирование. Для этого щелкните по этой кнопке мышкой, появятся две метки вместо одной. В верхней метке введите нужное выражение и т. д. Выражения будут выполняться до тех пор, пока будет выполняться заданное условие. Цикл с условием целесообразно использовать тогда, когда хотите остановить выполнение выражений при выполнении заданного условия или условий, но не знаете точно, сколько необходимо выполнить для этого итераций, в противном случае используйте оператор for. На рис. 6.27 приведена программа (функции) вычисления факториала с использованием оператора while.
Оператор прерывания break Оператор программирования break (прервать) используется тогда, когда необходимо прерывание в цикле для остановки выполнения вычислений. Чтобы вставить оператор break, необходимо выполнить следующие действия: ¾ установите визир (красный крестик) в месте размещения условного оператора; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится панель инструментов Программирование (Programming) с набором кнопок для ввода операторов программирования; ¾ щелкните по кнопке с оператором break. Тогда на месте визира появится оператор break. Ввод оператора break можно выполнить и путем нажатия комбинации клавиш Ctrl+{ (открывающая фигурная скобка). Когда Mathcad сталкивается с оператором break в теле цикла for или while, то: ¾ цикл прекращает выполнение и возвращает последнее вычисленное значение;
Программирование в среде Mathcad
443
Рис. 6.27. Программа (функция) вычисления факториала
¾ выполнение программы затем продолжается со следующей строки программы после прерывания в цикле. На рис. 6.28 приведена программа (функции) для вычисления факториала с использованием оператора break.
Оператор продолжения continue Оператор программирования continue (продолжить) обеспечивает возможность продолжения вычислений в цикле после того, когда было приостановлено по тем или иным причинам выполнение цикла. Чтобы продолжить выполнение цикла: ¾ щелкните по метке, в которую вы хотите ввести оператор continue; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится панель инструментов Программирование (Programming) с набором кнопок для ввода операторов программирования; ¾ щелкните по кнопке с оператором continue. Тогда на месте визира появится оператор continue. Ввод оператора continue можно выполнить и путем нажатия комбинации клавиш Ctrl+[ (открывающая квадратная скобка). Только не печатайте слово continue. Когда программа сталкивается c оператором continue, она останавливает итерацию, идет к ближайшему внешнему циклу и продолжает следующую итерацию.
444
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.28. Программы, созданные в среде Mathcad с использованием оператора break
Оператор возвращения return По умолчанию программа возвращает значение последнего вычисленного оператора. Однако можно возвращать значение, размещенное и в другом месте программы, используя оператор программирования return (вернуть). Чтобы вставить оператор return: ¾ щелкните по метке, в которую вы хотите поместить оператор return; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением блок-схемы. Появится панель инструментов Программирование (Programming) с набором кнопок для ввода операторов программирования; ¾ щелкните по кнопке с оператором return. Тогда на месте визира появится оператор return. Ввод оператора return можно выполнить и путем нажатия комбинации клавиш Ctrl+Shift+| (вертикальная линия). Только не печатайте слово return;
Программирование в среде Mathcad
445
¾ напечатайте в метке справа от слова return то, что необходимо вывести. Оператор программирования return целесообразно использовать тогда, когда вы хотите возвратить значение из цикла.
Оператор сообщения при ошибке on error Для получения сообщения при наличии ошибки в том или ином выражении используется оператор программирования on error (на ошибке). Чтобы получить сообщение об ошибке в конкретном выражении: ¾ щелкните мышкой в том месте программы, в котором вы хотите ввести оператор on error для получения сообщения при наличии ошибки; ¾ щелкните мышкой на панели инструментов Математика по кнопке с изображением блок-схемы, а затем по кнопке on error на панели инструментов Программирование (Programming) или нажмите комбинацию клавиш Ctrl+’’ (апостроф). Появится шаблон оператора on error в месте размещения курсора; ¾ напечатайте любое сообщение в метке слева от оператора on error. Оно должно вернуться при невыполнении выражения, то есть при наличии ошибки в данном выражении. На рис. 6.29 представлен пример использования оператора on error.
Рекурсия Рекурсия – это мощное средство в языке программирования, которое включает определение функции через саму себя. Рекурсивные функциональные определения должны всегда иметь по крайней мере две части: • начальное условие, предотвращающее бесконечную рекурсию; • определение функции в терминах предыдущего значения функции. Рекурсивные функциональные определения, несмотря на их простоту, не всегда наиболее эффективны в вычислительном отношении. На рис. 6.30 приведены примеры использования рекурсии и операторов программирования. На рис. 6.31 приведены дополнительные примеры использования рекурсии и операторов программирования.
446
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.29. Пример использования оператора on error
Рис. 6.30. Примеры использования рекурсии и операторов программирования
Программирование в среде Mathcad
447
Рис. 6.31. Дополнительные примеры использования рекурсии и операторов программирования
Решение дифференциального уравнения программным способом Рассмотрим решение задачи Коши одношаговым методом Рунге-Кутта. Требуется найти решение дифференциального уравнения первого порядка , удовлетворяющее начальному условию y(x0) = y0. Выберем фиксированное приращение h, независимого переменного x и обозначим xi+1 = xi + h y(xi) = yi. В методе Рунге-Кутта полагаем, что , где к1 = f (xi, yi), ,
448
Аналитические вычисления и программирование в среде Mathcad , .
Программа решения дифференциального уравнения методом Рунге-Кутта в системе Mathcad представлена на рис. 6.32 и рис. 6.33. Результаты проверки решения дифференциального уравнения с использованием блока решения Given – odesolve (Дано – решить дифференциальное уравнение) представлены на рис. 6.34.
Рис. 6.32. Программа решения дифференциального уравнения методом Рунге-Кутта в системе Mathcad
Оптимизация унимодальных функций Часто в процессе исследования системы известно, что целевая функция имеет только один экстремум (максимум или минимум) на известном интервале исследования. При этом целевая функция может не удовлетворять требованию непрерывности, существованию производной во всех точках и вообще может иметь дискретный характер, то есть иметь определенные значения для заранее заданных или известных значений аргумента. Такие функции называются унимодальными. Имеется и более строгое определение унимодальной функции.
Программирование в среде Mathcad
449
Рис. 6.33. Графическое представление решения дифференциального уравнения методом Рунге-Кутта в системе Mathcad
Рис. 6.34. Решение дифференциального уравнения с использованием блока решения Given – odesolve
450
Аналитические вычисления и программирование в среде Mathcad
Пусть x1 и x2 есть значения х в интервале [А, В], которые соответствуют двум выполненным экспериментам (натурному или машинному). Каждому проведенному эксперименту соответствует определенное значение целевой функции (результат эксперимента). Будем полагать, что х1 < x2, а xopt соответствует экстремальному значению целевой функции у. Функция у=f(х) является унимодальной, если выполняются следующие условия: 1) если x1 > xopt , то у1 > y2 (у1 < y2) при поиске максимума (минимума); 2) если x1 < xopt , то у1 < y2 (у1 > y2) при поиске максимума (минимума). А это означает, что при выполнении первого условия на отрезке [x2, В] не может находиться xopt, а следовательно, этот отрезок можно исключить из дальнейшего рассмотрения. Если же выполняется второе условие, то на отрезке [А, х1] не может находиться xopt, а следовательно, отрезок [А, х1] можно исключить из дальнейшего рассмотрения. Таким образом, зная значения целевой функции у1 и y2 в любых двух точках х1 и х2, можно быстро сужать интервал поиска путем отбрасывания интервалов, в которых не содержится искомый оптимум. В этих условиях требуется найти такой алгоритм поиска оптимума унимодальной функции, который за наименьшее число расчетов позволит с заданной степенью точности найти искомый оптимум. Под поиском понимается процесс отыскания такого значения критерия оптимизации (целевой функции), которое близко к искомому экстремуму и в то же время удовлетворяет всем ограничениям. В настоящее время разработано много различных стратегий поиска оптимума унимодальных функций. Рассмотрим наиболее распространенные: метод дихотомии (половинного деления), метод Фибоначчи, метод золотого сечения и метод случайного поиска – метод Монте-Карло. Первые три метода предусматривают последовательный процесс поиска.
Метод дихотомии Метод дихотомии, или половинного деления, – это метод, согласно которому исходная длина интервала поиска экстремума [А, В] на каждой итерации уменьшается почти в 2 раза, что обеспечивает эффективный процесс поиска хopt. Алгоритм метода включает следующие этапы. 1. Определяют координаты двух точек х1 и х2, лежащих вблизи середины исходного интервала исследования [А, В]. Для этого исходный интервал исследования делят пополам и от него в разные стороны откладывают отрезок, равный Dx/2. Полученные точки и будут соответствовать искомым х1 и х2. Значение Dx определяет наименьшую величину изменения аргумента. Процесс поиска оптимума представлен на рис. 6.35. Искомые значения х1 и х2: x1 = A + (B – A) / 2 – Dx / 2 = A + (B – A – Dx) /2; x2 = A + (B – A) / 2 + Dx /2 = A + (B – A + Dx) /2.
Программирование в среде Mathcad
451
Рис. 6.35. Процесс поиска оптимума методом дихотомии
2. Определяют значения целевой функции y1 и y2 для двух точек х1 и х2: y1 = f(x1) и y2 = f(x2). 3. Ищут новый исходный интервал поиска, в котором находится искомый оптимум xopt. Для этого используют свойства унимодальной функции: — если y2 ≥ y1, то А = х1 – отбрасывается интервал [A, х1]; — если y2 ≤ y1, то В = x2 – отбрасывается интервал [x2, В]; при этом если y2 > y1, то ymax = y1 – ищется максимум функции у. 4. Проверяют условие окончания процесса поиска оптимума: — если (В – А) < Dx, то процесс поиска заканчивается. 5. Проверяют число выполненных итераций i. Если число выполненных итераций i > N (максимально допустимого), то процесс поиска заканчивается, в противном случае переходят к этапу 1. Если в методе прямого перебора эффективность поиска оптимума прямо пропорциональна числу расчетов, то по методу дихотомии она возрастает с ростом итераций экспоненциально. Отношение начального интервала поиска (В – А) к интервалу поиска (В – А)N после N итераций приближенно равно 2N/2, то есть . Если для метода прямого перебора требуется 1000 вычислений, то для метода дихотомии – только 20. Рассмотрим реализацию метода с использованием языка программирования Fortran и системы Mathcad.
Программа DIHO1.FOR 100 FORMAT (/ /' ПРОГРАММА DIHO1.FOR '/ /' OПTИMИЗAЦИЯ METOДOM ДИXOTOMИИ '/ /' BXOДHЫE ПAPAMETPЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B=',F10.3 / /' HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX=',F5.4/ /' MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N=',I4/) 11 FORMAT (/ /' ВЫХОДНЫЕ ПАРАМЕТРЫ '/
452
Аналитические вычисления и программирование в среде Mathcad
/' ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK=',F10.3 / /' МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX=',F10.3/ /' ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА II=',I4 /) OPEN(5,FILE='DIHO1.DAN',STATUS='OLD') OPEN(6,FILE='DIHO1.REZ',STATUS='NEW') READ (5,10) A,B,DX,N WRITE (6,10) A,B,DX,N 10 FORMAT (3F10.5,I10) WRITE (6,100) A,B,DX,N DO 1 I=1,N II=I X1=A+(B–A–DX)/2 X2=A+(B–A+DX)/2 Y1=FUNC(X1) Y2=FUNC(X2) IF (Y2.GE.Y1) A=X1 IF (Y2.LE.Y1) B=X2 IF ((B–A).LE.DX) GO TO 2 1 CONTINUE 2 X=(A+B)/2. YMAX=FUNC(X) WRITE (6,11) A,B,YMAX,II CLOSE(5) CLOSE(6) STOP END FUNCTION FUNC(X) FUNC=3.+6.*X–4.*(X**2) RETURN END
Файл исходных данных DIHO1.DAN .00000 10.00000 .00100
100
Файл результатов расчета DIHO1.REZ ПРОГРАММА DIHO1.FOR OПTИMИЗAЦИЯ METOДOM ДИXOTOMИИ BXOДHЫE ПAPAMETPЫ ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A= .000 ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B= 10.000 HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX= .0010
Программирование в среде Mathcad
453
MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N= 100 ВЫХОДНЫЕ ПАРАМЕТРЫ ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK= .749 ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK= .750 МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX= 5.250 ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА II= 12 Программа оптимизации методом дихотомии в системе Mathcad представлена на рис. 6.36 и 6.37. Преимущества метода дихотомии заключаются в предельной простоте алгоритма расчета и ясности действий по его реализации. Однако существуют более совершенные методы поиска экстремума унимодальной функции – метод Фибоначчи и метод золотого сечения.
Метод Фибоначчи По методу Фибоначчи на каждой итерации отбрасывается интервал, хотя и меньший, чем по методу дихотомии, но на каждой итерации требуется выполнить только один расчет, то есть определить координату только одной точки х1 или x2, так как другая точка совпадает с одной из точек, рассчитанных на предыдущей итерации. Для реализации метода используется следующая рекуррентная формула: FN = FN–1 + FN–2, F1 = F2 = 1. Числа, вычисленные по этой рекуррентной формуле, называются числами Фибоначчи. Значения чисел Фибоначчи от N = 1 до N = 15 представлены в табл. 6.1.
Таблица 6.1. Значения чисел Фибоначчи Номер
FN
Номер
FN
Номер
FN
1 2 3 4 5
1 1 2 3 5
6 7 8 9 10
8 13 21 34 55
11 12 13 14 15
89 144 233 377 610
Алгоритм метода включает следующие этапы. 1. Определение числа Фибоначчи для исходного интервала исследования [А, В]. Для этого исходный интервал исследования делят на величину Dx и определяют некоторую величину FI. Близлежащее к FI большее значение и определяет искомое число Фибоначчи. Пусть А = 0, В = 10, Dх = 0.1, тогда FI = (10 – 0)/0.1 = 100. Близлежащее большее число Фибоначчи F (12) = 144, N = 12 (табл. 6.1). 2. Определение координаты двух точек х1 и х2, лежащих на расстоянии, пропорциональном числам Фибоначчи F (N – 2) и F (N – 1), от концов исходного интервала поиска [А, В] (рис. 6.38):
454
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.36. Программа оптимизации методом дихотомии
Рис. 6.37. Окончание программы оптимизации методом дихотомии
Программирование в среде Mathcad
455
Рис. 6.38. Поиск оптимума методом Фибоначчи
x1 = A + (B – A) * F(N – 2)/F(N) x2 = A + (B – A) * F(N – 1)/F(N) 3. Определение значения целевой функции у1 и у2 для двух точек х1 и х2; y1 = f(x1) и y2 = f(x2). Рекуррентная формула FN = FN–1 + FN–2 обеспечивает совпадение одной из точек х1 или х2, полученных на предыдущей итерации, с одной из точек х1 или х2 на данной итерации, что экономит время на определение значения целевой функции для одной точки. 4. Определение нового исходного интервала поиска, в котором находится искомый оптимум хopt. Для определения нового исходного интервала поиска [А, В] используют свойства унимодальной функции: — если y2 ≥ y1, то А = х1 – отбрасывается интервал [А, х1], — если y2 ≤ y1, то В = х2 – отбрасывается интервал [х2. В], при этом если ищется максимум и у2 > у1, то ymax = у1-. 5. Проверка числа выполненных итераций i. Если число выполненных итераций i > N (определенного в п. 1), то процесс поиска заканчивается, в противном случае переходят к п. 2. При этом с каждой итерацией уменьшается на единицу N и уменьшается число Фибоначчи. Если при использовании метода дихотомии требовалось 20 расчетов, то при применении метода Фибоначчи – только 15. Рассмотрим реализацию метода с использованием языка программирования Fortran и системы Mathcad.
Программа FIBO1.FOR 100 FORMAT (/ /' ПРОГРАММА FIBO1.FOR '/ /' ОПТИМИЗАЦИЯ МЕТОДОМ ФИБОНАЧЧИ '/ /' ВХОДНЫЕ ПАРАМЕТРЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B=',F10.3 / /' HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX=',F5.4/ /' MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N=',I4 /)
456
Аналитические вычисления и программирование в среде Mathcad
12 FORMAT (/ /' ВЫХОДНЫЕ ПАРАМЕТРЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK=',F10.3 / /' МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX=',F10.3/ /' ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА I=',I4 /) DIMENSION F(100) OPEN (5,FILE='FIBO1.DAN',STATUS='OLD') OPEN (6,FILE='FIBO1.REZ',STATUS='NEW') READ (5,10) A,B,DX,N WRITE (6,10) A,B,DX,N 10 FORMAT (3F10.5,I10) WRITE (6,100) A,B,DX,N FI=(B–A)/DX F(1)=1. F(2)=1. DO 1 I=3,N F(I)=F(I–1)+F(I–2) IF (FI.LE.F(I)) GO TO 2 1 CONTINUE 2 IFN=I DO 3 II=3,IFN I=IFN+3–II X1=A+(F(I–2)/F(I))*(B–A) X2=A+(F(I–1)/F(I))*(B–A) Y1=FUNC(X1) Y2=FUNC(X2) IF (Y2.GE.Y1) A=X1 YMAX=Y2 IF (Y2.GT.Y1) YMAX=Y1 IF (Y2.LE.Y1) B=X2 3 CONTINUE WRITE (6,12) A,B,YMAX,I CLOSE(5) CLOSE(6) STOP END FUNCTION FUNC(X) FUNC=3.+6.*X–4.*(X**2) RETURN END
Программирование в среде Mathcad
457
Файл исходных данных FIBO1.DAN .00000 10.00000 .00100
100
Файл результатов расчета FIBO1.REZ .00000 10.00000 .00100
100
ПРОГРАММА FIBO1.FOR ОПТИМИЗАЦИЯ МЕТОДОМ ФИБОНАЧЧИ ВХОДНЫЕ ПАРАМЕТРЫ ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A= .000 ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B= 10.000 HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX=.0010 MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N= 100 ВЫХОДНЫЕ ПАРАМЕТРЫ ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK= .750 ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK= .750 МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX= 5.250 ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА I= 3 Программа оптимизации методом Фибоначчи в системе Mathcad представлена на рис. 6.39, 6.40 и 6.41.
Рис. 6.39. Программа оптимизации методом Фибоначчи в системе Mathcad
458
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.40. Продолжение программы оптимизации методом Фибоначчи в системе Mathcad
Рис. 6.41. Окончание программы оптимизации методом Фибоначчи в системе Mathcad
Программирование в среде Mathcad
459
Большая эффективность метода Фибоначчи связана с тем, что для сужения длины очередного интервала поиска требуется выполнить один расчет, провести один эксперимент, тогда как по методу дихотомии – два. Отношение начального интервала исследования (В – А) к интервалу исследования на N-ой итерации (В – А)N приближенно равно числу Фибоначчи: (В – А) / (В – А)N = F(N). Однако метод Фибоначчи требует предварительного определения числа Фибоначчи, что усложняет расчет. Существует еще один метод поиска экстремума унимодальных функций, который почти так же эффективен, как метод Фибоначчи, но не требует дополнительных расчетов в начале поиска, – это метод золотого сечения.
Метод золотого сечения Перед изложением метода золотого сечения обозначим величину исходного интервала исследования [A, В] через 1, а величину [С, В] через х. Тогда соотношение АВ/СВ = СВ /АС запишется в таком виде: . Решая это уравнение, получим x2 + x – 1 = 0, откуда . Если от концов исходного интервала исследования отложить величину (В—А) . 0,6180339, то получим точки х1 и х2, каждая из которых делит в том же соотношении оставшийся интервал исследования после отбрасывания одного из крайних [А, х1] или [х2, В]. Это позволяет сократить число необходимых расчетов на каждой итерации. Алгоритм метода включает следующие этапы. 1. Определение координат двух точек, х 1 и х 2 , лежащих на расстоянии (В–А) . 0,6180339 от концов исходного интервала исследования: x1 = B – (B – A) . 0.6810339, x2 = A + (B – A) . 0.6810339. При этом одна из координат точек х1 или х2 совпадает с точкой, определенной на предыдущей итерации. 2. Определение значений целевой функции у1 и у2 для двух точек х1 и х2: y1 = f (x1) и y2 = f (x2). Для координаты точки, которая совпала с координатой, определенной на предыдущей итерации, значение целевой функции уже не вычисляется, экономятся ресурсы и время.
460
Аналитические вычисления и программирование в среде Mathcad
3. Определение нового исходного интервала поиска, в котором находится искомый оптимум xopt. Для этого используют свойства унимодальной функции: — если y2 ≥ y1 то А = х1 – отбрасывается интервал [А, х1 ], — если y2 ≤ y1, то В = х2 – отбрасывается интервал [х2. В], при этом если ищется максимум и у2 > у1, то ymax = у1-. 4. Проверка условия окончания процесса поиска оптимума: — если (B–A) < DX (точность поиска), то процесс поиска заканчивается. При достаточно большом количестве вычислений (итераций) искомый интервал поиска по методу золотого сечения лишь на 17% больше, чем при использовании метода Фибоначчи, однако сам алгоритм метода золотого сечения проще. Рассмотрим реализацию метода с использованием языка программирования Fortran и системы Mathcad.
Программа ZOLO1.FOR 100 FORMAT (/ /' ПРОГРАММА ZOLO1.FOR '/ /' ОПТИМИЗАЦИЯ МЕТОДОМ ЗОЛОТОГО СЕЧЕНИЯ '/ /' ВХОДНЫЕ ПАРАМЕТРЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B=',F10.3 / /' HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX=',F5.4/ /' MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N=',I4/) 11 FORMAT (/ /' ВЫХОДНЫЕ ПАРАМЕТРЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK=',F10.3 / /' МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ MAX=',F10.3/ /' ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА I=',I4 /) DATA ZS/0.6180339/ OPEN (5,FILE='ZOLO1.DAN',STATUS='OLD') OPEN (6,FILE='ZOLO1.REZ',STATUS='NEW') READ (5,10) A,B,DX,N WRITE (6,10) A,B,DX,N 10 FORMAT (3F10.5,I10) WRITE (6,100) A,B,DX,N X1=B–(B–A)*ZS X2=A+(B–A)*ZS Y1=FUNC(X1) Y2=FUNC(X2) DO 3 I=1,N IF (Y2.GE.Y1) GO TO 1 B=X2 X2=X1 Y2=Y1
Программирование в среде Mathcad
1
2 3 4
461
X1=B–(B–A)*ZS Y1=FUNC(X1) GO TO 2 A=X1 X1=X2 Y1=Y2 X2=A+(B–A)*ZS Y2=FUNC(X2) IF ((B–A).LE.DX) GO TO 4 CONTINUE X=(A+B)/2 YMAX=FUNC(X) WRITE (6,11) A,B,YMAX,I CLOSE(5) CLOSE(6) STOP END FUNCTION FUNC(X) FUNC=3.+6.*X–4.*(X**2) RETURN END
Файл исходных данных ZOLO1.DAN .00000 10.00000 .00100
100
Файл результатов расчета ZOLO1.REZ .00000 10.00000 .00100
100
ПРОГРАММА ZOLO1.FOR ОПТИМИЗАЦИЯ МЕТОДОМ ЗОЛОТОГО СЕЧЕНИЯ ВХОДНЫЕ ПАРАМЕТРЫ ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A= .000 ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B= 10.000 HAИM. BEЛИЧИHA ИЗMEHEHИЯ APГУMEHTA DX=.0010 MAKCИMAЛЬHO ДOПУCT.ЧИCЛO ИTEPAЦИЙ N= 100 ВЫХОДНЫЕ ПАРАМЕТРЫ ЛЕВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА AK= .750 ПРАВАЯ ГРАНИЦА ИСКОМОГО ИНТЕРВАЛА BK= .751 МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ MAX= 5.250 ВЫПОЛНЕННОЕ ЧИСЛО ИТЕРАЦИЙ ПОИСКА I= 20 Программа оптимизации методом золотого сечения в системе Mathcad представлена на рис. 6.42, 6.43 и 6.44.
462
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.42. Программа оптимизации методом золотого сечения в системе Mathcad
Рис. 6.43. Продолжение программы оптимизации методом золотого сечения в системе Mathcad
Программирование в среде Mathcad
463
Рис. 6.44. Окончание программы оптимизации методом золотого сечения в системе Mathcad
Метод случайного поиска Методы случайного поиска отличаются от регулярных (детерминированных) методов оптимизации намеренным введением элемента случайности. Регулярные методы, как правило, более тонко настроены на специфику оптимизируемого процесса, а также имеют более сложные алгоритмы поиска оптимума. Введение элемента случайности часто дает возможность построить весьма простые и эффективные алгоритмы поиска. Под поиском понимается процесс отыскания такого значения критерия оптимизации (целевой функции), которое близко к искомому экстремуму и в то же время удовлетворяет всем ограничениям. Алгоритмы случайного поиска, решающие задачи оптимизации многопараметрических систем, обладают такими привлекательными свойствами, как повышенное быстродействие, высокая надежность и помехоустойчивость, слабая восприимчивость к различного рода «ловушкам». Их часто используют в комбинации с другими методами оптимизации, в частности с градиентными. Различают ненаправленный случайный поиск, направленный поиск без самообучения, направленный случайный поиск с самообучением. Ненаправленный случайный поиск (или метод статистических испытаний, метод Монте-Карло) заключается в многократном моделировании независимых случайных вариантов
464
Аналитические вычисления и программирование в среде Mathcad
решений из области допустимых, вычислении в каждом из них критерия оптимизации и запоминании наиближайшего к экстремуму. Метод Монте-Карло относится к числу универсальных, поскольку позволяет решать многоэкстремальные задачи общего вида с отысканием глобального экстремума. Основной недостаток метода заключается в необходимости проведения большого числа испытаний для получения решения, достаточно близкого к оптимальному, то есть наличии медленной сходимости к экстремуму. Направленный случайный поиск без самообучения является модернизацией направленного случайного поиска. В основе метода лежит использование результатов поиска предыдущих шагов. Направленный случайный поиск с самообучением заключается в добавлении алгоритмов самообучения, которые корректируют вектор предыстории (случайный вектор Е) преимущественно в направлении удачного предыдущего шага или в направлении, обратном предыдущему неудачному шагу, в случае нелинейной целевой функции, например путем перестройки вероятностей Р1, ..., Рi, ..., Рn составляющих случайного вектора Е = (е1, ..., еi, ..., en). Так, при целевой функции, близкой к линейной, вероятность шага в удачном направлении увеличивается, и наоборот. На базе широкого использования различных методов случайного поиска развилось новое направление в исследовании самых разнообразных процессов – имитационное моделирование, особенно в связи с появлением ЭВМ третьего поколения. Вообще под имитацией понимается численный метод исследования системы, процесса, операции с помощью математических моделей, описывающих функционирование исследуемых систем, на ЭВМ для анализа и синтеза интересующих исследователя функциональных характеристик. Имитационное моделирование позволяет проводить широкие исследования случайных факторов, которыми изобилуют реальные системы, процессы, операции. Но в ряде случаев оно требует больших затрат на программирование, отладку моделей и проведение доследования, а также усложняется процесс интерпретации полученных результатов. Использование методов случайного поиска определяется в основном следующими ситуациями: • неприемлемостью или отсутствием соответствующих аналитических и численных методов исследования модели; • возможностью создания модели функционирования системы (процесса), получением необходимого количества информации о моделируемой системе (процессе); • наличием большого числа случайных факторов в исследуемой системе (процессе); • наличием современной вычислительной техники и соответствующего программного обеспечения. Рассмотрим реализацию метода Монте-Карло с использованием языка программирования Fortran и системы Mathcad.
Программирование в среде Mathcad
465
Программа SLUCH.FOR 100 FORMAT (/ /' ПРОГРАММА SLUCH.FOR '/ /' OПTИMИЗAЦИЯ METOДOM СЛУЧАЙНОГО ПОИСКА '/ /' BXOДHЫE ПAPAMETPЫ '/ /' ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A=',F10.3 / /' ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B=',F10.3/ /' MAKCИMAЛЬHO ДOПУCTИМОЕ ЧИCЛO ИМИТAЦИЙ N=',I4/) 11 FORMAT (/ /' ВЫХОДНЫЕ ПАРАМЕТРЫ '/ /' МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX=',F10.3 / /' ОПТИМ.ЗНАЧЕНИЕ ИСКОМОГО ПАРАМЕТРА XOPT=',F10.3 / /' ВЫПОЛНЕННОЕ ЧИСЛО ИМИТАЦИЙ ПОИСКА N=',I4 /) OPEN (5,FILE='SLUCH.DAN',STATUS='OLD') OPEN (6,FILE='SLUCH.REZ',STATUS='NEW') IX=34 READ (5,10) A,B,N WRITE (6,10) A,B,N 10 FORMAT (2F10.3,I5) UNTER=B-A DO 1 I=1,N CALL RANDU (IX,YFL) X=A+YFL*UNTER Y=FUNC(X) IF (Y.LT.YMAX) GO TO 1 XOPT=X YMAX=Y 1 CONTINUE WRITE (6,100) A,B,N WRITE (6,11) YMAX,XOPT,N CLOSE(5) CLOSE(6) STOP END FUNCTION FUNC(P) FUNC=3.+6.*P–4.*(P**2) RETURN END SUBROUTINE RANDU (IX,YFL) IX=10*IX–97*INT(10*IX/97.) YFL=(IX–1)/95. RETURN END
Аналитические вычисления и программирование в среде Mathcad
466
Файл исходных данных SLUCH.DAN .000
10.000 1000
Файл результатов расчета SLUCH.REZ .000 10.000 1000 ПРОГРАММА SLUCH.FOR OПTИMИЗAЦИЯ METOДOM СЛУЧАЙНОГО ПОИСКА BXOДHЫE ПAPAMETPЫ ЛЕВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА A= .000 ПРАВАЯ ГРАНИЦА ИСХОДНОГО ИНТЕРВАЛА B= 10.000 MAKCИMAЛЬHO ДOПУCTИМОЕ ЧИCЛO ИМИТAЦИЙ N=1000 ВЫХОДНЫЕ ПАРАМЕТРЫ МАКСИМ.ЗНАЧЕНИЕ ЦЕЛЕВОЙ ФУНКЦИИ YMAX= 5.249 ОПТИМ.ЗНАЧЕНИЕ ИСКОМОГО ПАРАМЕТРА XOPT= .737 ВЫПОЛНЕННОЕ ЧИСЛО ИМИТАЦИЙ ПОИСКА N=1000 Программа оптимизации методом Монте-Карло в системе Mathcad представлена на рис. 6.45 и 6.46.
Рис. 6.45. Программа оптимизации методом Монте-Карло в системе Mathcad
Программирование в среде Mathcad
467
Рис. 6.46. Продолжение программы оптимизации методом Монте-Карло в системе Mathcad
Чтобы перенести весь материал рабочего листа в текстовый редактор, например в Word XP: ¾ щелкните в левом углу рабочего листа; ¾ нажмите левую кнопку мышки и, удерживая ее нажатой, захватите пунктирным прямоугольником все области рабочего листа. Отпустите левую кнопку мышки. Все захваченные области будут выделены пунктирным прямоугольником; ¾ щелкните правой кнопкой мыши в пределах одного из выделенных блоков. Появится контекстно-зависимое меню – рис. 6.47; ¾ щелкните в контекстно-зависимом меню по пункту Копировать (Copy). Все захваченные блоки рабочего листа будут скопированы в буфер обмена данными; ¾ перейдите в текстовый редактор и там вставьте со- Рис. 6.47. Контекстнодержимое буфера в нужное место, нажав, например, зависимое меню для комбинацию клавиш Shift+Ins. выделенных блоков В качестве примера скопируем все блоки, связанные с методом Монте-Карло. На рис. 6.48 представлены все блоки, которые содержались на рис. 6.45 и 6.46.
468
Аналитические вычисления и программирование в среде Mathcad
Рис. 6.48. Программа оптимизации методом Монте Карло, вставленная в документ текстового редактора Word XP из системы Mathcad
Глава 7 Решение задач исследования операций Распределительные задачи .... 470 Задачи управления запасами ............. 491 Задачи массового обслуживания ....... 509
470
Решение задач исследования операций
Исследование операций – это прикладное направление кибернетики, изучающее способы совершенствования и повышения эффективности организации, планирования и управления в различных системах на основе количественных методов. Наибольшее распространение находят многовариантные и оптимизационные расчеты. В настоящее время постепенно переходят от многовариантных расчетов к оптимизационным, которые имеют большие преимущества перед многовариантными. Задача оптимизации в общем случае включает три составляющие: целевую функцию (критерий оптимизации); ограничения; граничные условия. Граничные условия показывают предельно допустимые значения искомых переменных. Ограничения определяют существующие связи между искомыми переменными. По своему происхождению связи могут быть детерминированными и статистическими. Критерий оптимизации показывает влияние искомых переменных на его величину, которая должна быть минимизирована или максимизирована в зависимости от выбранного критерия. Значения искомых переменных, удовлетворяющих граничным условиям и ограничениям, называют допустимым решением задачи. В многовариантных расчетах задаются конкретными значениями некоторых искомых величин. В оптимизационных же расчетах задаются не конкретные значения некоторых искомых величин, а граничные условия, то есть предельно допустимые значения всех искомых величин. В многовариантных расчетах значение целевой функции является следствием заданных значений величин. В оптимизационных же расчетах находятся такие значения искомых величин, которые, во-первых, удовлетворяют всем ограничениям и граничным условиям, а во-вторых, придают целевой функции оптимальное, то есть максимальное или минимальное, значение. Ниже рассмотрен процесс решения нескольких классов задач исследования операций как классическим способом, так и с использованием системы Mathcad.
Распределительные задачи Это задачи, в которых имеется ограниченное количество ресурсов, недостаточное для выполнения всех работ наилучшим образом. Необходимо распределить их таким образом, чтобы достичь наибольшего эффекта. Распределительные задачи по наличию того или иного признака можно разделить: 1. По виду целевой функции – на линейные и нелинейные. Если затраты (доход), определяемые объемом xij ресурса i, выделенного на выполнение работы j, равны xijcij – ограничения линейны, то мы имеем линейную распределительную задачу (в противном случае нелинейную). 2. По имеющимся в наличии потребным ресурсам на сбалансированные (закрытые) и несбалансированные (открытые). Если общий объем наличных ресурсов равен общей потребности в них, то имеет место сбалансированная
Распределительные задачи
471
(закрытая) распределительная задача, в противном случае несбалансированная (открытая). 3. По характеру изменения переменных – на три класса: – если все переменные при решении могут иметь любое значение из области допустимых, имеющих непрерывный характер, то такие задачи мы будем относить к классу задач с непрерывным изменением переменных; – если на все переменные или на их часть наложено дополнительное требование целочисленности, то мы имеем дело с целочисленными распределительными задачами; – если областью допустимых изменений каждой переменной является не множество целых неотрицательных чисел, а некоторое заданное конечное множество (например, количество единиц продукции разных видов), то мы имеем дискретную задачу оптимизации. 4. По количеству экстремумов у целевой функции – на одноэкстремальные и многоэкстремальные. Класс распределительных задач, для которых любой локальный оптимум целевой функции на множестве допустимых планов является одновременно и глобальным оптимумом, называется одноэкстремальным. При наличии в задаче многих локальных экстремумов задачи называются многоэкстремальными. 5. По характеру распределения ресурсов во времени – на статические и динамические. Если распределительная задача не связана со временем или каждое последующее распределение не зависит от всех остальных распределений, то задача называется статической, в противном случае – динамической. Рассмотрим решение в системе Mathcad некоторых распределительных задач.
Задача о назначении Постановки задач Постановка задачи А. Пусть на предприятии имеется n типов универсального оборудования и требуется изготовить n видов изделий. Известно время изготовления каждого изделия на всех видах оборудования. Требуется определить: какое изделие, на каком оборудовании необходимо изготавливать, чтобы суммарное время изготовления всех изделий было минимально. Постановка задачи В. Для реализации производственного процесса необходимо выполнить n операций. Имеется n рабочих, которые способны осуществить эти операции, и время выполнения каждым рабочим любой из n операций. Требуется определить: кто и какую операцию должен выполнять, чтобы суммарное время выполнения всего производственного процесса было минимально. Постановка задачи С. В конструкторском бюро требуется разработать проект машины, состоящей из n узлов. К их разработке можно привлечь n конструкто-
472
Решение задач исследования операций
ров. Известно время, затрачиваемое каждым конструктором на разработку отдельного узла. Требуется определить: какие конструкторы должны разрабатывать тот или иной узел, чтобы суммарное время проектирования машины было минимально. Постановка задачи D. Пусть управление механизации имеет 5 кранов и требуется возвести 5 объектов. Известна себестоимость строительства каждым краном отдельного объекта. Требуется так распределить машины по объектам, чтобы обеспечить возведение всех объектов с минимальными суммарными затратами. Исходная информация представлена в табл. 7.1.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Введем переменные Xij, которые равны 1, если i-ый кран работает на j-ом объекте, и 0, если он не работает там. Сформулируем ограничения в задаче. 1. Каждый кран может работать только на одном объекте. Это ограничение можно записать в таком виде: (i = 1, 2, …, m)
(7.1)
2. Каждый объект может возводиться только одним краном. Это ограничение можно записать так: ( j = 1, 2, …, m)
(7.2)
Построение математической модели. В качестве критерия оптимизации принята суммарная себестоимость выполнения всех работ. Обозначим через Yij себестоимость возведения j-го объекта i-ым краном. Тогда критерий оптимизации Y – суммарная себестоимость выполнения всех работ – запишется в таком виде: (7.3) Совокупность ограничений (7.1) и (7.2) и целевой функции (7.3) образует математическую модель типичной экстремальной комбинаторной задачи. Ее решение представляет собой некоторую перестановку чисел, а количество перестановок с ростом n резко возрастает и равно N = n!. Даже для нашей задачи N = 5! = 120, а для n = 7 число перестановок составляет 5040. В научно-технической литературе эта задача имеет свое название – задача о назначении. Она относится к классу задач линейного программирования, так как ограничения и целевая функция имеют линейный вид, то есть искомые величины находятся в первой степени.
Распределительные задачи
473
Решение задачи традиционными методами Алгоритм решения. Для решения задач данного типа разработано много методов, рассмотрим один из наиболее распространенных – венгерский. Алгоритм этого метода включает четыре основных этапа. Для поиска оптимального решения потребуется не более чем n–2 последовательно проводимых итераций. 1. Получение нулей в каждой строке и каждом столбце. Находим наименьший элемент в каждой строке исходной таблицы (табл. 7.1), вычитаем его из всех ее элементов и получаем новую таблицу (табл. 7.2). Аналогично производим действия для каждого столбца новой таблицы (табл. 7.2). Получаем табл. 7.3. 2. Проверка решения на оптимальность. Ищем строку, содержащую наименьшее число нулей (в нашей задаче строка 3), отмечаем звездочкой один из них и зачеркиваем все остальные нули этой строки и столбца, содержащего нуль со звездочкой. Аналогичные операции последовательно выполняем для всех строк. Если число нулей, отмеченных звездочкой, равно n, то решение является оптимальным, в противном случае нужно переходить к следующему шагу. В нашей задаче количество отмеченных звездочкой нулей не равно n, следовательно, решение не оптимально (табл. 7.4). Переходим к следующему этапу.
Таблица 7.1
Таблица 7.2
Таблица 7.3
Таблица 7.4
3. Поиск минимального набора строк и столбцов, содержащих нули. Необходимо отметить звездочкой:
474
Решение задач исследования операций
а) все строки, не имеющие ни одного отмеченного звездочкой нуля (табл. 7.5, строка 4); б) все столбцы, содержащие перечеркнутый нуль хотя бы в одной из отмеченных звездочкой строк (табл. 7.5, столбец 3); в) все строки, содержащие отмеченные звездочкой нули хотя бы в одном из помеченных столбцов (табл. 7.5, строка 3). Далее повторяются поочередно действия «б» и «в» до тех пор, пока есть что отмечать. После этого необходимо зачеркнуть каждую непомеченную строку и каждый помеченный столбец. Цель этого этапа – провести минимальное число горизонтальных и вертикальных прямых, пересекающих по крайней мере один раз все нули. 4. Перестановка некоторых нулей. Находится наименьший элемент в невычеркнутых клетках (табл. 7.5, число 20), вычитается из каждого элемента для непомеченных столбцов и прибавляется к каждому элементу непомеченной строки. Результаты расчета заносятся в новую таблицу (см. табл. 7.6).
Таблица 7.5
Таблица 7.6
Эта операция не изменяет оптимального решения. После нее выполняется новая итерация, цикл расчета начинается с этапа 2, и так до тех пор, пока не будет получено оптимальное решение. Поскольку число нулей, отмеченных звездочкой, не равно n, выполняется новый итерационный цикл, после выполнения которого находится оптимальное решение (табл. 7.7). Согласно ему распределение кранов по объектам должно быть проведено так: • первый кран возводит пятый объект; Таблица 7.7 • второй кран возводит первый объект; • третий кран возводит третий объект; • четвертый кран возводит четвертый объект; • пятый кран возводит второй объект; при этом суммарная себестоимость выполнения всех работ будет минимальной и составит Yмин. = 220. Этот метод впервые был предложен венгерским математиком Эгервари в 1931 г. и длительное время оставался малоизвестным. В 1953 г. математик Г. Кун перевел работу на английский язык и несколько усовершенствовал венгерский метод.
Распределительные задачи
475
Решение задачи с использованием системы Mathcad Введем сначала поясняющий текст в рабочем листе. Для этого: ¾ установите указатель курсора (визир – красный крестик) в месте ввода текста; ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в появившемся выпадающем меню по пункту Текстовая область (Text Region) или в месте расположения курсора нажмите клавишу с двойной кавычкой (команда для ввода текста). В обоих случаях появится шаблон, указывающий место и начало ввода текста; ¾ введите нужный текст. Текстовая область будет автоматически увеличиваться по мере ввода текста; ¾ выведите курсор (маркер ввода – красная вертикальная черточка) за рамки текстовой области после окончании ввода нужного текста. Далее введем критерий оптимизации – целевую функцию. Для этого: ¾ установите указатель курсора (визир – красный крестик) в месте ввода математического выражения; ¾ введите имя критерия оптимизации с аргументами, записанными через запятые и заключенными в скобки; ¾ нажмите комбинацию клавиш Shift+: (двоеточие). Появится знак присваивания :=; ¾ введите в правой метке выражение критерия оптимизации. Аналогично вводятся начальные приближения. Для решения задачи используем блок функций Given… Minimize. Для этого: ¾ введите, если необходимо, комментарии, нажав клавишу с двойной кавычкой; ¾ введите ключевое слово Given; ¾ введите систему ограничений. При вводе ее используйте знак равенства, вызвав его нажатием комбинации клавиш Ctrl+=; ¾ введите граничные условия (рис. 7.1); ¾ нажмите комбинацию клавиш Shift+: (двоеточие). Появится знак присваивания :=; ¾ введите в левую метку шаблона вектор искомых переменных; ¾ введите в правую метку шаблона имя функции Minimize с искомыми параметрами, например Minimize (Y,X11,X12,…); ¾ выведите результаты расчета. На рис. 7.2 показан процесс и результаты решения задачи о назначении. Оптимальное распределение зафиксировано в векторе (X11 X12 X21 …). Из полученного решения видно, что Х12 = 1, Х21 = 1 и Х33 = 1. Это означает: чтобы оптимально распределить три крана на три объекта, необходимо первый кран направить на второй объект, второй – на первый, а третий – на третий. Первая цифра в переменной Х определяет машину, а вторая – объект работы. При таком распределении кранов по объектам минимальные суммарные затраты Y составят 100 условных единиц.
476
Решение задач исследования операций
Рис. 7.1. Формирование математической модели в Mathcad
Рис. 7.2. Поиск оптимальных распределений в Mathcad
Распределительные задачи
477
Оптимальное распределение однородных ресурсов Постановки задач Постановка задачи A. Пусть имеется m источников финансирования А1, А2, …, Аm и n периодов финансирования В1, В2, …, Вn. Известны затраты, связанные с выделением единицы денежных ресурсов, Сij из i-го источника в j-ом периоде, а также объемы финансирования из каждого i-го источника в течение всего времени – ai. Известны суммарные объемы финансирования из всех источников в каждый j-ый период Таблица 7.8 времени – bj. Требуется определить объемы финансирования Xij из i-го источника в j-ом периоде, чтобы: 1) ресурсы всех источников были реализованы; 2) обеспечить финансирование в полном объеме в каждом периоде; 3) достигнуть экстремума выбранного критерия оптимизации. Исходная информация представлена в табл. 7.8. Постановка задачи В. Пусть имеется m пунктов отправления (или пунктов производства) некоторого ресурса (например, компьютеров, мебельных гарнитуров, …) А1, А2, …, Аm и n пунктов назначения (или пунктов потребления) ресурса В1, В2, …, Вn. Обозначим количество ресурсов (компьютеров, мебельных гарнитуров, …) в i-ом пункте отправления через ai (i = 1, …, m), а потребность каждого j-го пункта потребления этого вида ресурсов – через bj (j = 1, …, n). Известны затраты на перевозку одной единицы ресурса из каждого i-го пункта отправления в каждый j-ый пункт назначения. Требуется определить, какое количество ресурсов Xij ≥ 0 необходимо поставить (перевезти) из каждого i-го пункта отправления в каждый j-ый пункт назначения, чтобы: 1) вывести все ресурсы (компьютеры, мебельные гарнитуры, …) всех поставщиков; 2) обеспечить всех потребителей данным видом ресурсов; 3) все перевозки выполнить с минимальными затратами.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Предположим, что общий объем (поставляемых ресурсов) финансирования из всех источников равен объему потребления ресурсов во всех периодах:
478
Решение задач исследования операций
В такой постановке данная задача называется сбалансированной задачей финансирования. Объемы финансирования Xij из i-го источника в j-ом периоде будем проставлять в левых нижних углах клеток таблицы. Введем ограничения в задаче: 1. Ресурсы всех источников должны быть реализованы. Это ограничение можно записать в таком виде: (7.4) 2. Выполнить объем финансирования в каждом периоде. Это ограничение можно записать так: (7.5) Введем граничные условия, которые определяют предельно допустимые значения искомых переменных. Для нашей задачи граничные условия можно представить в таком виде: Xij ≥ 0, (i = 1,2,…, m), (j = 1,2,…, n) (7.6)
Решение задачи традиционными методами Построение математической модели. Суммарные затраты, связанные с распределением объемов финансирования Xij из каждого i-го источника в каждом j-ом периоде, можно записать в таком виде: (7.7) Совокупность систем линейных ограничений (7.4), (7.5), граничных условий (7.6) и линейной целевой функции (7.7) образует математическую модель для нашей задачи, которую часто называют транспортной. Рассмотрим один из эффективных алгоритмов решения транспортной задачи – метод потенциалов. В качестве начального допустимого решения (начального, опорного плана) возьмем решение, приведенное в табл. 7.9. Основой вычислительного процесса (алгоритма) этого метода является определение Таблица 7.9 критерия оптимальности вида: dij = Cij – Zij, где Cij – фактические затраты, связанные с выделением единицы денежных ресурсов из i-го источника в j-ом периоде, Zij – расчетные затраты, связанные с выделением единицы денежных ресурсов из i-го источника в j-ом периоде.
Распределительные задачи
479
Расчетные затраты Zij определяются только для клеток, в которые финансовые ресурсы не распределены. Если все dij ≥ 0 (i = 1, 2, …, m), (j = 1, 2, …, n), то полученное допустимое решение (опорный план) является оптимальным, если нет, то с помощью этого критерия оптимизации можно указать способ улучшения решения. Алгоритм решения. Алгоритм решения включает следующие основные этапы: 1. Составление и решение системы уравнений. Вводятся условные цены-оценки единицы ресурса для каждого поставщика Ui (i = 1, 2, …, m) и каждого потребителя Vj (j = 1, 2, …, n). Эти оценки, или, как их чаще называют, потенциалы, выступают в задаче в качестве локальных цен (или наценок к единой цене), создающих заинтересованность в правильном распределении ресурсов. Так, цена в пункте потребления Vj равна цене в пункте поставщика Uj плюс наценка Cij. В нашей задаче наценка Cij представляет собой дополнительные затраты на выделение единицы ресурса из i-го источника в j-ом периоде. Таким образом: Vj = Ui + Cij. С целью нахождения значений Vj (j = 1, 2, …, n) и Ui (i = 1, 2, …, m) составляются уравнения для клеток, в которые распределены ресурсы в опорном плане: V3 – U1 = C13 = 24; V2 – U2 = C22 = 18; V1 – U3 = C31 = 19; V2 – U3 = C32 = 10; V1 – U4 = C41 = 3; V3 – U3 = C33 =100; V4 – U4 = C44 = 8. Имеем 7 уравнений и 8 неизвестных, поэтому одной из искомых переменных, желательно наиболее часто встречающейся в уравнениях, для облегчения счета нужно дать произвольное значение, равное нулю. В нашей системе уравнений наиболее часто встречающаяся переменная U3. Положим, U3 = 0. Последовательно решая соответствующие уравнения, получим: V1 =19, V2 = 10, V3 = 100, U1 = 76, U2 = – 8, U4 = 16, V4 = 24. 2. Определение расчетных значений Zij. Zij = Vj – Ui. При этом используются те индексы i и j, на пересечении которых в соответствующих клетках не распределены ресурсы: Z11 = V1 – U1 = 19 – 76 = –57; Z12 = V2 – U1 = 10 – 76 = –66; Z14 = V4 – U1 = 24 – 76 = –52;
480
Решение задач исследования операций
Z21 = V1 – U2 = 19 + 8 = 27; Z23 = V3 – U2 =100 + 8 = 108; Z24 = V4 – U2 = 24 + 8 = 32; Z34 = V4 – U3 = 24 + 0 = 24; Z42 = V2 – U4 = 10 – 16 = –6; Z43 = V3 – U4 =100 – 16 = 84. 3. Определение значений dij и проверка условия оптимальности. Если все dij ≥ 0 (i = 1, 2, …, m), (j = 1, 2, …, n), то полученное допустимое решение (опорный план) является оптимальным, если нет, то переходят к новому: d11 = C11 – Z11 = 70 + 57 = 127; d12 = C12 – Z12 = 38 + 66 = 104; d14 = C14 – Z14 = 92 + 52 = 144; d21 = C21 – Z21 = 58 – 27 = 31; d23 = C23 – Z23 = 56 – 108 = –52; d24 = C24 – Z24 = 72 – 32 = 40; d34 = C34 – Z34 = 30 – 24 = 6; d42 = C42 – Z42 = 36 + 6 = 42; d43 = C43 – Z43 =121 – 84 = 37. В нашей задаче не все d23 ≥ 0, а это означает, что решение еще не оптимально и мы переходим к определению нового опорного плана. 4. Определение нового опорного плана, которому отвечает меньшее значение целевой функции. Для этого в решение вводится та переменная Xij, которой отвечает наименьшее отрицательное значение dij. Вводя ее, одновременно изменяют величины других переменных, по меньшей мере в трех заполненных клетках, чтобы не нарушались итоговые величины в строках и столбцах таблицы – ai, bj. Для этого строят многоугольник, в котором одна из вершин находится в свободной клетке, а остальные – в заполненных ресурсами (загруженных). Для этой вершины dij < 0 и имеет наименьшее значение. При этом все углы многоугольника должны быть прямыми. Перемещение ресурсов производят в пределах клеток, лежащих в вершинах многоугольника (рис. 7.3). Если для свободной клетки поставить знак + (плюс), а в следующей вершине – (минус), затем снова + и т. д., поочередно изменяя знак, то в нее переносится меньшее из чисел, стоящих в клетках с отрицательными знаками. В результате она исключается из опорного плана как основная переменная. Одновременно необходимо установить равновесие по всему многоугольнику. Если использовать правило перераспределения ресурсов в пределах многоугольника, распределение будет выглядеть так (рис. 7.4):
Распределительные задачи
Рис. 7.3. Схема перераспределения ресурсов
481
Рис. 7.4. Схема перераспределенных ресурсов
При этом сумма ресурсов по всем строкам и столбцам осталась без изменений. Проводя соответствующие преобразования в исходном допустимом решении (исходном плане), получим новый опорный план (табл. 7.10). В результате построения нового допустиТаблица 7.10 мого решения (начального плана) способом потенциалов величина критерия оптимизации (целевой функции) будет равна: Y = 14 . 24 + 19 . 18 + 1 . 56 + 23 . 19 + +3 . 10 + 7 . 3 + 34 . 8 = 1494. Нахождением нового опорного плана заканчивается первое приближение (первая итерация). Далее аналогичные этапы, начиная с первого, повторяются.
Решение задачи с помощью Mathcad Введите в рабочем листе поясняющий текст. Для этого: ¾ установите указатель курсора в месте начала ввода текста и щелкните мышью. В месте щелчка мышью появится красный крестик; ¾ щелкните в главном меню по пункту Вставить (Insert). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Текстовая область (Text Region) или в месте расположения курсора нажмите клавишу с двойной кавычкой (команда для ввода текста). В обоих случаях появится шаблон, указывающий место и начало ввода. Указатель курсора будет в виде красной палочки; ¾ вводите нужный вам текст. Текстовая область будет автоматически увеличиваться по мере ввода текста. По окончании ввода текста необходимо вывести курсор (маркер ввода) за рамки текстовой области. Далее введите критерий оптимизации – целевую функцию. Для этого: ¾ установите указатель курсора в месте начала ввода математического выражения и щелкните мышью. В месте щелчка мышью появится красный крестик; ¾ начните вводить критерий оптимизации. Указатель мыши превратится в синюю клюшку, охватывающую очередной введенный символ. Вначале
482
Решение задач исследования операций
введите имя критерия оптимизации, с аргументами в скобках через запятые; Y(X11,X12,X13,X21,X22,X23,X31,X32,X33); ¾ введите знак присваивания, нажав комбинацию клавиш Shift+: (двоеточие). В правой части появится метка; ¾ введите на месте правой метки само выражение критерия оптимизации. Начальные приближения вводятся аналогично. Для решения задачи можно использовать блок функций Given … Minimize, произведя следующие операции: ¾ введите, если необходимо, комментарии, воспользовавшись клавишей с двойной кавычкой; ¾ введите ключевое слово Given; ¾ введите систему ограничений. При вводе ее используйте знак равенства, вызванный нажатием комбинации клавиш Ctrl+=; ¾ введите граничные значения (рис. 7.5); ¾ введите шаблон присваивания := (двоеточие и знак равно); ¾ введите в левую метку шаблона вектор искомых переменных; ¾ введите в правую метку имя функции Minimize с искомыми параметрами, например так: Minimize (Y,X11,X12,…) (рис. 7.6); ¾ выведите результаты расчета. На рис. 7.5 показано начало процесса оптимизации распределения однородных ресурсов с помощью Mathcad. Это математическое описание конкретной транспортной задачи в нотации системы. Представлен критерий оптимизации, начальные приближения и граничные условия. В описании двух первых пунктов использован знак присваивания := (двоеточие и равно). Он вводится щелчком левой кнопки мышки по второй кнопке в первой строке панели инструментов Вычисление, если эта панель была заранее выведена на рабочий лист. Знак присваивания := может быть введен и нажатием комбинации клавиш Shift+: (двоеточие). Следует обратить внимание на представление системы ограничений в Mathcad. При ее написании используется жирное равно, вызываемое щелчком по кнопке с жирным знаком равенства – второй в первом столбце панели инструментов Вычисление. На рис. 7.6 показано продолжение процесса оптимизации распределения однородных ресурсов с помощью Mathcad. Жирный знак равно – его еще называют булевым равенством – можно вывести нажатием комбинации клавиш Ctrl+= (равно). Оптимальное распределение однородных ресурсов зафиксировано в векторе (X11 X12 X13 …). Из полученного решения видно, что Х11 = 4, Х12 = 2, X13 = 8, X21 = 0, X22 = 20, X23 = 0, X31 = 26, X32 = 0, Х33 = 0. Это означает, что источник 1 должен профинансировать в первом периоде 4 единицы, во втором – 2 и в 3-ем – 8 единиц. Источник 2: в первом периоде – 0 единиц, во втором – 20 и в третьем – 0 единиц. Источник 3: в первом периоде – 26 единиц, во втором – 2 и в третьем –
Распределительные задачи
483
Рис. 7.5. Оптимизация распределения однородных ресурсов с помощью Mathcad
Рис. 7.6. Продолжение оптимизации распределения однородных ресурсов с помощью Mathcad
484
Решение задач исследования операций
финансирование отсутствует. Первая цифра в переменной Х определяет источник, а вторая – период финансирования. Такое распределение денежных средств из источников обеспечит минимальные суммарные затраты Y, которые составят 1402 × 103 единиц. В рассмотренных задачах сумма объемов ресурсов поставщиков равна сумме объемов ресурсов потребителей. Однако в некоторых случаях такое равенство отсутствует. Если объем ресурсов всех поставщиков больше объема ресурсов всех потребителей, то вводят фиктивного потребителя Вn+1 с объемом потребления, равным . Затраты на доставку единицы ресурса из пункта отправления до фиктивного пункта потребления должны быть обязательно равны между собой, и их принимают равными нулю: C1,n+1 = C2,n+1 = … = Cm,n+1 = 0. Если объем ресурсов потребителей больше объема ресурсов поставщиков, то вводят фиктивного поставщика Аm+1 с объемом поставки, равным . Затраты на доставку единицы ресурса из фиктивного пункта отправления до каждого пункта потребления должны быть обязательно равны между собой, и их принимают равными нулю: Cm+1,1 = Cm+1,2 = … = Cm+1,n = 0. По преобразованным таблицам расчет выполняется так же, как и для сбалансированной транспортной задачи.
Оптимальное распределение неоднородных ресурсов Постановка задач В процессе производства постоянно возникают задачи определения оптимального плана производства продукции при наличии определенных ресурсов (сырья, полуфабрикатов, оборудования, финансов, рабочей силы и др.) или проблемы оптимизации распределения неоднородных ресурсов на производстве. Рассмотрим несколько возможных постановок таких задач. Постановка задачи А. Для изготовления n видов изделий И 1, И 2, …, И n необходимы ресурсы m видов: трудовые, материальные, финансовые и др. Известно необходимое количество отдельного i-го ресурса для изготовления каждого j-го изделия. Назовем эту величину нормой расхода сij. Пусть опре-
Распределительные задачи
485
делено наличное количество каждого вида ресурса, которым предприятие располагает в данный момент, – ai. Известна прибыль Пj, получаемая предприятием от изготовления каждого j-го изделия. Требуется определить: какие изделия, в каком количестве должно изготавливать предприятие, чтобы обеспечить получение максимальной прибыли. Необходимая исходная информация представлена в табл. 7.11.
Таблица 7.11
Постановка задачи В. Пусть в распоряжении завода железобетонных изделий (ЖБИ) имеется m видов сырья (песок, щебень, цемент) в объемах аi. Требуется произвести продукцию n видов. Дана технологическая норма сij потребления отдельного i-го вида сырья для изготовления единицы продукции каждого j-го вида. Известна прибыль Пj, получаемая от выпуска единицы продукции j-го вида. Требуется определить, какую продукцию и в каком количестве должен производить завод ЖБИ, чтобы получить максимальную прибыль. Исходные данные представлены в табл. 7.12.
Таблица 7.12
Постановка задачи С. Пусть на предприятии после модернизации производства появился свободный ресурс времени оборудования. Предлагается организовать производство новых изделий нескольких наименований. Известно время, требуемое на изготовление отдельного изделия на каждом оборудовании, свободные резервы времени на каждой машине, а также прибыль, получаемая от выпуска каждого изделия. Требуется определить: какие изделия и в каком количестве целесообразно производить на предприятии, чтобы получить максимальную прибыль.
486
Решение задач исследования операций
Выявление основных особенностей, взаимосвязей и количественных закономерностей Количество изделий j-го наименования, которое может производить предприятие, обозначим через xj.Зная количество каждого вида i-го ресурса для изготовления отдельного j-го типа изделия – норму расхода сij и количество каждого i-го ресурса ai (табл. 7.12), можно записать следующую систему неравенств: 3x1 + 5x2 + 2x3 + 7x4 ≤ 15 4x1 + 3x2 + 3x3 + 5x4 ≤ 9
(7.8)
5x1 + 6x2 + 4x3 + 8x4 ≤ 30 Полученную систему неравенств можно записать в виде совокупности равенств, если в каждое из неравенств ввести фиктивные изделия (дополнительные переменные) x5, x6, x7, при изготовлении которых используют каждый оставшийся вид ресурса. В этом случае система равенств примет такой вид: 3x1 + 5x2 + 2x3 +7x4 + x5 = 15 4x1 + 3x2 + 3x3 + 5x4 + x6 = 9
(7.9)
5x1 + 6x2 + 4x3 + 8x4 + x7 = 30 Это преобразование необходимо для упрощения вычислительной процедуры в дальнейшем. Прибыль, получаемая от фиктивных изделий, принимается равной нулю. Построение математической модели. Критерий оптимизации (суммарная величина прибыли) можно тогда представить так: .
(7.10)
Граничные условия будут записаны следующим образом: xij ≥ 0 (j = 1,2,…,7). (7.11) Совокупность системы ограничений (7.9), целевой функции (7.10) и граничных условий (7.11) образует математическую модель для нашей задачи.
Решение задачи традиционными методами Алгоритм решения. Для решения данной задачи разработано много способов. Рассмотрим один из наиболее распространенных методов – симплекс-метод. Для его использования необходимо определить начальный базис, то есть такое решение, которое удовлетворяет системе равенств (7.9). В некоторых задачах базис просматривается непосредственно, но во многих его необходимо найти. В данной задаче базис определяется легко. Для этого требуется взять m неизвестных по числу уравнений в системе (7.9), желательно наиболее редко встречаю-
Распределительные задачи
487
щиеся в ней. В нашей совокупности уравнений (m = 3) это x5, x6, x7, которые и выражаем через оставшиеся неизвестные x1, x2, x3, x4. Систему уравнений необходимо записать в таком виде: x5 = 15 – (3x1 + 5x2 + 2x3 +7x4) x6 = 9 – (4x1 +3x2 + 3x3 + 5x4)
(7.12)
x7 = 30 – (5x1 + 6x2 +4x3 + 8x4) Переменные, находящиеся в левой части системы уравнений, называются базисными (основными), а находящиеся справа – небазисными (неосновными) переменными. Для определения значений базисных переменных x5, x6, x7 необходимо приравнять к нулю небазисные x1, x2, x3, x4 и подставить их в систему уравнений (7.12). Полученное таким образом решение называется базисным. В нашей задаче оно будет выглядеть следующим образом: (x1, x2, x3, x4, x5, x6, x7); (0, 0, 0, 0, 15, 9, 30). После определения начального базиса можно переходить непосредственно к использованию алгоритма симплекс-метода, который содержит следующие основные этапы. 1. Заполнение исходной симплекс-таблицы. В соответствии с полученной системой уравнений и критерием оптимизации заполняем исходную симплекс-таблицу (табл. 7.13).
Таблица 7.13
2. Проверка базисного решения на оптимальность. Просматриваются знаки коэффициентов при небазисных переменных в целевой функции (критерий оптимизации) – последняя строка табл. 7.13. Если все коэффициенты при небазисных переменных неположительны, то исходный базис является оптимальным; в противном случае переходят к следующему этапу. В нашей задаче решение не оптимально, так как все коэффициенты целевой функции при небазисных переменных положительны. 3. Проверка задачи на наличие решения. Если при какой-либо небазисной переменной, имеющей положительный коэффициент в целевой функции, окажется, что столбец коэффициентов при этой же переменной в системе
488
Решение задач исследования операций
уравнений состоит из одних неположительных чисел, то максимальное значение целевой функции стремится к бесконечности, то есть задача решений не имеет. В нашей задаче решение имеется. 4. Выбор из небазисных переменных той, которая способна при введении ее в базис увеличить значение целевой функции. Наиболее простой и чаще всего используемый способ состоит в выборе той небазисной переменной, которой соответствует наибольший положительный коэффициент в целевой функции. В нашей задаче это переменная x2 (наибольший положительный коэффициент равен 50). Значит, x2 необходимо ввести в базис. 5. Определение базисной переменной, которая должна быть выведена из базиса. Для всех положительных коэффициентов при вводимой в базис переменной в системе уравнений определяется отношение свободного члена уравнения к коэффициенту при вводимой в базис переменной. Для нашей задачи это будут следующие отношения: 15/5 = 3; 9/3 = 3; 30/6 = 5. Минимальное из полученных отношений указывает строку, базисную переменную, которая должна быть выведена из базиса. При наличии нескольких одинаковых отношений берется любое. В нашей задаче выведем из базиса переменную x5. 6. Представление новой базисной переменной через небазисные. Строится новая симплекс-таблица (табл. 7.14). Отмечается звездочкой строка и столбец в предыдущей симплекс-таблице (табл. 7.13), соответственно для выводимой из базиса и для вводимой в него переменной. Коэффициент, находящийся на пересечении строки и столбца, отмеченных звездочками, называется разрешающим и помечается звездочкой (табл. 7.13). Все коэффициенты строки, отмеченной звездочкой, делятся на разрешающий элемент, а результаты расчета заносятся в новую симплекс-таблицу. В нашей задаче на первой итерации разрешающий элемент равен 5 (табл. 7.13). Результаты деления каждого элемента строки, отмеченной звездочкой, на разрешающий коэффициент заносятся в строку 1 новой таблицы (табл. 7.14).
Таблица 7.14
7. Представление остальных базисных переменных и целевой функции через новый набор небазисных переменных. Для этого коэффициенты в новой
Распределительные задачи
489
таблице при новой базисной переменной умножаются на такое число, чтобы после сложения с преобразуемой строкой предыдущей таблицы в столбце при новой базисной переменной в новой таблице появился ноль. Результаты сложения заносятся в новую симплекс-таблицу. Исходя из этого, для получения коэффициентов второй строки в новой табл. 7.14 умножаем коэффициенты при новой базисной переменной x2 (табл. 7.14) на число –3, складываем с соответствующими коэффициентами второй строки предыдущей симплекс-таблицы (табл. 7.13) и результаты расчета заносим во вторую строку новой таблицы (табл. 7.14). Аналогичные преобразования проводим и для других строк. После этого выполняем новую итерацию. Цикл расчета начинается с этапа 2 и проводится до тех пор, пока не будет найдено оптимальное решение. Поскольку в последней строке табл. 7.14 в целевой функции не все коэффициенты при небазисных переменных положительны, то решение не оптимально; следовательно, выполняется следующий итерационный цикл расчета и строится новая симплекс-таблица (табл. 7.15). В качестве вводимой в базис небазисной переменной берем x3 (можно x1) как имеющую наибольший положительный коэффициент. Отмечаем звездочкой столбец x3. В качестве выводимой из базиса переменной берем x6, так как для нее частное от деления свободного члена на соответствующий коэффициент минимально. Разрешающий множитель равен 9/5. Результаты расчета представлены в табл. 7.15.
Таблица 7.15
Последняя строка таблицы не содержит положительных коэффициентов при небазисных переменных. Анализируя полученное решение, видим, что оно оптимально и выглядит так: (x1, x2, x3, x4, x5, x6, x7); (0, 3, 0, 0, 0, 0, 12). Из полученного решения видно, что предприятию наиболее выгодно изготовление только изделия И2, производство которого обеспечит ему максимальную прибыль в размере Ymax = 150. При этом материальные и трудовые ресурсы будут задействованы полностью, а финансовые – недоиспользованы на 12 единиц.
490
Решение задач исследования операций
Решение задачи с использованием системы Mathcad Введите вначале поясняющий текст в рабочем листе: ¾ установите указатель курсора в месте начала ввода текста и щелкните мышью. В месте щелчка мышью появится красный крестик; ¾ щелкните в главном меню по пункту Вставить (Insert). Появится выпадающее меню; ¾ щелкните в выпадающем меню по пункту Текстовая область (Text Region) или в месте расположения курсора нажмите клавишу с двойной кавычкой (команда для ввода текста). В обоих случаях появится шаблон, указывающий место и начало ввода текста. Указатель курсора будет представлен в виде красной палочки; ¾ введите нужный вам текст. Текстовая область будет автоматически увеличиваться по мере ввода текста. По окончании ввода текста необходимо вывести курсор (маркер ввода) за рамки текстовой области. Далее введите критерий оптимизации – целевую функцию. Для этого: ¾ установите указатель курсора в месте начала ввода математического выражения и щелкните мышью. В месте щелчка мышью появится красный крестик; ¾ начните вводить критерий оптимизации. Указатель мыши превратится в синюю клюшку, охватывающую очередной введенный символ. Вначале введите имя критерия оптимизации с аргументами в скобках через запятые: Y(X11,X12,X13,X21,X22,X23,X31,X32,X33) ¾ введите знак присваивания, нажав комбинацию клавиш Shift+: (двоеточие). В правой части появится метка; ¾ введите на месте правой метки само выражение критерия оптимизации. Начальные приближения вводятся аналогично. Для решения задачи можно использовать блок функций Given … Minimize, произведя следующие операции: ¾ введите, если необходимо, комментарии, воспользовавшись клавишей с двойной кавычкой; ¾ введите ключевое слово Given; ¾ введите систему ограничений. При вводе ее используйте знак равенства, вызванный нажатием комбинации клавиш Ctrl+=; ¾ введите граничные значения (рис. 7.7); ¾ введите шаблон присваивания := (двоеточие и знак равно); ¾ введите в левую метку шаблона вектор искомых переменных; ¾ введите в правую метку имя функции Minimize с искомыми параметрами, например так: Minimize (Y,X11,X12,…) (рис. 7.7); ¾ выведите результаты расчета: – введите шаблон присваивания := (двоеточие и знак равно); – введите в левую метку шаблона вектор искомых переменных. На рис. 7.7 показан процесс оптимизации распределения неоднородных ресурсов с помощью Mathcad. Оптимальное распределение неоднородных ресурсов зафиксировано в векторе (X1 X2 X3 …). Из полученного решения видно, что Х1 = 0, Х2 = 3, X3 = 0, X4 = 0, X5 = 3.553 × 10-15, X6 = 0, X7 = 12. Это означает, что изделия Х1, Х3 и Х4 предприя-
Задачи управления запасами
491
Рис. 7.7. Оптимизация распределения неоднородных ресурсов в среде Mathcad
тие изготавливать не должно. Ему нужно производить только второе изделие в количестве 3 единиц. Цифра в переменной Х2 определяет изделие, планируемое для изготовления. Оптимальное распределение ресурсов обеспечит получение максимальной прибыли Y, которая составит 150 единиц.
Задачи управления запасами Можно выделить четыре основные причины, приводящие к необходимости образования запасов: • необходимость гарантирования бесперебойности питания производственного процесса с целью обеспечения его непрерывности; • периодичность производства отдельных видов ресурсов у поставщиков; • особенности доставки ресурсов от поставщика до потребителя (несоответствие грузоподъемности транспортных средств и размеров потребления); • несовпадение ритма производства и поставок производственных ресурсов с ритмом их потребления. Задачи управления запасами по наличию того или иного признака делятся: 1. По количеству управляемых периодов (пополнения запасов) – на однопериодные и многопериодные. Если пополнение запасов производится в системе один раз, такая задача управления запасами называется однопериодной, в противном случае – многопериодной. Так, например, самолет может один заправиться и сделать еще дополнительный запас горючего, или у него есть возможность подзаправляться во время промежуточных посадок.
492
Решение задач исследования операций
2. По характеру пополнения запасов – с непрерывной системой пополнения запасов (мгновенное) и периодической (с задержкой). Если при уменьшении запаса до определенного уровня происходит его пополнение, то мы имеем задачу с непрерывным пополнением запасов. При этом необходим постоянный контроль за уровнем запаса. Разновидностью такой системы является система «двух бензобаков» («двух бункеров», «двух складов»). Один из бензобаков (бункеров, складов) выдает запас (горючее) только в том случае, если кончается запас в другом, одновременно подается сигнал о необходимости пополнения бензобаков (бункеров, складов). 3. По учету характера спроса – на детерминированные и вероятностные (статистические). Если невозможно точно предсказать спрос с момента поступления запаса до момента его пополнения, то имеем вероятностную задачу управления запасами, в противном случае – детерминированную. Так, если неизвестны особенности маршрута движения автомашины (состояние дороги, уклоны, подъемы...), практически невозможно точно предсказать расход горючего. 4. По количеству типов ресурсов – на однопродуктовые и многопродуктовые. Если запас включает несколько видов продукции, то имеем многопродуктовую задачу управления запасами, в противном случае – однопродуктовую. Так, если для автомашины, кроме бензина, будем учитывать расход масла, то это будет уже многопродуктовая задача управления запасами. 5. По виду целевой функции – на задачи с пропорциональными и непропорциональнами затратами. Если издержки производства на единицу продукции постоянны и весь объем спроса в конечном счете удовлетворяется, то мы имеем дело с пропорциональными затратами, в противном случае – с непропорциональными. Так, затраты на 1 км пробега автомашины могут быть постоянными, а могут быть переменными (например, зависят от дальности поездки). 6. По величине удовлетворения спроса – на задачи с полным удовлетворением спроса и с неполным. В последнем случае поставляемая партия ресурсов меньше потребной партии ресурсов, из-за чего возникают убытки от простоя. Рассмотрим некоторые из задач управления запасами.
Задача управления запасами при удовлетворении спроса Постановка задачи Пусть месячная потребность предприятия в каком-либо материале (песок, щебень, цемент, …) составляет Q единиц (м3, т, …). Расход его во времени происходит равномерно. Известны затраты на хранение единицы материала в единицу времени и затраты на доставку одной партии материалов. Необходимо определить, какова должна быть величина поставляемой партии материалов, чтобы суммарные затраты на создание и хранение запаса были минимальны.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Обозначим через Сх затраты на хранение единицы материала в единицу времени, а через Сd – затраты на доставку партии материалов. Рассмотрим два варианта:
Задачи управления запасами
493
когда затраты Cd на доставку материалов не зависят от их количества в поставляемой партии и когда существует линейная зависимость Cd от величины партии S. Yd = Cd + Cd1 . S. Предполагается, что все партии состоят из одинакового числа единиц материала. Изобразим графически движение запасов (рис. 7.8) в течение времени (месяца) Т. Промежуток времени (период) от момента поставки партии материала до момента ее израсходования обозначим через t.
Рис. 7.8. График пополнения и расходования запасов
Количество партий материалов, необходимых для удовлетворения месячной потребности в сырье n, можно определить по формулам: n1 = T / t; n2 = Q / S; n1 = n2; Q / S = T / t. Затраты на хранение одной партии материалов составят: . Затраты на доставку одной партии материалов составят: Yd = Cd – для первого варианта и Yd = Cd + Cd1 . S – для второго варианта. Суммарные месячные расходы Y на хранение материала и доставку за период Т для первого варианта затрат на доставку будут записаны так: Y1 = Yx . n1 + Yd . n2 = Cx . S . t / 2 . T / t + Cd . Q / S. Суммарные месячные расходы Y на хранение материала и доставку за период Т для второго варианта затрат на доставку будут записаны так: Y2 = Yx . n1 + Yd . n2 = Cx . S . t / 2 . T / t +(Cd + Cd1 . S) . Q / S.
Решение задачи традиционными методами В качестве способа определения оптимального уровня запасов воспользуемся дифференциальным исчислением, вычислив нужную величину методом производных. Продифференцировав целевую функцию – критерий оптимизации Y отно-
Решение задач исследования операций
494
сительно искомого параметра S – и приравняв полученную производную dY/dS к нулю, получим следующие результаты: Для первого варианта: dY1/dS = Cx . T/2 – Cd . Q/S2 = 0, откуда . Для второго варианта: dY2/dS = Cx . T/2 – Cd1 . Q/S2 = 0, откуда . Полученные выражения – одни и те же для обоих случаев, рассмотренных выше: а) когда затраты Cd на доставку партии материалов не зависят от количества сырья в единице поставки; б) когда Cd линейно зависят от величины S поставляемой партии материалов. Это выражение, с помощью которого можно найти оптимальную величину поставок и определить наиболее подходящие моменты времени пополнения запасов, носит название формулы Вильсона: .
Решение задачи с использованием системы Mathcad Для построения математической модели в системе Mathcad: ¾ введите начальное выражение критерия оптимизации с использованием жирного равно (комбинация клавиш Ctrl+=). Начальное выражение критерия оптимизации может быть представлено в таком виде: Y = Yxn1 + Ydn2; ¾ щелкните в панели инструментов Математика (пятая строка сверху) по пункту Символические операторы. На рабочем листе появится панель инструментов Символы; ¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить). Появится шаблон оператора substitute с метками ¾ введите в метки шаблона первое выражение, например: ; получим ;
Задачи управления запасами
495
¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить). Появится второй шаблон оператора substitute с метками
¾ введите в метки шаблона оператора substitute второе выражение, например: ; получим
¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить). Появится третий шаблон оператора substitute с метками
и т. д. После подстановки всех выражений нажмите на клавишу Enter или щелкните вне выражения, получим развернутое выражение критерия оптимизации – искомую математическую модель. Продифференцируем полученное выражение Y относительно искомого параметра S. Для этого: ¾ щелкните мышью там, где будет расположено выражение для дифференцирования; ¾ щелкните на панели инструментов Математика (Math) по кнопке с изображением знака интеграла и дифференциала. Появится панель инструментов Матанализ (Calculus); ¾ щелкните на панели инструментов Математика по кнопке d/dx. На рабочем листе появится шаблон с двумя метками для ввода искомой переменной и выражения:
Решение задач исследования операций
496
¾ введите в нижней метке имя искомой переменной в нашей задаче – S, получим ¾ скопируйте развернутое выражение критерия оптимизации Для этого выделите развернутое выражение критерия оптимизации с помощью комбинации клавиш Shift+стрелки и скопируйте его в буфер обмена данных, нажав на клавиши Ctrl+Ins ; ¾ введите в верхней метке в шаблоне дифференцирования развернутое выражение критерия оптимизации из буфера обмена данных, нажав комбинацию клавиш Shift+Ins, получим ; ¾ выделите последнее выражение и введите символический знак равенств (стрелка вправо), нажав комбинацию клавиш Ctrl+. (точка); ¾ щелкните вне выражения – появится искомый результат дифференцирования в аналитическом виде: . Полученное после дифференцирования выражение решим относительно искомого параметра S. Для этого: ¾ выделите результат дифференцирования нажатием клавиш (Shift+стрелки влево или вправо); ¾ скопируйте результат дифференцирования в буфер обмена данных путем нажатия клавиш Ctrl+Ins; ¾ щелкните мышью там, где будет расположено выражение для решения; ¾ щелкните на панели инструментов Математика по кнопке с изображением знака интеграла и дифференциала. Появится панель инструментов Матанализ (Calculus); ¾ щелкните на панели инструментов Математика по кнопке с изображением шляпы – Символические операторы. На рабочем листе появится панель инструментов Символы; ¾ щелкните на панели инструментов Символы по кнопке solve. Появится шаблон такого вида: ¾ в первую метку шаблона введите скопированное выражение после дифференцирования из буфера обмена данных путем нажатия комбинации клавиш Shift+Ins; ¾ введите во вторую метку искомую переменную – S;
Задачи управления запасами
497
¾ щелкните вне выражения. Получим искомый результат в аналитическом виде. Если все действия были выполнены правильно, появится решение уравнения относительно искомой переменной – выражение для определения оптимального размера поставляемой партии Sopt. На рис. 7.9 представлены результаты решения задачи, когда затраты Cd на доставку партии материалов не зависят от количества сырья в поставляемой партии материалов, а на рис. 7.10 показаны итоги решения, когда затраты Cd линейно зависят от величины S поставляемой партии материалов: Cd = Cd + Cd1 . S.
Рис. 7.9. Решение задачи с использованием системы Mathcad, первый вариант
Исследуя результаты аналитического решения задачи управления запасами при удовлетворении спроса, когда затраты Cd на доставку партии материалов не зависят от количества сырья в поставляемой партии материалов (рис. 7.9) и когда Cd линейно зависят от величины S поставляемой партии материалов, хорошо видно, что конечный результат не изменяется. Квадратное уравнение имеет два решения, из которых выбираем одно – положительное.
Задача управления запасами при неудовлетворении спроса Постановка задачи Как правило, при неудовлетворении спроса на материалы и полуфабрикаты предприятие терпит убытки, характеризующиеся величиной Сu на единицу ре-
498
Решение задач исследования операций
Рис. 7.10. Решение задачи с использованием системы Mathcad, второй вариант
сурса в единицу времени. На протяжении времени t1 каждого периода t уровень запаса достаточен для удовлетворения спроса, а затем в течение интервала t2 запас отсутствует, причем неудовлетворенный спрос покрывается из следующей с момента поступления ресурса на склад партии. Допустим, что потребность в материале составляет Q единиц за период Т. Требуется определить, каковы должны быть величина поставляемой партии S и размер потребной партии V, чтобы затраты на доставку и хранение с учетом неудовлетворенного спроса были минимальны.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Обозначим через Сx затраты на хранение единицы ресурса в единицу времени, а через Сd – расходы на поставку партии материалов. При этом издержки на поставку одной партии не зависят от количества материалов в ней. Графически состояние запасов при неполном удовлетворении спроса представлено на рис. 7.11.
Задачи управления запасами
499
Рис. 7.11. График образования и расходования материалов при неудовлетворении спроса
По графику легко составить следующие зависимости: t1/ t = S/V, откуда t1 = S . t/V; t2/ t = (V – S)/V, откуда t2 = t . (V – S)/V. Количество необходимых поставок для удовлетворения месячной потребности в материале n можно определить по формулам: n1 = T / t; n2 = Q / V. Затраты на хранение одной партии материалов составят: Yx = Cx . S . t1 / 2. Затраты на доставку одной партии материалов составят: Yd = Cd. Убытки от недопоставки одной партии материалов составят: Yu = Cu . (V – S) . t2 / 2.
Решение задачи традиционными методами Суммарные затраты на хранение, доставку и потери из-за неудовлетворенного спроса за период Т будут записаны так: Y = Yx . n1 + Yd . n2 + Yu . n1 = = Cx . S . t1 / 2 . T / t + Cd . Q / V + Cu . (V – S) . t2 / 2 . T / t. Используя ранее полученные зависимости для t1 и t2, получим: Y = Cx . S2 . T/(2 . V) + Q . Cd/V + Cu . (V – S)2 . T/(2 . V). Продифференцировав целевую функцию (критерий оптимизации Y относительно искомых параметров S и V) и приравняв полученные частные производные dY/dS и dY/dV к нулю, получим: dY/ dS = Cx . S . T/V – Cu . (V – S) . T/V = 0;
Решение задач исследования операций
500
dY/dV = Cx . S2 . T/(2 . V2) – Cd . Q/V2 + Cu . (V2 – S2) . T/(2 . V2) = 0. Решая систему уравнений, получим
Величина Сu / (Сx + Сu) называется плотностью убытков из-за неудовлетворенного спроса.
Решение задачи с использованием системы Mathcad Для построения математической модели в системе Mathcad: ¾ введите начальное выражение критерия оптимизации с использованием жирного равно (комбинация клавиш Ctrl+=). Начальное выражение критерия оптимизации может быть представлено в таком виде: Yx . nl + Yd . n2 + Yu . nl;
¾ щелкните в панели инструментов Математика (пятая строка сверху) по пункту Символические операторы. Появится на рабочем листе панель инструментов Символы; ¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить). Появится шаблон оператора substitute с метками ¾ введите в метки шаблона Substitute первое выражение, например:
получим
¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить). Появится второй шаблон оператора substitute с метками
¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить), когда клюшка охватит метку во втором операторе substitute. Появится третий шаблон оператора substitute с метками
Задачи управления запасами
501
¾ введите в метки второго шаблона оператора substitute второе выражение, например: , получим
¾ щелкните в панели инструментов Символы по кнопке с названием Substitute (Подставить), когда клюшка охватит метку в третьем операторе substitute. Появится xtndthnsq шаблон оператора substitute с метками и т. д. После подстановки всех выражений нажмите на клавишу Enter или щелкните вне выражения, получим развернутое выражение критерия оптимизации – искомую математическую модель. Продифференцируем полученное выражение Y(S,V) относительно искомых параметров S и V. Для этого: ¾ щелкните мышью там, где будет расположено выражение для дифференцирования; ¾ щелкните на панели инструментов Математика (Math) по кнопке с изображением знака интеграла и дифференциала. Появится панель инструментов Матанализ (Calculus); ¾ щелкните на панели инструментов Математика по кнопке d/dx. На рабочем листе появится первый шаблон оператора дифференцирования с двумя метками для ввода первой искомой переменной и выражения:
¾ введите в нижней метке имя искомой переменной в нашей задаче – S , получим
502
Решение задач исследования операций
¾ аналогичные действия выполните и для оператора дифференцирования для второй переменной V ввода второго шаблона. ¾ скопируйте развернутое выражение критерия оптимизации. Для этого выделите развернутое выражение критерия оптимизации с помощью комбинации клавиш Shift+стрелки и скопируйте его в буфер обмена данных, нажав на клавиши Ctrl+Ins; ¾ введите в верхней метке в первом шаблоне оператора дифференцирования развернутое выражение критерия оптимизации из буфера обмена данных, нажав комбинацию клавиш Shift+Ins; ¾ выделите полученное выражение и введите символический знак равенств (стрелка вправо), нажав комбинацию клавиш Ctrl+. (точка); ¾ щелкните вне выражения – появится искомый результат дифференцирования по S в аналитическом виде. Аналогичные действия выполните и по V. Полученную после дифференцирования систему выражений решим как систему уравнений относительно искомых параметров S и V, представив результаты дифференцирования в виде вектора столбца с двумя элементами. Для этого: ¾ щелкните мышью там, где будет расположено выражение для этого; ¾ щелкните на панели инструментов Математика (Math) по кнопке с изображением знака интеграла и дифференциала. Появится панель инструментов Матанализ (Calculus); ¾ щелкните на панели инструментов Математика по кнопке с изображением шляпы – Символические операторы. На рабочем листе появится панель инструментов Символы; ¾ щелкните на панели инструментов Символы по кнопке solve. Появится шаблон оператора solve такого вида: ¾ в первую метку шаблона введите вектор с результатами дифференцирования; ¾ во вторую метку введите вектор искомых переменных – S и V; ¾ щелкните вне выражения. Получим искомый результат в аналитическом виде. Если все действия были выполнены правильно, появится решение уравнения относительно искомых переменных – вектор оптимальных решений: • размер поставляемой партии Sopt; • размер потребной партии Vopt. Построение математической модели в системе Mathcad представлено на рис. 7.12. Определение частных производных по искомым параметрам представлено на рис. 7.13. Полученные выражения после дифференцирования можно упростить. Для этого используют встроенную функцию simplify (упростить), которая вызывается щелчком левой кнопки мышки по кнопке simplify (упростить) на панели инструментов Символы (Symbolic). После щелчка появится шаблон оператора simplify с меткой для ввода выражения. Для решения системы уравнений аналитическим способом существуют два пути. Первый – применение блока функций Given … Find (Дано – найти). Второй – применение ключевого слова Solve (Решить). Ограничимся использованием второго пути, для чего:
Задачи управления запасами
Рис. 7.12. Построение математической модели в системе Mathcad
Рис. 7.13. Определение частных производных в системе Mathcad
503
504
Решение задач исследования операций
¾ введите, в случае необходимости, комментарии, нажав клавишу с двойной кавычкой; ¾ введите знак присваивания путем нажатия комбинации клавиш Sift+: (двоеточие). Появится шаблон с метками; ¾ подведите указатель мышки к первой метке и введите имя вектора результатов решения, например М, а затем ко второй и нажмите комбинацию клавиш Ctrl+M. Появится диалоговое окно Вставить матрицу. В поле Строки (Rows) появившегося диалогового окна установите количество строк по числу уравнений – 2, а в поле Столбцы (Columns) – один столбец. Щелкните по кнопке ОК и на месте появившихся меток вектора-столбца введите имена продифференцированных выражений (Z1 и Z2); ¾ щелкните по кнопке Solve (Решить) на панели инструментов Символы (Symbolic). Появится шаблон оператора solve; ¾ введите в метку шаблона вектор искомых параметров путем нажатия комбинации клавиш Ctrl+M. В поле Строки появившегося диалогового окна Вставить матрицу установите величину, включающую число строк по количеству искомых переменных – 2, а в поле Столбцы – 1; ¾ щелкните по кнопке ОК. На месте появившегося шаблона вектора-столбца с метками введите имена искомых переменных (S и V), затем нажмите клавишу Enter (рис. 7.14).
Рис. 7.14. Решение системы уравнений и определение оптимальных параметров в системе Mathcad
Задачи управления запасами
505
Полученные после решения системы уравнений выражения можно упростить. Не все эти результаты отвечают реальности. Выберем положительные выражения и упростим их. Поскольку результаты решения системы уравнений даются в виде матрицы 2 × 2, то нужные решения извлечем из матрицы как ее элементы. Для упрощения выражений используем встроенную функцию simplify (упростить), которая вызывается щелчком левой клавиши мышки по кнопке simplify (упростить) на панели инструментов Символы (Symbolic). После щелчка появится шаблон оператора simplify с меткой впереди для ввода выражения. На ее место помещаем элемент матрицы с соответствующими индексами, ввод которых производится после нажатия на клавишу с открывающейся квадратной скобкой и через запятую. Нумерация элементов матрицы начинается с нулевого индекса (см. рис. 7.14).
Общая задача управления запасами Постановка задачи Допустим, что потребность предприятия в каком-либо сырье или полуфабрикате составляет Q единиц (м3, т, шт., …) за период Т. Поступление сырья и его расход происходит равномерно, однако темп его потребления несколько выше темпа поступления. Вследствие этого возникают простои предприятия из-за неудовлетворенного спроса и появляются убытки, характеризующиеся величиной Сu на единицу ресурса в единицу времени. В течение времени t1 и t4 каждого периода t происходит поставка материала, а в продолжение времени t – его потребление. Однако уровень образующегося запаса во время поставки сырья не достаточен для удовлетворения спроса. В течение интервала t4 запас отсутствует, при этом неудовлетворенный спрос покрывается из партии, следующей с момента поступления ресурса на склад. Требуется определить: какова должна быть величина поставляемой партии S и размер потребной партии V, чтобы затраты на доставку, хранение и убытки с учетом неудовлетворенного спроса были минимальны.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Обозначим через Сx затраты на хранение единицы запаса материалов в единицу времени, а через Сd – издержки на поставку партии материалов. При этом расходы на поставку одной партии не зависят от количества доставляемого материала в ней. Графически движение запасов материалов при неполном удовлетворении спроса представлено на рис. 7.15. По графику из подобия треугольников легко составить следующие зависимости: (t1 + t2) / t = S/V, откуда (t1 + t2) = S . t / V; (t3 + t4) / t = (V – S) / V, откуда (t3 + t4) = t . (V – S) / V. Количество необходимых поставок партий для удовлетворения месячной потребности в материале n можно определить по формулам:
Решение задач исследования операций
506
Рис. 7.15. График образования и расходования материалов при неудовлетворении спроса
n1 = T / t; n2 = Q / V; n1 = n2 и
.
Затраты на хранение одной партии материалов составят Yx = Cx . S . (t1 + t2) / 2. Затраты на доставку одной партии материалов составят Yd = Cd Убытки от недопоставки одной партии материалов составят: Yu = Cu . (V – S) . (t3 + t4) / 2.
Решение задачи традиционными методами Суммарные затраты на хранение, доставку и потери из-за неудовлетворенного спроса за период Т будут записаны так: Y = Yx . n1 + Yd . n2 + Yu . n1 = Cx . S . (t1 + t2)/2 . T / t + Cd . Q/V + + Cu . (V – S) . (t3 + t4)/2 . T/t. Используя ранее полученные зависимости для (t1 + t2) и (t3 + t4), получим: Y = Cx . S2 . T / (2 . V) + Q . Cd/V + Cu . (V – S)2 . T/(2 . V). Продифференцировав целевую функцию – критерий оптимизации Y относительно искомых параметров S и V – и приравняв полученные частные производные dY/dS и dY/dV к нулю, получим: dY/dS = Cx . S . T/V – Cu . (V – S) . T/V = 0; dY/dМ = Сх . S2 . T/(2 . V2) – Cd . Q/V2 + Cu . (V2 – S2) . T/(2 . V2) = 0. Решая систему уравнений, получим: ; .
Задачи управления запасами
507
Величина Сu / (Сx + Сu) называется плотностью убытков из-за неудовлетворенного спроса.
Решение задачи с использованием системы Mathcad Для построения математической модели в системе Mathcad сформируем начальное выражение критерия оптимизации, предварительно дав ему имя Y(S,V), а затем введем его в таком виде: Y(S,V) := Yx . n1 + Yd . n2 + Yu . n1. Последовательно введем составляющие критерия оптимизации, используя метод подстановок – функцию substitute (подставить) (см. предыдущие задачи). Построение математической модели показано на рис. 7.16.
Рис. 7.16. Построение математической модели в системе Mathcad
Определение частных производных по искомым параметрам и упрощение полученных выражений показано на рис. 7.17. Полученные выражения после дифференцирования можно упростить. Для этого используют встроенную функцию simplify, которая вызывается щелчком левой клавиши мышки по кнопке с именем simplify (упростить) на панели инструментов Символы (Symbolic). После щелчка появится шаблон оператора simplify с меткой для ввода выражения. Для решения системы уравнений аналитическим способом можно использовать два способа. Первый – это использование блока функций Given … Find
508
Решение задач исследования операций
Рис. 7.17. Определение частных производных в системе Mathcad
(Дано – найти), второй – применение ключевого слова Solve (Решить). Ограничимся использованием второго способа, для чего: ¾ введите, если нужно, комментарии, нажав клавишу с двойной кавычкой; ¾ введите знак присваивания, нажав комбинацию клавиш Shift+: (Shift+ двоеточие). Появится шаблон с метками. В первую метку введите имя матрицы результатов, например М; ¾ установите указатель мышки на месте второй метки и нажмите комбинацию клавиш Ctrl+M. Появится диалоговое окно Вставить матрицу. В поле Строки, появившегося диалогового окна, установите число строк, соответствующее количеству уравнений – 2, и в поле Столбцы установите 1 столбец; ¾ щелкните по кнопке ОК и на месте появившихся меток вектора-столбца введите имена продифференцированных выражений; ¾ введите шаблон оператора Solve (Решить), используя соответствующую кнопку панели инструментов Символы; ¾ введите вектор-столбец искомых параметров путем нажатия комбинации клавиш Ctrl+M. В поле Строки появившегося диалогового окна установите величину, включающую число строк по количеству искомых переменных – 2, а в поле Столбцы установите 1 столбец, затем щелкните по кнопке ОК. На месте появившегося шаблона вектора-столбца с метками введите имена искомых переменных, затем нажмите клавишу Enter. Выражения, полученные в результате решения системы уравнений, можно упростить. Однако не все решения соответствуют действительности. Выберем положительные выражения и упростим их. Поскольку результаты решения системы уравнений
Задачи массового обслуживания
509
Рис. 7.18. Решение системы уравнений и определение оптимальных параметров в системе Mathcad
даются в виде матрицы 2 × 2, то искомые ответы извлечем из матрицы как ее элементы, соответственно М0,0 и М0,1. Полученные выражения можно несколько упростить. Для этого используем встроенную функцию simplify (упростить), которая вызывается щелчком левой клавиши мышки по кнопке с именем simplify на панели инструментов Символы. После щелчка появится шаблон оператора simplify с меткой для ввода выражения. На ее месте помещаем элемент матрицы с соответствующими индексами, ввод которых производится через запятую после нажатия на клавишу с открывающейся квадратной скобкой. Нумерация элементов матрицы начинается с нулевого индекса.
Задачи массового обслуживания Систему массового обслуживания в общем виде можно представить как совокупность последовательно связанных между собой входящих потоков требований на обслуживание (машин, самолетов, пользователей и т. д.), очередей, каналов обслуживания (станция техобслуживания, аэродром, ЭВМ и т. д.) и выходящих потоков требований после обслуживания. Системы массового обслуживания по наличию того или иного признака можно классифицировать таким образом. 1. По характеру поступления требований – на системы с регулярным и случайным потоками поступления требований в систему. Случайный поток поступления требований в систему подразделяется на стационарный и нестационарный:
510
Решение задач исследования операций
• если количество поступающих требований в систему в единицу времени (интенсивность потока) постоянно или является заданной функцией времени, то мы имеем систему с регулярным потоком поступления требований в систему, в противном случае – со случайным; • если параметры потока требований не зависят от расположения рассматриваемого интервала времени на оси времени, то имеем стационарный поток требований, в противном случае – нестационарный. Например, если число покупателей, приходящих в магазин, не зависит от времени суток, то поток требований (покупателей) – стационарный. 2. По количеству поступающих требований в один момент времени – на системы с ординарным и неординарным потоками требований. Если вероятность поступления двух или более требований в один момент времени равна нулю или имеет столь малую величину, что ею можно пренебречь, то имеем систему с ординарным потоком требований. Например, поток требований – самолетов, поступающих на взлетно-посадочную полосу аэродрома (ВПП), можно считать ординарным, так как вероятность поступления двух и более самолетов в канал обслуживания (ВПП) очень мала и ею можно пренебречь. 3. По связи между требованиями – на системы без последействия от поступивших требований и с последействием. Если вероятность поступления требований в систему в некоторый момент времени не зависит от того, сколько уже требований поступило в систему, то есть не зависит от предыстории изучаемого процесса, то мы имеем задачу без последействия, в противном случае – с последействием. Примером задачи с последействием может служить поток студентов на сдачу зачета преподавателю. Если преподаватель усиливает требования к знаниям студента, то поток желающих сдать зачет уменьшается и наоборот. 4. По характеру поведения требования – в системе с отказами, с ограниченным ожиданием и с ожиданием без ограничения: • если вновь поступившее требование на обслуживание застает все каналы обслуживания уже занятыми и оно покидает систему, то имеем систему с отказами. Требование может покинуть систему и в том случае, когда очередь достигла определенных размеров. Если ракета противника появляется во время, когда все противоракетные установки заняты обслуживанием других ракет, то она благополучно покидает область обслуживания; • если поступившее требование застает все каналы обслуживания занятыми и становится в очередь, но находится в ней ограниченное время, после чего, не дождавшись обслуживания, покидает систему, то имеем систему с ограниченным ожиданием. Примером такого «нетерпеливого требования» может быть автосамосвал с раствором. Если время ожидания велико, то во избежание затвердения раствора он может быть разгружен в другом месте; • если поступившее требование, застав все каналы обслуживания занятыми, вынуждено ожидать своей очереди до тех пор, пока оно не будет обслужено, то имеем систему с ожиданием без ограничения. Пример: са-
Задачи массового обслуживания
511
молет, который находится на аэродроме до тех пор, пока не освободится взлетная полоса. 5. По способу выбора требований на обслуживание – с приоритетом, по мере поступления, случайно, последний обслуживается первым. Иногда в таком случае говорят о дисциплине обслуживания: • если система массового обслуживания охватывает несколько категорий требований и по каким-либо соображениям необходимо соблюдать различный подход к их отбору, то имеем систему с приоритетом. Так, при поступлении изделий на стройплощадку в первую очередь монтируются те, которые необходимы в данный момент; • если освободившийся канал обслуживает требование, ранее других поступившее в систему, то имеем систему с обслуживанием требований по мере их поступления. Это наиболее распространенный класс систем. Например, покупатель, подошедший первым к продавцу, обслуживается первым. Этот способ выбора требований на обслуживание применяется там, где в силу технических, технологических или организационных условий требования не могут опережать друг друга; • если требования из очереди в канал обслуживания поступают в случайном порядке, то имеем систему со случайным выбором требований на обслуживание. Пример: выбор слесарем-сантехником одной из нескольких заявок, поступивших от жильцов на устранение некоторых неисправностей. Выбор здесь, как правило, определяется местоположением самого слесаря: он выбирает заявку, наиболее близко расположенную к нему, если никакие другие факторы не предопределяют иной выбор; • последний обслуживается первым. Этот способ выбора требований на обслуживание используется в тех случаях, когда удобнее или экономнее брать на обслуживание требование, позже всех поступившее в систему. Так, при укладке строительных изделий в штабель удобнее брать из штабеля (очереди) изделие, поступившее последним. 6. По характеру обслуживания требований – на системы с детерминированным и случайным временем обслуживания. Если интервал времени между моментом поступления требования в канал обслуживания и моментом выхода требования из этого канала постоянно, то имеем систему с детерминированным временем обслуживания, в противном случае – со случайным. 7. По числу каналов обслуживания – на одноканальные и многоканальные системы. Так, при монтаже дома может быть использован один подъемный кран (один канал обслуживания) или несколько (много каналов) для обслуживания разгрузки прибывающих на стройку изделий. 8. По количеству этапов обслуживания – на однофазные и многофазные системы. Если каналы обслуживания расположены последовательно и они неоднородны, так как выполняют различные операции обслуживания, то имеем многофазную систему массового обслуживания. Примером многофазной системы массового обслуживания может быть, например, обслу-
512
Решение задач исследования операций
живание автомобилей на станции технического обслуживания (мойка, диагностирование и т. д.). 9. По однородности требований, поступающих на обслуживание, – на системы с однородными и неоднородными потоками требований. Так, если под погрузку прибывают фургоны одной грузоподъемности, то такие требования называются однородными, если разной грузоподъемности, – то неоднородными. 10.По ограниченности потока требований – на замкнутые и разомкнутые системы. Если поток требований ограничен и требования, покинувшие систему, через некоторое время в нее возвратятся, то имеем замкнутую систему, в противном случае – разомкнутую. Примером замкнутой системы может служить ремонтная бригада и обслуживаемое ею оборудование. Если изучены или заданы входящие потоки требований, механизм (число каналов обслуживания, продолжительность обслуживания и т. д.) и дисциплина обслуживания, то это дает основание для построения математической модели системы. Задачи массового обслуживания условно делят на задачи анализа и задачи синтеза – оптимизации систем массового обслуживания. Задачи анализа предполагают определение основных параметров функционирования системы массового обслуживания при неизменных, заранее заданных исходных характеристиках системы: структуре системы, дисциплине обслуживания, потоках требований и законах распределения времени их обслуживания. Задачи синтеза направлены на поиск оптимальных параметров систем массовых обслуживаний.
Задача анализа одноканальной замкнутой системы массового обслуживания Постановка задачи Рассмотрим вначале одноканальную замкнутую систему массового обслуживания (СМО) с неограниченным временем ожидания требований для него и с простейшим потоком. Этот поток наиболее полно отвечает реалиям жизни и характеризуется следующими особенностями: первая – поступление требований в систему на обслуживание происходит по одному, то есть вероятность прибытия двух и более требований в один момент времени очень мала и поэтому ею можно пренебречь (поток требований ординарный). Вторая – вероятность поступления последующих требований в любой момент времени не зависит от возможности их прибытия в предыдущие моменты – поток требований без последействия. Третья особенность – поток требований стационарный.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Функционирование любой системы массового обслуживания можно представить через все возможные состояния ее и интенсивность перехода из одного состояния
Задачи массового обслуживания
513
в другое. Основными параметрами функционирования системы массового обслуживания являются вероятности ее состояния, то есть возможности наличия n требований (покупателей, рабочих, заданий, машин, неполадок) в системе – Pn. Так, вероятность Po характеризует состояние, когда в системе нет требований и канал обслуживания простаивает. Важным параметром функционирования системы массового обслуживания является также среднее число требований, находящихся в системе Nсист, то есть в очереди на обслуживание, а также средняя длина очереди Nоч. Исходными параметрами, характеризующими систему массового обслуживания (СМО), являются: число каналов обслуживания – N (касс, компьютеров, кранов, ремонтных бригад); число требований (покупателей, рабочих, заданий, машин, неполадок,) – m, интенсивность поступления одного требования на обслуживание – λ, то есть число поступлений требований в единицу времени; интенсивность обслуживания требований – μ. Интенсивность поступления требования на обслуживание определяется как величина, обратная времени возвращения требования – tвоз. λ = 1 / tвоз. Интенсивность обслуживания требований определяется как величина, обратная времени обслуживания одного требования – tобс. μ = 1 / tобс.
Решение задачи традиционными методами Состояние системы массового обслуживания будем связывать с числом требований, находящихся в системе: • в системе нет ни одного требования – вероятность состояния P0; • в системе находится одно требование – вероятность состояния P1; • в системе находится n требований – вероятность состояния Pn. Представим все возможные состояния системы массового обслуживания в виде размеченного графа состояний (рис. 7.19). Каждый прямоугольник графа, количественно оцениваемый вероятностью состояний Pn, определяет одно из всех возможных состояний. Стрелки указывают, в какое состояние система может перейти и с какой интенсивностью.
Рис. 7.19. Размеченный граф состояний одноканальной замкнутой системы массового обслуживания
Первый прямоугольник с вероятностью Po определяет состояние системы массового обслуживания, при котором канал обслуживания простаивает из-за отсутствия требований в ней. Из этого положения система массового обслуживания может перейти только в состояние P1; тогда в системе появится одно требова-
514
Решение задач исследования операций
ние, так как входной поток их ординарный. С интенсивностью m система может перейти также из состояния P1 в состояние P0; когда в системе находилось одно требование, оно было обслужено раньше, чем появилось новое и т. д. Вначале рассмотрим установившийся режим работы системы массового обслуживания, когда основные вероятностные характеристики СМО постоянны во времени, например в течение часа. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы. Эти балансы выглядят так: Po m λ = P1 μ; P1 (μ + (m – 1) λ) = Po m λ + P2 μ; P2 (μ + (m – 2) λ) = P1 (m – 1) λ + P3 μ; . .. . . . . . . . . . . . . . . Pn (μ + (m – n) λ) = Pn-1 (m – (n – 1)) λ + Pn+1 μ; . .. . . . . . . . . . . . . . . Pm μ = Pm-1 λ. Обозначим величину λ / μ через ψ и назовем ее коэффициентом загрузки. Из первого уравнения можно найти значение P1: P1 = Po m λ / μ = Po m ψ. Из второго уравнения найдем значение P2: P2 = P1 + P1 (m – 1) λ / μ – Pom λ / μ. Но первый член – P1 = Po m λ / μ, и, следовательно, первый и третий сокращаются: P2 = P1(m – 1)λ/μ = Pom(m – 1)ψ2. Из третьего уравнения найдем значение P3: P3 = P2 + P2 (m – 2) λ / μ – P1 (m – 1) λ / μ. Но первый член – P2 = P1 (m – 1) λ / μ, и, следовательно, первый и третий сокращаются: P3 = P2 (m – 2) λ / μ = Po m (m – 1) (m – 2) ψ3 и т. д.; Pn = Pn-1 (m – (n – 1)) λ / μ = Po m (m – 1)…(m – (n – 1)) ψn = Po ψn m! / (m – n)! Используя очевидное равенство ∑ Pn = 1, получим: 1 = P 0 ∑ ψn m! / (m – n)! От n = 0 до m. Зная вероятность простоя канала обслуживания P0, можно определить его фактическую производительность: Pf = (1 – Po) μ G, где G, – например, количество груза, помещенного за одно обслуживание в машину. Для установившегося режима работы системы средняя интенсивность поступления требований во входном потоке равна аналогичной характеристике выхода требований из канала обслуживания:
Задачи массового обслуживания
515
(m – Nсист) λ = (1 – Po) μ, где Nсист – среднее число обслуживаемых требований, находящихся в системе. Из данного равенства можно легко найти среднее число требований (покупателей, рабочих, заданий, машин, неполадок), находящихся в системе Nсист.: Nсист = m – (1 – Po) / ψ. Среднее же число требований (машин), находящихся в очереди, будет вычислено так: Nоч = Nсист – (1 – Po) = m – (1 – Po) (1/ψ + 1). Пусть задан комплект машин «экскаватор – автосамосвалы». Экскаватор погружает за один рабочий цикл gэ= 1 т массы грунта. Грузоподъемность автосамосвала ga = 7 т. Число машин, обслуживающих экскаватор, m = 5. Время рабочего цикла экскаватора составляет tр.ц.= 18, а время обращения автосамосвала tобр = 10 мин. Тогда время погрузки одного грузовика составит: . Интенсивность погрузки автосамосвала экскаватором составит . Интенсивность же поступления автосамосвала на погрузку составит . Коэффициент ψ = λ / μ будет равен ψ = 0,207. Вероятность простоя экскаватора в этом случае составит: .
Таким образом, фактическая производительность данного комплекта машин будет на 27,1% ниже технической. Вероятности наличия n машин в системе: P1= P0 m ψ = 0,281; P2= P1 (m – 1) ψ = 0,233; P3= P2 (m – 2) ψ = 0,144; P4= P3 (m – 3) ψ = 0,06; P5= P4 (m – 4) ψ = 0,012. Фактическая производительность комплекта машин: Pf = (1 – Po) μ G = (1 – 0.271) . 29 . 7 = 147,947 т/ч.
516
Решение задач исследования операций
Среднее число машин, находящихся в системе: Nсист = m – (1 – Po) / ψ = 1,477. Среднее число машин, находящихся в очереди: Nоч = Nсист – (1 – Po) = m – (1 – Po) (1 / ψ + 1) = 0,749. Теперь рассмотрим неустановившийся режим работы системы массового обслуживания, когда основные вероятностные характеристики СМО зависят от времени, например в течение некоторого промежутка времени. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы, но уже с учетом производных вероятностей. Таким образом, мы будем иметь систему обыкновенных дифференциальных уравнений, описывающих функционирование одноканальной замкнутой системы при неустановившемся режиме. Для составления системы обыкновенных дифференциальных уравнений, описывающей функционирование системы массового обслуживания с пуассоновским потоком, существует мнемоническое правило: • производная dPn(t)/dt вероятности пребывания системы в состоянии n равна алгебраической сумме нескольких членов; • число членов этой суммы равно числу стрелок на графе состояний системы, соединяющих состояние n с другими; • если стрелка направлена в рассматриваемое состояние n, то член берется со знаком плюс; • если стрелка направлена из рассматриваемого состояния n, то член берется со знаком минус; • каждый член суммы равен произведению вероятности того состояния, из которого направлена стрелка, на интенсивность потока событий, переводящего систему по данной стрелке. В соответствии с размеченным графом состояний (рис. 7.19) эта система обыкновенных дифференциальных уравнений будет выглядеть так: dPo(t)/dt = P1(t) μ – Po(t) m λ; dP1(t)/dt = Po(t) m λ + P2(t) μ – P1(t) (m + (m – 1) λ); dP2(t)/dt = P1(t) (m – 1) λ + P3(t) μ – P2(t) (μ + (m – 2) λ); ................. dPn(t)/dt = Pn-1(t) (m – (n – 1)) λ + Pn+1(t) μ – Pn(t) (μ + (m – n) λ); ................. dPm(t)/dt = Pm-1(t) λ – Pm(t) μ. Как можно заметить, требуется большая вычислительная работа для определения основных параметров функционирования комплекта машин. Можно пойти тремя путями. Первый – это предварительный расчет Po для различных значений коэффициента использования ψ (табл. 7.16).
Задачи массового обслуживания
517
Таблица 7.16
Второй – применение какого-либо языка высокого уровня для решения этой задачи. Третий – использование системы Mathcad.
Решение задачи с использованием системы Mathcad Ввод текста на всех этапах решения задачи будем осуществлять, используя клавишу с двойной кавычкой, что позволит создать текстовую область. Введем на рабочем листе первый пункт расчета (рис. 7.20). Он будет выглядеть так:
Рис. 7.20. Процесс решения задачи определения параметров функционирования одноканальной замкнутой СМО в системе Mathcad
1. Задание исходных данных одноканальной замкнутой СМО. Затем последовательно введем исходные данные:
518
Решение задач исследования операций
— интенсивность обслуживания требований μ:=29; — интенсивность поступления одного требования на обслуживание λ:=6; — число требований, функционирующих в системе m:=5. Для решения задачи воспользуемся блоком функций Given … Find. Его применение требует предварительного задания начальных приближений. Введем на рабочем листе второй пункт расчета (рис. 7.20). Он будет выглядеть так: 2. Начальные приближения. Затем последовательно введем начальные приближенные значения искомых параметров: P0 := 0.25 P1 := 0.15 P2 := 0.15 P3 := 0.15 P4 := 0.15 P5 := 0.15 Сумма вероятностей всех состояний должна быть равна 1. Введем на рабочем листе третий пункт расчета (рис. 7.20). Он будет выглядеть так: 3. Запись системы уравнений, описывающей функционирование одноканальной системы. Вначале вводится ключевое слово Given (Дано), которое может быть напечатано прописными буквами, строчными или начинаться с прописной. Затем ниже вводится исходная система уравнений. Для примера ограничимся рассмотрением одноканальной замкнутой системы, в которой обслуживаются 5 требований. Интенсивность поступления одного требования на обслуживание λ равна трем поступлениям в час. Интенсивность обслуживания в канале μ составляет 29 обслуживаний в час. Эта система алгебраических уравнений будет выглядеть так: P0 m λ – P1 μ = 0; P1 (μ + (m – 1) λ) = P0 m λ + P2 μ; P2 (μ + (m – 2) λ) = P1 (m – 1) λ + P3 μ; P3 (μ + (m – 3) λ) = P2 (m – 2) λ + P4 μ; P4 (μ + (m – 4) λ) = P3 (m – 3) λ + P5 μ; P5 μ = P4 λ. Однако в представленном виде определитель системы будет равен нулю – система вырождена. Во избежание этой ситуации заменим последнее выражение следующим равенством: P0 + P1 + P2 + P3 + P4 + P5 = 1. В заключение вводится вектор искомых величин. Для этого: ¾ определите в поле рабочего листа (рис. 7.20) местоположение вектора, который должен располагаться несколько ниже системы равенств; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением матрицы. Появится панель инструментов Матрицы (Matrix); ¾ щелкните в панели инструментов Матрицы по кнопке с изображением матрицы или нажмите комбинацию клавиш Ctrl+M. В обоих случаях появится диалоговое окно Вставить матрицу (Insert Matrix);
Задачи массового обслуживания
519
¾ введите в диалоговом окне Вставить матрицу в текстовых полях Строки (Rows) и Столбцы (Columns) нужное число строк и столбцов, в нашей задаче – 6 и 1 соответственно; ¾ щелкните по кнопке ОК. Появится шаблон с метками для ввода искомых параметров (P0,P1,P2,P3,P4,P5). Для заполнения шаблона: ¾ щелкните по верхней метке шаблона и введите первый искомый параметр P0; ¾ щелкните по второй метке шаблона или нажмите клавишу Tab и введите второй искомый параметр P1 и т. д.; ¾ нажмите комбинацию клавиш Shift + : (двоеточие). Появится знак присваивания «:=», введите имя встроенной функции Find(P0,P1,P2,P3,P4,P5) с искомыми параметрами. Эта функция возвращает значения P0, P1, P2,P3, P4, P5, являющиеся решением системы уравнений. Введите на рабочем листе четвертый пункт расчета (см. рис. 7.20). Он будет выглядеть так: 4. Результаты решения. Для получения результатов расчета искомых величин достаточно набрать имя искомого параметра и знак равенства, нажав клавишу со знаком равно. Анализируя полученные результаты решения в системе Mathcad (рис. 7.20), можно заметить, что значения для параметров P0, P1, P2, P3, P4, P5 совпадают с соответствующими значениями, полученными при ручном счете. Теперь рассмотрим неустановившийся режим работы системы массового обслуживания, когда ее основные вероятностные характеристики зависят от времени, например в течение 0,3 ч. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы, но уже с учетом производных вероятностей. Таким образом, мы будем иметь систему обыкновенных дифференциальных уравнений, описывающих функционирование одноканальной замкнутой системы при неустановившемся режиме. Для примера ограничимся рассмотрением той же самой системы, в которой обслуживаются 5 требований. Интенсивность поступления одного требования на обслуживание λ равна 3 поступлениям в час. Интенсивность обслуживания в канале μ составляет 29 в час. Эта система обыкновенных дифференциальных уравнений будет выглядеть так: dPo (t)/dt = P1 (t) μ – Po (t) m λ; dP1 (t)/dt = Po (t) m λ + P2 (t) μ – P1 (t) (μ + (m – 1) λ); dP2 (t)/dt = P1 (t) (m – 1) λ + P3 (t) μ – P2 (t) (μ + (m – 2) λ); dP3 (t)/dt = P2 (t) (m – 2) λ + P4 (t) μ – P3 (t) (μ + (m – 3) λ); dP4 (t)/dt = P3 (t) (m – 3) λ + P5 (t) μ – P4 (t) (μ + (m – 4) λ); dP5 (t)/dt = P4 (t) λ – P5 (t) μ. На рис. 7.21 представлены начальные исходные данные и система дифференциальных уравнений, описывающая процесс функционирования одноканальной замкнутой системы массового обслуживания при неустановившемся режиме работы.
520
Решение задач исследования операций
Рис. 7.21. Описание функционирования одноканальной замкнутой системы массового обслуживания при неустановившемся режиме
На рис. 7.22 система дифференциальных уравнений представлена в виде, доступном для решения ее в системе Mathcad. По существу, на этом рисунке дано изображение правых частей системы дифференциальных уравнений в форме вектора-столбца, каждый элемент которого определяет значение правой части соответствующего уравнения на каждом шаге интегрирования (решения). Там же даны начальные значения искомых параметров, также в виде вектора-столбца. В нижней части рисунка определены начальное и конечное время интегрирования и число шагов решения системы дифференциальных уравнений. На рис. 7.23 приводится решение системы дифференциальных уравнений одноканальной замкнутой системы массового обслуживания с использованием встроенной функции rkfixed(P,to,t1,N,D), реализующей метод Рунге-Кутта с фиксированным шагом. Для вызова этой функции: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Функция (Function) или нажмите комбинацию клавиш Ctrl+E. Появится диалоговое окно Вставить функцию (Insert Function); ¾ щелкните в диалоговом окне Вставить функцию в списке Категория (Function Category) по пункту Решение дифференциальных уравнениий (Differential Equation Solving). В правом списке Имя (Function Name) появится список методов решения дифференциальных уравнений;
Задачи массового обслуживания
521
Рис. 7.22. Представление математической модели функционирования одноканальной замкнутой СМО при неустановившемся режиме
Рис. 7.23. Результаты функционирования одноканальной замкнутой СМО при неустановившемся режиме (начало)
522
Решение задач исследования операций
¾ щелкните по пункту под именем rkfixed. Это метод Рунге-Кутта – наиболее распространенный метод решения дифференциальных уравнений; ¾ щелкните по кнопке ОК. Появится шаблон для нужной нам функции. Можно сразу найти функцию rkfixed в диалоговом окне Вставить функцию в правом списке Имя (Function Name), после чего щелкнуть по ней мышкой, а затем по кнопке ОК, но это займет больше времени. В обоих случаях в нижних полях диалогового окна будет дано правильное написание выбранной функции со всеми аргументами, а также краткое описание ее действий. На рис. 7.23 дано графическое решение системы дифференциальных уравнений для первых двух искомых параметров. Иными словами, графически представлено поведение первых двух параметров P0 и P1 – вероятности отсутствия требований и возможности наличия в системе одного требования соответственно в зависимости от времени протекания процесса. На рис. 7.24 дано графическое решение системы дифференциальных уравнений для остальных четырех искомых параметров. Другими словами, графически представлено поведение искомых параметров P2, P3, P4 и P5 – вероятности наличия в системе двух, трех, четырех и пяти требований соответственно в зависимости от времени протекания процесса.
Рис. 7.24. Результаты функционирования одноканальной замкнутой СМО при неустановившемся режиме, представленные в графическом виде (окончание)
Задачи массового обслуживания
523
Анализируя в графическом виде решение системы обыкновенных дифференциальных уравнений, описывающей функционирование заданной одноканальной замкнутой системы массового обслуживания, можно заметить, что примерно через 0,3 ч система переходит в установившийся режим работы. При этом значения вероятностей состояний установившегося режима работы системы при решении совокупности обыкновенных дифференциальных уравнений практически полностью соответствуют решению системы алгебраических для установившегося режима работы: P0 = 0.271 P0 = 0.27 P1 = P0 m ψ = 0.281
P1= 0.28
P2= P1 (m – 1)ψ = 0.233
P2 = 0.23
P3= P2 (m – 2)ψ = 0.144
P3 = 0.14
P4= P3 (m – 3)ψ = 0.06
P4 = 0.06
P5= P4 (m – 4)ψ = 0.012 P5 = 0.012 На рис. 7.25 представлен фрагмент результатов решения системы обыкновенных дифференциальных уравнений в численном виде.
Рис. 7.25. Фрагмент результатов решения системы обыкновенных дифференциальных уравнений в численном виде для одноканальной замкнутой СМО
524
Решение задач исследования операций
Задача анализа многоканальной замкнутой системы массового обслуживания Постановка задачи Пусть задана многоканальная замкнутая система массового обслуживания с неограниченным временем его ожидания и простейшим потоком, который наиболее соответствует реалиям жизни и характеризуется следующими особенностями: • поступление требований в систему на обслуживание происходит по одному, то есть вероятность поступления двух и более требований в один момент времени очень мала и ею можно пренебречь (поток требований ординарный); • вероятность поступления последующих требований в любой момент времени не зависит от возможности поступления в предыдущие моменты – поток требований без последействия; • поток требований стационарный.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Функционирование многоканальной замкнутой системы массового обслуживания можно описать через все возможные ее состояния и интенсивности перехода из одного в другое. Основными параметрами функционирования СМО являются вероятности состояния системы, то есть возможности наличия n требований (покупателей, рабочих, заданий, машин, неполадок) в системе – Pn. Так, вероятность Po характеризует состояние, когда в системе нет требований и все каналы обслуживания простаивают, Р1 – в системе находится только одно требование и т. д. Важным параметром функционирования системы массового обслуживания является также среднее число требований, находящихся в системе Nсист (то есть в очереди и на обслуживании), и средняя длина очереди Nоч. Исходными параметрами, характеризующими систему массового обслуживания (СМО), являются: • число каналов обслуживания N (касс, компьютеров, кранов, ремонтных бригад); • число требований m (покупателей, рабочих, заданий, машин, неполадок); • интенсивность поступления одного требования на обслуживание l (то есть число возвращений требования в единицу времени); • интенсивность обслуживания требований μ. Интенсивность поступления на обслуживание одного требования определяется как величина, обратная времени возвращения требования – tвоз: λ = 1 / tвоз.
Задачи массового обслуживания
525
Интенсивность обслуживания требований определяется как величина, обратная времени обслуживания одного требования – tобс. μ = 1 / tобс.
Решение задачи традиционными методами Представим все возможные состояния системы массового обслуживания в виде размеченного графа состояний (рис. 7.26). Каждый прямоугольник графа определяет одно из всех возможных состояний, количественно оцениваемое вероятностью состояний Pn. Pn – это возможность наличия в системе n требований. Стрелочки на графе указывают, в какое состояние система может перейти и с какой интенсивностью. При этом в многоканальной СМО необходимо различать два случая: – число требований n, поступивших в систему, меньше числа каналов обслуживания N, то есть все они находятся на обслуживании 0 ≤ n < N; – число требований n, поступивших в систему, больше или равно числу каналов обслуживания N, то есть N требований обслуживаются, а остальные r ожидают в очереди (r = 1, 2, …, m – N).
Рис. 7.26. Размеченный граф состояний многоканальной замкнутой СМО
Первый прямоугольник с вероятностью Po определяет состояние системы массового обслуживания, при котором все каналы обслуживания простаивают из-за отсутствия требований в ней. Из этого положения СМО может перейти только в состояние P1, и тогда в ней появится одно требование, так как входной поток требований ординарный. С интенсивностью μ система может перейти также из состояния P1 в состояние P0; когда в системе находилось одно требование, оно было обслужено раньше, чем появилось новое, и т. д. Вначале рассмотрим установившийся режим работы системы массового обслуживания, когда основные вероятностные характеристики СМО постоянны во времени, например в течение часа. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы. Для случая, когда число требований n, поступивших в систему, меньше числа каналов обслуживания N, – 0 ≤ n < N:
Решение задач исследования операций
526 Po m λ = P1 μ; P1 (μ + (m – 1) λ) = Po m λ + P2 2μ;
P2 (2μ + (m – 2) λ) = P1(m – 1) λ + P3 3μ; ................. Pn (nμ + (m – n) λ) = Pn-1 (m – (n – 1)) λ + Pn+1 (n+1)μ; ................. Для случая, когда число требований n, поступивших в систему, больше или равно числу каналов обслуживания N, но меньше или равно числу требований m, – N ≤ n ≤m: Pn (N μ + (m – n) λ) = Pn-1 (m – (n – 1)) λ + Pn+1 N μ; ………………………………………………………. Pm-1 λ = Pm Nμ. Обозначим величину λ/μ, как и раньше, через ψ и назовем ее коэффициентом загрузки. Рассмотрим вначале первый случай, когда число требований n, поступивших в систему, меньше числа каналов обслуживания N, 0 ≤ n < N. Из первого уравнения можно найти значение P1: P1 = Po m λ / μ = Po m ψ. Из второго уравнения найдем значение P2: P2 = P1./2 + P1 (m – 1) λ / 2μ – Po m λ / 2μ. Но P1 = Po m λ / μ – из первого уравнения, следовательно, первый и третий члены сокращаются: P2 = P1 (m – 1) λ / 2μ = Po m (m – 1) ψ2/2. Из третьего уравнения найдем значение P3: P3 = P2 2 / 3 + P2 (m – 2) λ / 3μ – P1 (m – 1) λ / 3μ. Но P2 = P1 (m – 1) λ / 2μ, следовательно, первый и третий члены сокращаются: P = P (m – 2) λ / 3μ = P m (m – 1) (m – 2) ψ3/(1 . 2 . 3) и т. д. 3
2
o
Аналогичные выражения можно получить и для других вероятностей состояний. Анализируя полученные выражения, вычисляем рекуррентное выражение для определения вероятности состояния системы, когда число требований, находящихся в системе n, меньше числа каналов обслуживания N: P ' = P (m – (n – 1)) λ / nμ = P m (m – 1)…(m – (n – 1)) ψn/ (1 . 2 . …n) = n
n-1
o
= Po ψ m! / ( (m – n)! n!) Рассмотрим теперь второй случай, когда N ≤ n ≤ m. В этой ситуации рекуррентное выражение для определения вероятности состояния системы будет записано в таком виде: n
Задачи массового обслуживания
527
Pn'' = Po ψn m! / ( (m – n)! N! N n-N); Используя очевидное равенство е Pn = 1 от n = 0 до m, получим: . Допустим, что наша система имеет два канала обслуживания N = 2. Интенсивность поступления одного требования на обслуживание λ – 6 раз в течение часа. Интенсивность обслуживания требований μ составляет 30. Число обслуживаемых машин m равно 5. Требуется определить вероятности нахождения различного числа требований в системе: P0 =0.4; P1' = P0 m ψ = 0.4 . 5 . 0.2=0.4; P2' = P1 (m – 1)ψ /2 = 0.4 . 4 . 0.2/2 = 0.16; P3'' = P2 (m – 2)ψ /2 = 0.16 . 3 . 0.2/2 = 0.048; P4'' = P3 (m – 3)ψ /2 = 0.048 . 2 . 0.2/2 = 0.0096; P5'' = P3 (m – 3)ψ /2 = 0.0096 . 0.2/2 = 0.00096. Теперь рассмотрим неустановившийся режим работы СМО, когда ее основные вероятностные характеристики зависят от времени, например в течение некоторого интервала времени. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы, но уже с учетом производных вероятностей. Таким образом, мы будем иметь систему обыкновенных дифференциальных уравнений, описывающих функционирование одноканальной замкнутой системы при неустановившемся режиме. Для составления системы обыкновенных дифференциальных уравнений, описывающей функционирование СМО с пуассоновским потоком, существует мнемоническое правило: • производная dPn(t)/dt вероятности пребывания системы в состоянии n равна алгебраической сумме нескольких членов; • число членов этой суммы равно количеству стрелок на графе состояний системы, соединяющих состояние n с другими; • если стрелка направлена в рассматриваемое состояние n, то член берется со знаком плюс; • если стрелка направлена из рассматриваемого состояния n, то член берется со знаком минус; • каждый член суммы равен произведению вероятности того состояния, из которого направлена стрелка, на интенсивность потока событий, переводящего систему по данной стрелке. В соответствии с размеченным графом состояний (рис. 16.8) эта система обыкновенных дифференциальных уравнений будет выглядеть так: Для случая, когда число требований n, поступивших в систему, меньше числа каналов обслуживания N, – 0 ≤ n < N:
528
Решение задач исследования операций
dPo(t)/dt = P1(t) μ – Po(t) m λ; dP1(t)/dt = Po(t) m λ + P2(t) 2μ – P1(t) (μ + (m – 1) λ); dP2(t)/dt = P1(t) (m – 1) λ + P3(t) 3μ – P2(t) (2μ + (m – 2) λ); ................ dPn(t)/dt = Pn-1(t) (m – (n – 1)) λ + Pn+1(t) (n +1) μ – Pn(t) (nμ + (m – n) λ); ................ Для случая, когда число требований n, поступивших в систему, больше или равно числу каналов обслуживания N, – N ≤ n ≤ m: dPn(t)/dt = Pn-1(t) (m – (n – 1)) λ + Pn+1(t) N μ – Pn(t) (Nμ + (m – n) λ); ………………………………………………………. dPm(t)/dt = Pm-1λ – Pmμ. Как можно заметить, требуется большая вычислительная работа для определения основных параметров функционирования комплекта машин. Можно пойти, как и в предыдущей задаче, тремя путями. Первый путь – предварительный расчет Po для различного числа каналов обслуживания и для разнообразных значений коэффициента использования ψ (табл. 7.17).
Таблица 7.17
Второй – это применение какого-либо языка высокого уровня для решения этой задачи. Третий – использование системы Mathcad.
Решение задачи с использованием системы Mathcad Ввод текста на всех этапах решения задачи будем осуществлять, используя клавишу с двойной кавычкой, что позволит создать текстовую область. Введем на рабочем листе первый пункт расчета (рис. 7.27). Он будет выглядеть так: 1. Задание исходных данных. Затем последовательно введем исходные данные: μ := 30 λ := 6 m := 10 N := 2
Задачи массового обслуживания
529
Для решения задачи воспользуемся блоком функций Given … Find. При использовании его необходимо задать начальные приближения. Введем на рабочем листе второй пункт расчета (рис. 7.27). Он будет выглядеть так:
Рис. 7.27. Процесс определения параметров функционирования многоканальной замкнутой СМО в системе Mathcad
2. Начальные приближения. Затем последовательно введем начальные приближенные значения искомых параметров: P0 := 0.25 P1 := 0.15 P2 := 0.15 P3 := 0.15 P4 := 0.15 P5 := 0.15 Введем на рабочем листе третий пункт расчета (рис. 7.27). Он будет выглядеть следующим образом: 3. Запись системы уравнений, описывающей функционирование одноканальной системы. Вначале вводится ключевое слово Given (Дано), которое может быть напечатано прописными буквами, строчными или начинаться с прописной. Затем ниже вводится исходная система уравнений, а в заключение – векторстолбец искомых величин. Для этого: ¾ определите в поле рабочего листа (рис. 7.27) местоположение вектора, который должен располагаться несколько ниже системы равенств; ¾ щелкните в панели инструментов Математика (Math) по кнопке с изображением матрицы. Появляется панель инструментов Матрицы (Matrix); ¾ щелкните в панели инструментов Матрицы по кнопке с изображением матрицы или нажмите комбинацию клавиш Ctrl+M. В обоих случаях появится диалоговое окно Вставить матрицу (Insert Matrix);
530
Решение задач исследования операций
¾ введите в диалоговом окне Вставить матрицу в текстовых полях Строки (Rows) и Столбцы (Columns) нужное число строк и столбцов, в нашей задаче – 6 и 1 соответственно; ¾ щелкните по кнопке ОК. Появится шаблон вектора-столбца с метками для ввода искомых параметров (P0,P1,P2,P3,P4,P5). Для заполнения шаблона вектора-столбца: ¾ щелкните по верхней метке шаблона и введите первый искомый параметр P0; ¾ щелкните по второй метке шаблона или нажмите клавишу Tab и введите второй искомый параметр P1 и т. д.; ¾ нажмите комбинацию клавиш Shift+: (двоеточие). Появится знак присваивания :=, введите имя встроенной функции Find(P0,P1,P2,P3,P4,P5) с искомыми параметрами. Эта функция возвращает значения P0, P1, P2,P3, P4, P5, являющиеся решением системы уравнений. Введем на рабочем листе четвертый пункт расчета (рис. 7.27). Он будет выглядеть так: 4. Результаты решения. Для получения результатов расчета искомых величин достаточно набрать имя нужного параметра и знак равенства, нажав клавишу со знаком равно. Теперь рассмотрим неустановившийся режим работы системы массового обслуживания, когда ее основные вероятностные характеристики зависят от времени, например в течение 0,3 ч. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы, но уже с учетом производных вероятностей. Таким образом, мы будем иметь систему обыкновенных дифференциальных уравнений, описывающих функционирование одноканальной замкнутой системы при неустановившемся режиме. Для примера ограничимся рассмотрением системы, в которой обслуживаются 5 требований. Интенсивность поступления одного требования на обслуживание λ равна 3 требования в час, а интенсивность обслуживания в канале μ составляет 10 требований в час. Эта система обыкновенных дифференциальных уравнений будет выглядеть так: Для случая, когда число требований n, поступивших на обслуживание в систему, меньше числа каналов обслуживания N, – 0 ≤ n < N: d/dt Po (t) = P1 (t) μ – Po (t) m λ; d/dt P1 (t) = Po (t) m λ + P2 (t) 2μ – P1 (t) (μ + (m – 1) λ); d/dt P2 (t) = P1 (t) (m – 1) λ + P3 (t) 3μ – P2 (t) (μ + (m – 2) λ); ................ d/dt Pn (t) = Pn-1 (t) (m – (n – 1)) λ + Pn+1 (t) (n+1)μ – Pn (t) (μ + (m – n) λ); ................ Для случая, когда число требований n, поступивших на обслуживание в систему, больше или равно числу каналов обслуживания N, – N ≤ n ≤ m:
Задачи массового обслуживания
531
d/dt Pn (t) = Pn-1 (t) (m – (n – 1)) λ + Pn+1 (t) N μ – Pn (t) (N μ + (m – n) λ); ………………………………………………………. d/dt Pm (t) = Pm (t) Nμ – Pm-1 (t) λ. На рис. 7.28 представлены начальные исходные данные и система дифференциальных уравнений, описывающая процесс функционирования многоканальной замкнутой СМО при неустановившемся режиме работы.
Рис. 7.28. Описание функционирования многоканальной замкнутой СМО при неустановившемся режиме
На рис. 7.29 дано представление системы дифференциальных уравнений в виде, доступном для решения ее в Mathcad. По существу, на этом рисунке показаны правые части системы уравнений в виде вектора-столбца. Каждый его элемент определяет значение правой части соответствующего дифференциального уравнения на любом шаге интегрирования (решения). Там же даны начальные значения искомых параметров, тоже в виде вектора-столбца. В нижней части рисунка определены начальное и конечное время интегрирования и число шагов решения системы дифференциальных уравнений. На рис. 7.30 приводится решение системы дифференциальных уравнений многоканальной замкнутой СМО с использованием встроенной функции rkfixed(P,to,t1,N,D), реализующей метод Рунге-Кутта с фиксированным шагом.
532
Решение задач исследования операций
Рис. 7.29. Представление совокупности дифференциальных уравнений в виде, доступном для решения ее в системе Mathcad
На рис. 7.23 приводится решение системы дифференциальных уравнений одноканальной замкнутой системы массового обслуживания с использованием встроенной функции rkfixed(P,to,t1,N,D), реализующей метод Рунге-Кутта с фиксированным шагом. Для вызова этой функции: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в выпадающем меню по пункту Функция (Function) или нажмите комбинацию клавиш Ctrl+E. Появится диалоговое окно Вставить функцию (Insert Function); ¾ щелкните в диалоговом окне Вставить функцию в списке Категория (Function Category) по пункту Решение дифференциальных уравнений (Differential Equation Solving). В правом списке Имя (Function Name) появится список методов решения дифференциальных уравнений; ¾ щелкните по пункту под именем rkfixed. Это метод Рунге-Кутта – наиболее распространенный метод решения дифференциальных уравнений; ¾ щелкните по кнопке ОК. Появится шаблон для нужной вам функции. Можно сразу найти функцию rkfixed в правом поле Function Name диалогового окна, после чего щелкнуть мышкой по ней, а затем по кнопке ОК, но это займет больше времени. В обоих случаях в нижних полях диалогового окна будет дано правильное написание выбранной функции со всеми аргументами, а также краткое описание ее действий. На рис. 7.30 дано решение системы дифференциальных уравнений в графическом виде для первых двух искомых параметров, то есть графически представлено поведение параметров P0 и P1 – вероятности отсут-
Задачи массового обслуживания
533
ствия требований и возможности наличия в системе одного требования соответственно в зависимости от длительности процесса.
Рис. 7.30. Решение системы дифференциальных уравнений многоканальной замкнутой СМО
На рис. 7.31 дано решение системы дифференциальных уравнений в графическом виде для остальных четырех искомых параметров. Другими словами, графически представлено поведение искомых параметров P2, P3, P4 и P5 – вероятности наличия в системе двух, трех, четырех и пяти требований соответственно в зависимости от продолжительности процесса. Анализируя в графическом виде решение системы обыкновенных дифференциальных уравнений, описывающей функционирование заданной многоканальной замкнутой СМО, можно заметить, что примерно через 0,2 ч система переходит в установившийся режим работы. При этом значения вероятностей состояний установившегося режима работы системы при решении совокупности обыкновенных дифференциальных уравнений практически полностью соответствуют решению системы алгебраических для установившегося режима работы: P0 = 0.4 P0 = 0.4 P1' = P0 m ψ = 0.4 * 5 * 0.2 = 0.4
P1 = 0.4
P2' = P1 (m -1) ψ / 2 = 0.4*4*0.2 / 2 = 0.16
P2 = 0.16
Решение задач исследования операций
534
Рис. 7.31. Результаты решения системы дифференциальных уравнений многоканальной замкнутой СМО в графическом виде
P3'' = P2 (m – 2) ψ / 2 = 0.16 . 3 . 0.2 / 2 = 0.048
P3 = 0.048
P4'' = P3 (m – 3) ψ / 2 = 0.048 . 2 . 0.2 / 2 = 0.0096
P4 = 0.01
P5'' = P3 (m – 3) ψ / 2 = 0.0096 . 0.2 / 2 = 0.00096 P5 = 0.001 На рис. 7.32 представлен фрагмент результатов решения системы обыкновенных дифференциальных уравнений в численном виде.
Задача оптимизации структуры одноканальной замкнутой системы массового обслуживания с ожиданием Постановка задачи Сформулируем задачу в общем виде. Пусть известны основные технико-экономические показатели функционирования одноканальной замкнутой СМО: Свп – средние затраты, связанные с простоем канала обслуживания в единицу времени (час, смену), руб.; Св – средние затраты, связанные с работой канала обслуживания в единицу времени (час, смену), руб.;
Задачи массового обслуживания
535
Рис. 7.32. Фрагмент результатов решения системы обыкновенных дифференциальных уравнений в численном виде для многоканальной замкнутой СМО
Соп – средние затраты, связанные с работой обслуживаемой машины (требования) в единицу времени (час, смену), руб., не зависящие от пробега; Сп – средние затраты, связанные с пробегом обслуживаемой машины, приходящиеся на 1 километр пробега, руб. Пусть известны расстояние транспортировки продукции (грунт, панели, раствор) L в километрах и количество продукции, перевозимой обслуживаемой машиной за один рейс G (т, шт., м3), а также время обслуживания одной машины – tобс. Выберем в качестве критерия оптимизации себестоимость единицы продукции. Искомым параметром является оптимальная структура комплекта механизмов, то есть такое число машин (требований), которые должна обслуживать ведущая машина (канал обслуживания) в целях минимизации себестоимости единицы продукции.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Критерий оптимизации – себестоимость единицы продукции – можно представить в таком виде:
Решение задач исследования операций
536
где Ро – вероятность простоя канала обслуживания из-за отсутствия обслуживаемых машин; m – число обслуживаемых машин; n – число обслуженных машин в единицу времени. Зная время обслуживания одной машины (требования) каналом, можно определить интенсивность обслуживания μ, которая равна обратной величине tобс, то есть μ = 1/tобс. Число обслуженных машин в единицу времени можно определить так: n = μ (1 – Pо). Выделим некоторые особенности функционирования рассматриваемого комплекта машин: • вероятность поступления последующих машин (требования) на обслуживание не зависит от возможности прибытия предыдущих, то есть мы имеем систему без последействия; • вероятность поступления на обслуживание сразу двух и более машин равна нулю или столь мала, что ею можно пренебречь, то есть мы имеем систему с ординарным потоком машин в ней; • вероятность поступления машин на обслуживание зависит только от интервала времени, но не зависит от расположения этого интервала на оси времени, то есть мы имеем комплект машин со стационарным потоком поступления их на обслуживание. Таким образом, мы имеем простейший поток, для которого известна формула, позволяющая определять вероятность простоя P0(m) канала обслуживания из-за отсутствия обслуживаемых машин. Индекс «0» означает простой канала обслуживания при наличии m обслуживаемых машин: .
Для установившегося режима работы системы средняя интенсивность поступления требований на обслуживание равна аналогичной характеристике выхода обслуженных требований из соответствующего канала: (m – Nсист) λ = (1 – P0) μ, где Nсист – среднее число обслуживаемых требований, находящихся в системе. Из данного равенства можно легко найти среднее число требований (автосамосвалов, панелевозов), находящихся в системе Nсист: .
Задачи массового обслуживания
537
Среднее же число требований (машин), находящихся в очереди, определится так:
Решение задачи традиционными методами Выражение критерия оптимизации Y после уточнения некоторых его составляющих можно представить в таком виде: . Преобразуем критерий оптимизации так, чтобы составляющие, которые не зависят от структуры комплекта m, находились в одном выражении, а зависящие от m – в другом. Для этого добавим в числителе Cвп и –Cвп и упростим выражение. Получим: . В результате преобразования критерий оптимизации разделился на две части, из которых первая – Y0 – не зависит от искомого параметра m, а вторая зависит. При этом следует учесть, что вероятность простоя канала обслуживания Р0 также зависит от искомого параметра. Анализируя критерий оптимизации, можно заметить, что искомый параметр m – число требований, которые может эффективно обслуживать канал, – принимает только целочисленные значения. Следовательно, классические методы оптимизации для поиска оптимального значения mопт в этой ситуации неприменимы. Для поиска оптимума воспользуемся следующим очевидным неравенством: Y(m – 1) ≥ Y(m) ≤ Y(m + 1). Малое число обслуживаемых требований в системе вызовет значительные простои канала обслуживания, большое их количество повлечет за собой заметный простой обслуживаемых требований. И в том, и в другом случае комплект будет неэффективен. Подставим в исходное неравенство математическое выражение критерия оптимизации и получим следующее выражение: . Упростим его, разделив все части неравенства на выражение Cвп + m Cоп, стоящее в числителе среднего члена, и получим:
538
Решение задач исследования операций ,
где С = Свп / Соп. Назовем величину С коэффициентом затрат. Для того чтобы определить наилучшую структуру одноканальной замкнутой СМО – оптимальное число обслуживаемых требований mопт, необходимо рассчитать последнее неравенство для различных значений m. То его значение, которое удовлетворит полученному неравенству, и будет искомым оптимальным значением. Эти расчеты достаточно трудоемки. Можно пойти тремя путями. Первый – предварительный расчет mопт для различных значений коэффициентов загрузки (ψ) и затрат (С) и сведение их в таблицу (табл. 7.18).
Таблица 7.18
Второй – применение языка высокого уровня, например Фортрана, с целью расчета оптимальных величин mопт для различных значений коэффициента загрузки ψ и коэффициента затрат С с представлением результатов расчета в табличном виде. Третий путь – использование системы Mathcad.
Решение задачи с использованием системы Mathcad Осуществим ввод текста, используя клавишу с двойной кавычкой, что позволит создать текстовую область. Введем вначале на рабочем листе первый пункт расчета (рис. 7.32). Он будет выглядеть так: 1. Задание исходных данных одноканальной замкнутой СМО. В этом пункте вводятся значения коэффициента загрузки ψ = 0,1, коэффициента затрат С = 0,6 и диапазон изменения искомого параметра m. Далее перейдем к вводу функций и отдельных составляющих неравенства для поиска оптимального числа требований в системе. Этот пункт можно записать так:
Задачи массового обслуживания
539
2. Ввод функций для расчета. Вводятся выражения для вычисления вероятности простоя канала обслуживания Р0 (m) и выражения неравенства:
– левая часть неравенства;
– средняя часть неравенства;
– правая часть неравенства. Далее перейдем к вычислению отдельных составляющих неравенства для поиска оптимального числа требований в системе. Этот пункт можно записать так:
Рис. 7.33. Определение оптимального числа требований в одноканальной замкнутой СМО
Решение задач исследования операций
540
3. Вычисление составляющих неравенства и графическое решение задачи. В этом пункте проводится вычисление составляющих неравенства для всего диапазона изменения искомого параметра – числа требований, функционирующих в системе. Анализируя результаты табулирования отдельных составляющих неравенства, для определения оптимального числа требований, функционирующих в системе, можно заметить, что оптимальное число требований mopt равно 6. Именно в этом случае выполняется исходное неравенство: y1 (m) ≥ y2 (m) ≤ y3 (m), 1.946 ≥ 1.94 ≤ 1.949.
Расчет подвесных конструкций Постановка задачи Пусть известны параметры кран-балки (стрелы башенного крана, подвесного моста, консоли и т. д.). Длина балки крана L м, расстояние от точки опоры балки до точки подвеса – A м, угол наклона подвесного каната относительно балки – α (в градусах), вес поднимаемого груза – G Н (ньютон). Требуется определить значения реакций X и Y в точке опоры кран-балки и усилие P в подвесном канате, закрепленном на ней, в зависимости от положения тельфера на балке крана. Затем нужно построить график зависимости значений реакций X и Y в точке опоры балки от расположения груза на ней (рис. 7.34).
Рис. 7.34. Схема подвески кран-балки
Выявление основных особенностей, взаимосвязей и количественных закономерностей Используя данные схемы подвески кран-балки и действующих сил (рис. 7.39), составим систему уравнений для определения искомых значений реакций X и Y в точке опоры балки и усилия P в канате подвески:
Задачи массового обслуживания
541
1. Сумма моментов действующих сил относительно базовой точки равна P sin (α) A = G Z. 2. Сумма проекций сил на ось X равна X – P cos (α) = 0. 3. Сумма проекций сил на ось Y равна Y + P sin (α) = G.
Решение задачи традиционными методами Из первого уравнения можно определить P: P = G Z / (sin (α) A). Из второго – величину реакции опоры X: X = P cos (α) = G Z / (sin (α) A) cos α. Из третьего – величину реакции опоры Y: Y = – P sin (α) + G = – G Z / (sin (α) A) sin (α) + G = G (1 – Z/A). Размеры кран-балки – L = 5 м, A = 2.5 м, G = 2000 Н, угол подвески каната a = 30 градусов; тогда для Z = 5 м: P = G Z / (sin (α) A) = 2000 . 5 / (sin (30о) 2.5) = 8000 Н; X = P cos (α) = 8000 . 5 / 2 = 6928 Н; Y = G (1 – Z/A) = 2000 . (1 – 5 / 2.5) = –2000 Н.
Решение задачи с использованием системы Mathcad Работу в системе Mathcad начнем с ввода исходных данных с учетом их размерностей, а вычисления проведем в системе единиц SI. Осуществим ввод текста, используя клавишу с двойной кавычкой, что позволит создать текстовую область. Введем на рабочем листе первый пункт расчета (рис. 7.35), который будет выглядеть так: 1. Задание исходных данных (с размерностью). Затем последовательно введем исходные данные кран-балки: G:=2000 ⋅ newton A:=2.5 ⋅ m Z:=5 ⋅ m a:=30 ⋅ deg. Размерности записываются после числовых или символьных величин с использованием знака умножения, который в Mathcad отображается в виде точки по середине строки. После ввода знака присваивания «:=» (клавиша с двоеточием) появится метка для ввода значения параметра. Введя его и знак умножения, приступим к вводу нужной размерности. Это можно сделать двумя способами: ввести ее непосредственно (например, для G – размерность newton) или использовать соответствующие пункты меню и специальное диалоговое окно.
542
Решение задач исследования операций
Рис. 7.35. Решение системы уравнения равновесия кран-балки
Для ввода размерности с помощью системы Mathcad: ¾ щелкните в главном меню по пункту Вставить (Insert), а затем в появившемся выпадающем меню по пункту Единицы измерения (Unit) или нажмите комбинацию клавиш Ctrl+U. Появится диалоговое окно Вставить Блок; ¾ щелкните в разделе Измерение (Dimension) в списке физических величин по пункту, например, Force (Сила). В разделе Блок появится соответствующий список единиц измерения выбранной физической величины; ¾ щелкните в разделе Блок (Unit) в списке единиц измерения выбранной физической величины по нужной единице, например Ньютон (newton); ¾ щелкните по кнопке OK. Установленная в диалоговом окне единица измерения автоматически появится в месте расположения курсора на рабочем листе. Аналогично вводятся размерности и для остальных параметров (рис. 7.36). Для решения задачи применим блок функций Given … Find. При использовании этого блока необходимо задать начальные приближения.
Задачи массового обслуживания
543
Рис. 7.36. Диалоговое окно Вставить Блок
Ввод текста на всех этапах решения задачи будем осуществлять, используя клавишу с двойной кавычкой, что позволит создать текстовую область. Введем на рабочем листе второй пункт расчета (рис. 7.35), который будет выглядеть так: 2. Начальные приближения искомых параметров: Затем последовательно введем начальные приближенные значения искомых параметров: P:=G X:=G Y:=G Введем на рабочем листе третий пункт расчета (рис. 7.35), который будет выглядеть таким образом: 3. Запись системы уравнений. Вначале вводится ключевое слово Given (Дано), которое может быть напечатано прописными буквами, строчными или начинаться с прописной. Затем ниже помещается исходная система уравнений. В заключение вводится вектор-столбец искомых величин. Для этого в поле рабочего листа (рис. 7.35) определяем местоположение вектора. Если в окне имеется панель инструментов Математика, щелкаем по кнопке с изображением матрицы. Появляется окно Матрица. В этом окне щелкаем по кнопке с аналогичным изображением или нажимаем на комбинацию клавиш Ctrl+M. В обоих случаях появляется диалоговое окно Вставить матрицу. В его полях помещаем нужное число строк и столбцов, в нашей задаче – 3 и 1 соответственно. После щелчка по клавише ОК появится шаблон вектор-столбца с метками для ввода исходных данных. Подведя курсор или указатель мыши к каждой из них, введем искомые параметры, затем знак присваивания := и имя встроенной функции Find(X,Y,P).
544
Решение задач исследования операций
Введем на рабочем листе четвертый пункт расчета (рис. 7.35), который будет выглядеть так: 4. Результаты расчета искомых параметров. Для получения результатов расчета искомых величин достаточно набрать имя нужного параметра и знак равенства, нажав клавишу со знаком равно или щелкнув по кнопке со знаком равенства, расположенной в верхнем левом углу панели инструментов Вычисление. Введем на рабочем листе пятый пункт расчета (рис. 7.37), который будет выглядеть так:
Рис. 7.37. Исследование влияния расположения груза G и угла α на величину реакции X, Y и усилие P
5. Исследование влияния расположения груза G и угла a на величину реакции X, Y и усилие P. Для проведения исследования представим искомые параметры в функции изменяемых величин: расстояния расположения груза на кран-балке от точки опоры – Z и угла наклона каната (укосины) к кран-балке – α (рис. 7.37). Изменение
Задачи массового обслуживания
545
угла подвеса каната примем в диапазоне 10–50 градусов, расстояние размещения груза от точки опоры до конца кран-балки – от 0 до 8 м. Ниже представлены трехмерные и плоскостной графики изменения искомых параметров в зависимости от изменяемых величин (рис. 7.37). Рассмотрим теперь решение данной задачи средствами символьной математики системы Mathcad. В целях вызова и вставки в рабочем листе функций для выполнения символьных вычислений: ¾ щелкните в главном меню по пункту Вид (View), а затем в выпадающем меню по пункту Панели инструментов (Toolbars). Появится всплывающее меню; ¾ щелкните во всплывающем меню по пункту Символы (Symbolic). Появится панель инструментов Символы (Symbolic) для работы с символьными выражениями. В качестве исходных данных возьмем полученную систему уравнений равновесия сил и моментов для исследуемой кран-балки. Решение системы уравнений аналитическим способом можно осуществить двумя способами. Первый – это использование функции Given Find, второй – применение ключевого слова Solve. При реализации первого способа напечатайте уравнения и используйте знак равенства, нажав комбинацию клавиш Ctrl+=. При вводе комментариев используйте клавишу с двойной кавычкой. Затем напечатайте имя функции Find с искомыми параметрами X, Y и P, далее введите символический знак равенства – стрелка вправо, щелкнув по кнопке со стрелкой вправо, расположенной в левом верхнем углу панели инструментов Символы, или нажмите комбинацию клавиш Ctrl+. (точка). При реализации второго способа необходимо выполнить следующие операции: ¾ создайте вектор (матрицу), имеющую n строк по числу уравнений и 1 столбец. В нашем примере n = 3. После появления шаблона вектора-столбца введите на месте каждой метки соответствующее уравнение в аналитическом виде; ¾ выделите весь вектор с уравнениями в аналитическом виде; ¾ щелкните на панели инструментов Символы по кнопке с именем Solve. Появится соответствующий шаблон для аналитического решения системы уравнений; ¾ создайте в метке шаблона оператора Solve вектор-столбец, включающий n строк по числу искомых переменных и 1 столбец. В нашем примере n = 3. После появления шаблона с метками введите имена искомых переменных, а затем нажмите клавишу Enter. На рис. 7.38 представлено решение системы уравнений равновесия кран-балки средствами символьной математики системы Mathcad.
546
Решение задач исследования операций
Рис. 7.38. Решение задачи равновесия кран-балки средствами символьной математики системы Mathcad
Глава 8 Решение инженерных задач Кинематический анализ кривошипно-шатунного механизма .............................. 548 Динамический анализ кривошипно-шатунного механизма .............................. 552 Кинематический анализ манипулятора ......................... 559 Моделирование привода механизма поворота робота ... 568 Моделирование системы управления ............... 576 Последовательный анализ качества изделий .................... 582
Решение инжененрных задач
548
Кинематический анализ кривошипно-шатунного механизма Этот класс задач относится к классу задач «теория механизмов и машин» (ТММ), решение которых часто настолько сложно, что их точное решение или оказывается невозможным, или требует большой вычислительной работы. Для решения этих задач привлекают ЭВМ и языки высокого уровня, например Fortran. Появление же такой математической системы, как Mathcad, позволяет часто более эффективно решать и этот класс задач. В качестве примера рассмотрим один из наиболее распространенных механизмов – кривошипно-шатунный (кривошипно-ползунный) механизм. Задачи кинематического анализа состоят в определении положений звеньев, включая и определение траекторий отдельных точек звеньев, скоростей и ускорений. При этом считаются известными законы движения начальных звеньев и кинематическая схема механизма.
Постановка задачи Рассмотрим перемещение звеньев кривошипно-шатунного механизма с заданными размерами (рис. 8.1).
Рис. 8.1. Схема кривошипно-шатунного механизма
Допустим, что начальное положение ведущего звена – кривошипа равно α0 = 62 град. Размеры звеньев кривошипно-шатунного механизма соответственно равны: L = 0.1, Lc = 0.35. Требуется определить положение, скорость и ускорение ведомого звена – ползуна кривошипно-шатунного механизма.
Кинематический анализ кривошипно-шатунного механизма
549
Выявление основных особенностей, взаимосвязей и количественных закономерностей Для определения положения, скорости и ускорения ведомого звена – ползуна кривошипно-шатунного механизма необходимо выполнить следующие этапы: ¾ составить уравнения связей звеньев механизма в векторной форме: ; ¾ представление уравнений связей звеньев механизма в координатной форме: ; ; ;
¾ определить линейную скорость ползуна. Для этого необходимо продифференцировать соответствующее уравнение связи: ; ¾ определить линейное ускорение ползуна. Для этого необходимо продифференцировать соответствующее уравнение скорости.
Для решения данной задачи с использованием системы Mathcad необходимо выполнить следующие основные этапы: ¾ определить размеры звеньев кривошипно-шатунного механизма; ¾ определить закон движения и начальный угол положения кривошипа; ¾ определить уравнения связей звеньев кривошипно-шатунного механизма в векторной форме; ¾ определить уравнения связей звеньев кривошипно-шатунного механизма в координатной форме;
550
Решение инжененрных задач
¾ определить аналитическое выражение для вычисления скорости ползуна путем дифференцирования уравнения положения ползуна и значения скорости для заданного угла поворота; ¾ определить аналитическое выражение для вычисления ускорения ползуна путем дифференцирования уравнения скорости ползуна и значения ускорения для заданного угла поворота; ¾ представить в аналитическом и графическом виде искомые параметры кинематического анализа. Вначале определим размеры звеньев кривошипно-шатунного механизма, закон движения ведущего звена – кривошипа, начальный угол положения кривошипа, уравнения связей звеньев кривошипно-шатунного механизма в векторной и координатной формах – рис. 8.2. Затем произведем определение скорости перемещения ползуна кривошипношатунного механизма в аналитическом виде и значение ее для заданного положения кривошипа – рис. 8.3. Далее произведем определение ускорения перемещения ползуна кривошипно-шатунного механизма в аналитическом виде и значение его для заданного положения кривошипа – рис. 8.4. На рис. 8.5 дано аналитическое и графическое представление искомых параметров кинематического анализа.
Рис. 8.2. Определение положения ползуна кривошипно-шатунного механизма
Кинематический анализ кривошипно-шатунного механизма
Рис. 8.3. Определение скорости ползуна кривошипно-шатунного механизма
Рис. 8.4. Определение ускорения ползуна кривошипно-шатунного механизма
551
Решение инжененрных задач
552
Рис. 8.5. Аналитическое и графическое представление искомых параметров
Анализируя результаты расчета в графическом виде, можно заключить, что при угле поворота кривошипа, равном: • α = 0о, координата местонахождения ползуна составит Xb = 0.45, а скорость Vb = 0; • α = 90о, координата местонахождения ползуна составит Xb = 0.335, а скорость Vb = –0.05; • α = 180о, координата местонахождения ползуна составит Xb = 0.25, а скорость Vb = 0; • α = 270о, координата местонахождения ползуна составит Xb = 0.335, а скорость Vb = 0.05.
Динамический анализ кривошипно-шатунного механизма Постановка задачи Задан некоторый агрегат, состоящий из двух звеньев: ведущего – кривошипа и ведомого – поступательно движущаяся кулиса – ползуна. Во время рабочего хода
Динамический анализ кривошипно-шатунного механизма
553
ведомое звено (ползун, поршень, …) реализует постоянное усилие Р. Вес ведомого звена G. Весом остальных звеньев агрегата и силами трения пренебрегаем. Момент инерции вращающихся частей ведущего звена равен J1. Для заданных параметров – P = 100 H, G = 10 H, J1 = 0,05 кгм2, длина кривошипа L = 0,1 м – необходимо рассчитать и представить в графическом виде основные характеристики агрегата (рис. 8.6):
Рис. 8.6. Схема силового агрегата
• приведенный момент движущих сил Mдп; • приведенный момент сил сопротивления Mср; • приведенный момент инерции J1р; • угловую скорость ведущего звена ω1; • полную кинетическую энергию агрегата E. Необходимо определить основные характеристики агрегата для режимов разгона, установившегося движения и торможения. При этом следует учитывать, что агрегат выходит на установившийся режим через два оборота (n1 = 2). Все основные характеристики должны быть выражены в функции угла поворота ведущего звена ϕ и представлены на экране дисплея графически во время работы агрегата.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Искомые характеристики силового агрегата определим для режима разгона. Из условия равенства мощностей на входе и выходе вычислим приведенный момент сил сопротивления Мср: , где Vс – линейная скорость ведомого звена. Угловую скорость ведущего звена найдем по формуле: , где Va – линейная скорость точки А ведущего звена, направленная по касательной к окружности О. Линейную скорость точки А можно разложить на две составляющие: по вертикали (Vay) и горизонтали (Vag):
Решение инжененрных задач
554 ;
. Следовательно, скорости точек А и С по горизонтали равны: Vag = Vc. Имея в виду это равенство, запишем выражение для приведенного момента сил сопротивления в следующем виде: , . Определим работу Ад движущей силы во время разгона:
Определим работу Ас силы сопротивления во время разгона: Ac = 2 ⋅ P ⋅L. Используя равенство работы движущей силы (момента) Ад и силы сопротивления Ас за один цикл, определим величину приведенного момента движущих сил Mдп. При этом будем учитывать силу сопротивления в течение первой половины оборота ведущего звена, когда действует полезное сопротивление движению Р.
, где 2⋅L – расстояние перемещения ведомого звена за пол-оборота ведущего звена. Следовательно, . Движущий момент агрегата считается постоянным и действует во время разгона и установившегося движения. Исходя из равенства кинетических энергий, приведенный момент инерции J1п к ведущему звену можно определить следующим образом: , откуда JIn = J1 + G ⋅ V2c / (gu ⋅ ω12), но , следовательно, .
Динамический анализ кривошипно-шатунного механизма
555
По теореме живых сил определим значение угловой скорости ведущего звена: , но , , откуда . Рассмотрим теперь установившийся режим работы агрегата. В течение первой половины оборота ведущего звена – при изменении угла ϕ от 0 до π – действуют приведенные моменты: движущий момент Mдп и момент сил сопротивления Мср. Результирующий приведенный момент Мр за это время будет равен: . Кинетическая энергия агрегата в первой половине оборота ведущего звена составит: E = Aд – Ac + C . После интегрирования получим: , где С – постоянная, которая определяется по начальным данным при ϕ = 0 и Е = Еo. Но поскольку cos(0) = 1, C = Eo – P ⋅ L. Здесь Ео – кинетическая энергия, накопленная за время разгона. Следовательно, кинетическая энергия агрегата составит: . Кинетическая энергия, накопленная за время разгона: .
Решение инжененрных задач
556
Полную кинетическую энергию агрегата можно рассчитать по формуле: . Полная кинетическая энергия агрегата во вторую половину оборота ведущего звена (от ϕ = π до ϕ = 2 π): . Вторая половина оборота ведущего звена – холостой ход, Р = 0, и, следовательно, работа сил сопротивления Ac = –2 ⋅ P ⋅ L останется неизменной. Из теоремы живых сил
угловую скорость ведущего звена ω1 при установившемся движении агрегата можно вычислить по формуле: . Далее рассмотрим режим остановки (торможения) агрегата. Определим приведенный момент сопротивления Мср, который действует в первой половине оборота ведущего звена (от ϕ = 0 до ϕ = π): ,
(0 ≤ ϕ ≤ π),
(2π ≤ ϕ ≤ 3π) и т. д.
Значение кинетической энергии агрегата за первую половину оборота ведущего звена составит: . За вторую половину оборота ведущего звена кинетическая энергия будет постоянна и иметь то же значение, что и при ϕ = π: . Кинетическую энергию при дальнейшем вращении ведущего звена (ϕ от 2π до 3π) можно вычислить по формуле:
Изменение угловой скорости ведущего звена при торможении и остановке составит: .
Динамический анализ кривошипно-шатунного механизма
557
Для проведения динамического анализа кривошипно-шатунного механизма с использованием системы Mathcad необходимо выполнение следующих основных этапов: • определение исходных данных; • расчет и построение графика движущего момента агрегата в режиме разгона и установившегося движения; • расчет и построение графика приведенного момента инерции на ведущем валу для всех режимов работы механизма; • расчет и построение графика кинетической энергии агрегата для всех режимов работы механизма; • расчет и построение графиков угловой скорости ведущего звена во всех режимах работы механизма; • расчет и построение графиков приведенного момента в режиме установившегося движения и торможения. Определение исходных данных для расчета динамических параметров агрегата, расчет и построение графика движущего момента агрегата проведены на рис. 8.7. Расчет и построение графика приведенного момента инерции на ведущем валу и кинетической энергии агрегата во время разгона агрегата проведены на рис. 8.8. Расчет и построение графиков кинетической энергии агрегата во время установившегося движения и торможения проведены на рис. 8.9.
Рис. 8.7. Определение исходных данных для расчета динамических параметров агрегата
558
Решение инжененрных задач
Рис. 8.8. Расчет и построение графика приведенного момента и кинетической энергии во время разгона
Рис. 8.9. Расчет и построение графиков кинетической энергии агрегата во время установившегося движения и торможения
Кинематический анализ манипулятора
559
Расчет и построение графиков угловой скорости ведущего звена во время разгона, установившегося движения и торможения проведены на рис. 8.10. Расчет и построение графиков приведенного момента во время установившегося движения и торможения проведены на рис. 8.11.
Рис. 8.10. Расчет и построение графиков угловой скорости ведущего звена во время разгона, установившегося движения и торможения
Кинематический анализ манипулятора Как мы уже отмечали, задачи кинематического анализа состоят в определении положений звеньев, включая и определение траекторий отдельных точек звеньев, скоростей и ускорений. При этом считаются известными законы движения начальных звеньев и кинематическая схема механизма. Проведем кинематический анализ более сложного механизма – манипулятора.
Постановка задачи Рассмотрим перемещение звеньев манипулятора промышленного робота с заданными размерами (рис. 8.12).
560
Решение инжененрных задач
Рис. 8.11. Расчет и построение графиков приведенного момента на ведущем звене во время установившегося движения и торможения
Рис. 8.12. Схема расположения звеньев манипулятора
Известны уравнения движения захвата манипулятора и начальные положения звеньев манипулятора.
Кинематический анализ манипулятора
561
Уравнения движения захвата манипулятора выглядят так: Ya(t) = 0.5487 – 0.089 ⋅ t Xa(t) = 1.533 – 0.2 ⋅ t Начальные положения звеньев манипулятора – углы расположения звеньев равны: α0 = 62 град., β0 = 33 град. Известны размеры звеньев манипулятора: a = 1.3, b = 1.1, c = 0.55. Требуется определить значения углов положения, угловые скорости и ускорения звеньев манипулятора
Выявление основных особенностей, взаимосвязей и количественных закономерностей Для определения значений углов положения, угловых скоростей и ускорений звеньев манипулятора необходимо: ¾ составить уравнения связей в векторной форме: – основной механизм, – управляющий механизм; ¾ представить уравнения связей в координатной форме: , , , ; ¾ определить при t = 0 недостающие начальные значения – величины перемещения ползуна s0 и угла поворота звена управления – γ0. Возведем последние два выражения в квадрат и сложим соответственно их левые и правые части – получим: c2 = (0.31 ⋅ a)2 + 2 ⋅ 0.31 ⋅ a ⋅ s ⋅ (cos(α α) ⋅ sin(β β)) + s2 = α ) ⋅ cos(β β) – sin(α 2 2 α + β) + s . = (0.31 ⋅ a) + 2 ⋅ 0.31 ⋅ a ⋅ s ⋅ cos(α Таким образом, получаем приведенное квадратное выражение, которое может быть использовано для определения начального значения s0. Корни квадратного уравнения вычисляются по известной формуле
Решение инжененрных задач
562
Подставляя начальные значения исходных параметров, получим начальное значение s0. . Для определения начального значения угла γ0 используем уравнение . Из этого уравнения вначале определим sin(γ) . Используя обратную тригонометрическую функцию, найдем искомое значение угла
¾ определение линейной и угловых скоростей звеньев механизма. Для этого необходимо продифференцировать соответствующие уравнения связей и решить полученную систему уравнений: ; ; ; . Для определения искомых линейной и угловых скоростей звеньев механизмов необходимо решить полученную систему алгебраических уравнений; ¾ определение линейной и угловых ускорений звеньев механизма. Для этого необходимо продифференцировать соответствующие уравнения скоростей и решить получающуюся систему уравнений:
Кинематический анализ манипулятора
563
Для определения искомых, линейной и угловых ускорений звеньев механизмов необходимо решить полученную систему алгебраических уравнений. Таким образом, для любого момента времени, которому соответствует I положение звеньев манипулятора, зная значения углов и координаты s, можно определить искомые значения скоростей и ускорений. Но это требует большой вычислительной работы. Для определения значений углов и координаты s для следующего (I +1) положения можно воспользоваться разложением в ряд Тейлора, используя расчеты, полученные на текущем этапе вычисления. Искомые значения углов и координаты s на последующем положении могут быть представлены в таком виде:
Многократно повторяя все предыдущие вычисления, мы определим все искомые параметры положения звеньев механизма. Для решения данной задачи можно использовать один из языков программирования высокого уровня, например Fortran, или математическую систему Mathcad. Для решения данной задачи определим искомые параметры с использованием системы Mathcad: ¾ введите размеры звеньев манипулятора; ¾ введите уравнения движения захвата манипулятора; ¾ введите начальные углы положения звеньев манипулятора; ¾ определите уравнения связей звеньев манипулятора в векторной форме; ¾ определите уравнения связей звеньев манипулятора в координатной форме; ¾ определите начальный угол γ0 и значения s0; ¾ выполните операции дифференцирования уравнений связей звеньев манипулятора; ¾ выполните операции дифференцирования уравнений, описывающих скорости звеньев манипулятора; ¾ определите угловые и линейные скорости звеньев манипулятора; ¾ определите угловые и линейные ускорения звеньев манипулятора; ¾ определите значения углов α, β и γ и координаты положения s для следующего положения звеньев манипулятора. Вначале введем размеры звеньев манипулятора, уравнения движения захвата манипулятора, начальные углы положения звеньев манипулятора, а затем определим уравнения связей звеньев манипулятора в векторной форме – рис. 8.13. Далее определим уравнение связей звеньев манипулятора в координатной форме, значения начального угла γ0 и координаты s0 – рис. 8.14. Далее выполним операции дифференцирования уравнений связей звеньев манипулятора для определения угловых и линейных скоростей – рис. 8.15.
564
Решение инжененрных задач
На рис. 8.16 выполняются операции дифференцирования уравнений скоростей звеньев манипулятора для определения угловых и линейных ускорений. На рис. 8.17 продолжаются выполняться операции дифференцирования уравнений скоростей звеньев манипулятора для определения угловых и линейных ускорений. На рис. 8.18 выполняется операция решения системы уравнений для определения угловых и линейных скоростей. На рис. 8.19 выполняется операция решения системы уравнений для определения угловых и линейных ускорений Заключительным этапом первой итерации расчета является определение значений углов для следующего положения звеньев манипулятора – рис. 8.20. Для этого используется разложение по формуле Тейлора. Для упрощения системы уравнений ограничимся двумя членами ряда. Как указано на рис. 8.20, после определения значений углов следующего положения звеньев манипулятора и координаты s необходимо перейти к пункту 9. Последние определенные значения углов звеньев манипулятора и координаты s становятся исходными, и весь процесс поиска следующих значений повторяется. Это происходит до тех пор, пока захват, согласно заданным уравнениям перемещения, не достигнет заданной точки.
Рис. 8.13. Исходные данные для определения угловых скоростей и ускорений звеньев манипулятора
Кинематический анализ манипулятора
565
Рис. 8.14. Уравнения связей звеньев манипулятора для определения угловых скоростей и ускорений звеньев манипулятора и определение недостающих исходных данных
Рис. 8.15. Дифференцирование уравнений связей звеньев манипулятора, данные для определения угловых и линейных скоростей
566
Решение инжененрных задач
Рис. 8.16. Дифференцирование уравнений скоростей звеньев манипулятора для определения угловых и линейных ускорений
Рис. 8.17. Продолжение дифференцирования уравнений скоростей звеньев манипулятора для определения угловых и линейных ускорений
Кинематический анализ манипулятора
Рис. 8.18. Решение системы уравнений для определения угловых и линейных скоростей
Рис. 8.19. Решение системы уравнений для определения угловых и линейных ускорений
567
Решение инжененрных задач
568
Рис. 8.20. Определение значений углов для следующего положения звеньев манипулятора
Моделирование привода механизма поворота робота Постановка задачи Рассмотрим привод механизма поворота робота вокруг вертикальной оси. Верхняя подвижная платформа получает вращение от привода поворота, установленного на нижней неподвижной опоре. Привод поворота включает электродвигатель постоянного тока, датчик скорости (тахогенератор), связанный с двигателем через вал червячного редуктора. Движущий момент передается на подвижную платформу через редуктор и цилиндрическую зубчатую передачу. Одно из зубчатых колес закреплено на выходном валу червячного редуктора, а второе – на поворотной платформе робота. На неподвижной опоре установлен датчик положения, соединенный с подвижной платформой через зубчатую передачу. Известно, что единственной координатой, доступной измерению, является скорость вращения двигателя, которая определяется с помощью тахогенератора. Входным воздействием для рассматриваемой электромеханической системы при наличии электродвигателя постоянного тока будет U(t) – напряжение, подаваемое на якорь электродвигателя. Требуется определить основные характеристики привода механизма поворота робота:
Моделирование привода механизма поворота робота
569
• i(t) – ток в якорной цепи электродвигателя постоянного тока; • ϕ1(t) – угол поворота ротора электродвигателя; • ω1(t) – угловую скорость вращения ротора электродвигателя постоянного тока; • ϕ2(t) – угол поворота робота; • ω2(t) – угловую скорость вращения робота. Определение этих параметров провести в режиме пуска. Поворот производится с полностью выбранным зазором при подаче на зажимы якоря электродвигателя напряжения с заданным законом изменения его во времени.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Анализ кинематической схемы механизма поворота с учетом структуры механической передачи, числа и места установленных датчиков позволяет представить объект в виде двух-массовой электромеханической системы с упругими связями. Механическая расчетная схема этой системы приведена на рис. 8.21.
Рис. 8.21. Расчетная схема механизма поворота робота
Будем полагать, что моменты внешних сил трения, приложенные к первой и второй массам, мало зависят от скорости и могут быть представлены как постоянные величины. Исходные параметры электродвигателя постоянного тока соответственно равны: • R = 4.54 Ом – активное сопротивление якорной цепи электродвигателя; • L = 0.0634 Гн – индуктивность якорной цепи электродвигателя; • Cd = 0.0954 В·с/рад – конструктивный коэффициент электродвигателя. Исходные параметры механической части привода соответственно равны: • С12 = 133.67 Н·м/рад – коэффициент упругости; • В12 = 0.0211 Н·м·с/рад – коэффициент внутреннего вязкого трения; • MT1 = 0.047 Н·м – момент внешних сил трения, приложенный к первой массе; • MT2 = 0.0005 Н·м – момент внешних сил трения, приложенный ко второй массе; • J1 = 0.000116 кг·м2 – момент инерции первой массы; • J2 = 0.00534 кг·м2 – момент инерции второй массы. Построение математической модели двух-массовой электромеханической системы. На рис. 8.22 представлена детализированная структурная схема механизма поворота робота. Детализированная структурная схема – это схема, состоящая из
570
Решение инжененрных задач
интегрирующих, дифференцирующих и масштабирующих звеньев, а также нелинейных статических характеристик.
Рис. 8.22. Структурная схема механизма поворота робота
Используя детализированную структурную схему исследуемой системы, составим систему уравнений, описывающую процесс ее функционирования.
Теперь представим эту математическую модель в виде системы дифференциальных уравнений с выделением производных искомых параметров. Для чего производные искомых параметров системы перенесем в левую часть системы, а остальные составляющие выражения – в правую. Тогда исходная математическая модель, описывающая процесс поворота робота во время разгона, может быть представлена в таком виде.
Моделирование привода механизма поворота робота
571
Момент статических сопротивлений Mc = 0. Примем, что на вход системы (якорь электродвигателя) подается напряжение, описываемое уравнением U(t) = 6.4 – 1.25 ⋅ t В при 0 < t < 1.2 c. Моделирование рассматриваемой электромеханической системы может быть произведено на основе численного решения задачи Коши. При этом математическая модель системы должна быть представлена в виде системы обыкновенных дифференциальных уравнений. Для упрощения записи математической модели сделаем замену искомых переменных. Для чего обозначим i через x1, ϕ1 через x2, ω1 через x3, ϕ2 через x4, ω2 через x5. Тогда математическая модель механизма поворота робота будет выглядеть так:
Рассмотрим теперь процесс моделирования механизма поворота робота в системе Mathcad. Этот процесс включает ряд этапов: • определение значений исходных данных; • формирование вектора-столбца начальных значений искомых параметров, временного интервала функционирования исследуемой системы и числа расчетов; • формирование вектора-столбца правых частей системы дифференциальных уравнений; • выбор метода и соответствующей функции для решения системы дифференциальных уравнений; • табличное и графическое представление результатов моделирования системы. Вначале представим значения исходных данных для моделирования привода механизма поворота робота – рис. 8.23.
572
Решение инжененрных задач
Рис. 8.23. Значения исходных данных для моделирования привода механизма поворота робота
Далее перейдем к формированию вектора-столбца начальных значений искомых параметров механизма поворота и исходных параметров интегрирования. На рис. 8.24 производится формирование вектора-столбца начальных значений искомых параметров и исходных параметров интегрирования. Вызов диалогового окна для ввода шаблона вектора-столбца начальных значений искомых параметров можно выполнить тремя способами: ¾ щелкнуть мышкой по пункту Вставить (Insert) главного меню Mathcad, а затем по пункту Матрица (Matrix): ¾ нажать комбинацию клавиш Ctrl+M; ¾ щелкнуть по кнопке с изображением шаблона матрицы на панели инструментов Матрица (Matrix), если она есть на рабочем листе. Во всех трех случаях появится диалоговое окно Вставить матрицу (Insert Matrix). В этом окне в верхнем поле Строки (Rows) ввести число 5, по числу искомых параметров, а в нижнем поле Столбцы (Columns) ввести число 1 – вектор. В появившемся шаблоне вектора на месте меток ввести начальные значения искомых параметров. В нашем примере эти значения приняты равными 0. С помощью системной переменной ORIGIN на рис. 8.24 введено значение начального индекса искомых параметров, равное 1. По умолчанию начальное значение индекса равно 0. Для моделирования механизма поворота робота в системе Mathcad необходимо предварительно сформировать вектор-столбец правых частей системы дифференциальных уравнений – рис. 8.25.
Моделирование привода механизма поворота робота
Рис. 8.24. Формирование вектора начальных значений искомых параметров механизма поворота и исходных параметров интегрирования
Рис. 8.25. Формирование вектора-столбца правых частей системы дифференциальных уравнений
573
574
Решение инжененрных задач
Для решения системы дифференциальных уравнений предварительно необходимо выбрать метод ее решения, при этом результаты решения системы уравнений можно представить в табличном или графическом виде. Для решения данной системы дифференциальных уравнений используем метод Рунге-Кутта четвертого порядка, для реализации которого в системе Mathcad имеется соответствующая встроенная функция rkfixed(x,t1,t2,n,F). На рис. 8.26 даны результаты решения системы дифференциальных уравнений методом Рунге-Кутта в табличном виде. В таблице результатов расчета по умолчанию показываются только 16 результатов расчета из множества рассчитанных. Для просмотра других результатов расчета щелкните мышкой по таблице. Появится бегунок в правой части таблицы. Установите указатель мышки на бегунке списка результатов расчета. Нажмите левую кнопку мышки и, удерживая ее нажатой, перемещайте бегунок списка вниз, вверх для просмотра других значений расчета. При необходимости фиксации найденных результатов расчета отпустите левую кнопку мышки. Для графического представления результатов решения системы дифференциальных уравнений необходимо предварительно создать матрицу данных результатов расчета. На рис. 8.27 создана матрица данных результатов расчета и показаны некоторые из результатов решения системы дифференциальных уравнений в графическом виде, а точнее представлены зависимости тока якорной цепи электродвигателя постоянного тока и угла поворота электродвигателя от времени.
Рис. 8.26. Результаты решения системы дифференциальных уравнений в табличном виде
Моделирование привода механизма поворота робота
575
Рис. 8.27. Результаты решения системы дифференциальных уравнений в графическом виде
На рис. 8.28 представлены остальные результаты решения системы дифференциальных уравнений в графическом виде: угловая скорость вала электродвигателя ω1, угол поворота робота ϕ2 и угловая скорость поворота робота ω2 в зависимости от времени поворота робота. Для лучшего представления графика угловой скорости поворота робота на экране Mathcad (рис. 8.28) график должен быть предварительно уменьшен, а затем растянут по горизонтали вправо. Для выполнения этих действий: ¾ щелкните по графику левой кнопкой мышки. Появится рамка, на которой справа, внизу и в нижнем правом углу будут находиться метки; ¾ установите указатель мышки на метку в правом нижнем углу рамки графика, нажмите левую кнопку и, удерживая ее, перемещайте указатель мышки по диагонали (вверх влево) для уменьшения стандартного размера графика (размера графика по умолчанию) до нужного размера; ¾ отпустите левую кнопку мышки; ¾ установите указатель мышки на метке, расположенной справа на рамке, нажмите левую кнопку и, удерживая ее, перемещайте указатель мышки вправо для увеличения ширины графика до нужного размера; ¾ отпустите левую кнопку мышки.
Решение инжененрных задач
576
Рис. 8.28. Результаты решения системы дифференциальных уравнений в графическом виде
Моделирование системы управления Постановка задачи Провести моделирование объекта, включающего следящую систему с комбинированным каналом управления. Объект управления имеет электродвигатель постоянного тока со встроенным тахогенератором (ТГ), реверсивный тиристорный преобразователь (ТП), редуктор, исполнительный орган (ИО). Тиристорный преобразователь представляется звеном – кp /(Тp p + 1). Следящая система имеет замкнутые контуры регулирования по скорости вращения двигателя – ωd и угловому положению исполнительного органа – ϕс. Объект характеризуется следующими значениями параметров: • кp = 26 – коэффициент передачи тиристорного преобразователя; • Тp = 0.003 с – постоянная времени тиристорного преобразователя; • Rd = 0.4 Ом – активное сопротивление якорной цепи электродвигателя; • Тem = 1.2 с – электромеханическая постоянная времени, учитывающая суммарный момент инерции двигателя и исполнительного органа;
Моделирование системы управления
577
• с1d = смФ = 1.8 Н·м/А – конструктивный коэффициент электродвигателя; • с 2d = сеФ = 1.8 В·с/рад – конструктивный коэффициент электродвигателя; • кmp = 0.02 – коэффициент механической передачи (величина, обратная передаточному числу редуктора i = 50); • кg = 0.8 В·с/рад – коэффициент передачи тахогенератора; • Тg = 0.01 с – постоянная времени тахогенератора. Следящая система имеет замкнутые контуры регулирования по скорости вращения двигателя ωdи угловому положению исполнительного органа ϕс. Внутренний контур скорости настраивается на оптимум по модулю (ОМ), поэтому регулятор скорости (РС) структурно выполнен как пропорциональноинтегрально-дифференциальный (ПИД). Регулятор и соответствующая передаточная функция может быть представлена в таком виде: , а ее параметры выбраны равными: .
Tmω – эквивалентная малая постоянная времени контура скорости, принятая равной Tmω = Tg + Tp = 0.01 + 0.003 = 0.013 с. Постоянные интегрирования соответственно равны: tp1 = Tem = 1.2 с, tp2 = Td = 0.07 с. С целью снижения уровня помех в канале регулирования дифференцирующая часть ПИД-регулятора скорости ограничивается частотой – 10/tp2. Контур положения выполнен по принципам комбинированного управления. В прямом канале замкнутого контура регулирования положения исполнительного органа применен пропорционально-интегральный (ПИ) регулятор положения (РП): . Кроме регулирования по ошибке δ = ϕз – ϕс, реализован канал регулирования по задающему воздействию. Для этого на вход внутреннего контура скорости через корректирующее звено с передаточной функцией
578
Решение инжененрных задач
вводится сигнал реальной производной от задающего воздействия ϕз. По предварительным расчетам определено: BП = 640; tРП = 0.16 с; tк = 50 с; td = 1 с. Требуется подобрать такое значение постоянной времени регулятора положения tp, при котором выходная координата ϕс при отработке системой ступенчатого управления будет переходить в новое установившееся положение с перерегулированием не более 20%.
Выявление основных особенностей, взаимосвязей и количественных закономерностей Детализированная структурная схема следящей системы с комбинированным приводом представлена на рис. 8.29.
Рис. 8.29. Структурная схема следящей системы с комбинированным приводом
Представим функционирование исследуемой системы с помощью системы обыкновенных дифференциальных уравнений, которая включает девять дифференциальных уравнений первого порядка и может быть записана в таком виде:
Моделирование системы управления
579
Рассмотрим теперь процесс моделирования объекта управления, включающего следящую систему с комбинированным каналом управления, в системе Mathcad. Для этого необходимо: ¾ определить значения исходных данных; ¾ сформировать вектор-столбец начальных значений искомых параметров, временного интервала функционирования исследуемой системы и числа расчетов; ¾ сформировать вектор-столбец правых частей системы дифференциальных уравнений; ¾ выбрать метод и соответствующую функцию для решения системы дифференциальных уравнений; ¾ представить в табличном и графическом виде результаты моделирования системы. Исходные данные для исследования следящей системы с комбинированным каналом управления представлены на рис. 8.30. Формирование вектора-столбца начальных значений искомых параметров, временного интервала и числа расчетов представлены на рис. 8.31. Опишем теперь функционирование следящей системы с комбинированным каналом управления системой обыкновенных дифференциальных уравнений, которые представлены на рис. 8.32. Для решения системы дифференциальных уравнений предварительно необходимо выбрать метод ее решения, при этом результаты решения системы уравнений можно представить в табличном или графическом виде. Для решения данной системы дифференциальных уравнений используем метод Рунге-Кутта четвертого порядка, для реализации которого в системе Mathcad имеется соответствующая встроенная функция rkfixed(x,t1,t2,n,F). Частичные результаты решения системы дифференциальных уравнений представлены на рис. 8.33.
580
Решение инжененрных задач
Рис. 8.30. Исходные данные для решения задачи
Рис. 8.31. Формирование вектора-столбца начальных значений искомых параметров, временного интервала и числа расчетов
Моделирование системы управления
581
Рис. 8.32. Система дифференциальных уравнений, описывающая функционирование следящей системы с комбинированным каналом управления
Рис. 8.33. Частичные результаты решения системы обыкновенных дифференциальных уравнений в табличном виде с помощью встроенной функции rkfixed
Решение инженерных задач
582
Решение системы дифференциальных уравнений выполним при ступенчатом управлении ∆ϕз = 0.1 рад. Вначале решение системы выполним при tр = 0.16, а затем при tр = 0.25. Решение системы дифференциальных уравнений в графическом виде при tрп = 0.16 представлено на рис. 8.34.
Рис. 8.34. Решение системы обыкновенных дифференциальных уравнений в графическом виде при tр = 0.16 с помощью встроенной функции rkfixed
Теперь проведем решение системы обыкновенных дифференциальных уравнений в графическом виде при tр = 0.25, которое представлено на рис. 8.35. Во втором случае при tр = 0.25 наблюдается уменьшение изменения значения угла поворота исполнительного органа при переходе системы из одного устойчивого положения в другое. Если в первом случае изменение значения угла поворота исполнительного органа при переходе системы из одного устойчивого положения в другое характеризуется значением перерегулирования в 26%, то во втором – только 19%.
Последовательный анализ качества изделий Постановка задачи Качество продукции будем считать хорошим, если вероятность соответствия качеству будет составлять W ≥ 0,8. Однако с вероятностью α ≤ 0.02 допустимо принятие решения о том, что продукция соответствует нормам, хотя вероятность со-
Последовательный анализ качества изделий
583
Рис. 8.35. Решение системы обыкновенных дифференциальных уравнений в графическом виде при tр = 0.25 с помощью встроенной функции rkfixed
ответствия качеству W < 0,7. Вероятность α – это вероятность попадания выборки в критическую область W, вычисленной при гипотезе H0. С другой стороны – с вероятностью β ≤ 0.03 также допустимо принятие решения о том, что продукция не соответствует требуемому качеству, хотя W > 0,9. Вероятность β – это вероятность непопадания выборки в область W, вычисленной при гипотезе H1. Таким образом, требуется проверить качество продукции при допускаемом риске: • p0 = 1 – 0.9 = 0.1 – верхняя граница области принятия и отклонения проверяемой гипотезы; • p1 = 1 – 0.7 = 0.3 – нижняя граница области принятия и отклонения проверяемой гипотезы. Требуется построить оперативную характеристику критерия L(p) и функцию среднего числа испытаний E(p). Оперативная характеристика критерия L(p) определяет вероятность того, что процесс закончится принятием проверяемой гипотезы H0. Она является функцией неизвестного параметра распределения случайной величины p. Оперативная характеристика показывает, насколько хорошо данное правило проверки соответствует принятию правильного решения. Функция среднего числа наблюдений критерия E(n) характеризует среднее число наблюдений n для заданного критерия, зависит только от параметра p. Для решения задачи используем метод последовательного анализа, который является одним из методов статистического исследования при проверке гипотез. После каждой проверки производится анализ всех предыдущих значений контролируемого параметра изделия и принимается одно из трех возможных решений.
584
Решение инженерных задач
Правило определяет три попарно-непересекающиеся области Rm0, Rm1 и Rm множества всех возможных выборок (x1,…, xm) объема m, таких, что если наблюденная выборка, начиная с m=1, попала в область Rm0, то принимается гипотеза H0, если в область Rm – то эксперимент продолжается и проводится очередное (m+1) испытание. Область Rm1 называется критической областью W и однозначно определяется ошибками двух родов. Ошибка первого рода, если отклоняется гипотеза H0, в то время как она истинна. Ошибка второго рода, если гипотеза H0 принимается, в то время как истинна конкурирующая гипотеза H1. Вероятность ошибки первого рода равна α – вероятности попадания наблюденной выборки в критическую область W, вычисленной при гипотезе H0, а вероятность ошибки второго рода равна β – вероятности непопадания выборки в область W, вычисленной при гипотезе H1. Вероятности α и β допускают следующую важную практическую интерпретацию. При большом количестве выборок доля ложных значений равна α, если верна гипотеза H0, и равна β, если верна гипотеза H1. Процесс последовательной проверки характеризуется: • допускаемым риском, связанным с принятием неверных решений; • оперативной характеристикой последовательного критерия L(p); • функцией среднего числа наблюдений критерия E(p); • конкретным последовательным критерием проверки статистических гипотез. Допускаемый риск определяется выбором четырех характеристик: • ошибки первого рода – α; • ошибки второго рода – β; • верхней границы области принятия и отклонения проверяемой гипотезы – p0; • нижней границы области принятия и отклонения проверяемой гипотезы – p1. Ошибки α и β, значения p 0 и p1 выбираются на основе оценки последствий, к которым приводит неправильное решение, так чтобы вероятность забраковать партию изделий не превышала величины α, когда истинное значение неизвестного параметра p ≤ p0, и вероятность принять партию не превышала β, когда p ≥ p1. Математическая формулировка данной задачи может быть представлена так. Пусть x – случайная величина, которая может принимать только два значения: 0 и 1, и p – неизвестная вероятность того, что x принимает значение 1. Требуется проверить гипотезу H0 о том, что p не превышает некоторой заданной величины p′. Величина p означает относительное число дефектных изделий в партии. При p ≤ p′ партия принимается, при p > p′ нет. Допускаемый риск определяется из требований, чтобы вероятность забраковать партию не превышала заданной величины α, когда p ≤ p0, и вероятность принять партию не превышала β, когда p ≥ p1. Принятие партии изделий рассматривается как ошибка, имеющая значение тогда (и только тогда), когда p ≥ p1, а отказ от принятия партии, когда p ≤ p0. Если p0 ≤ p ≤ 1, то может быть принято любое решение. Допускаемый риск характеризуется числами p0, p1, α и β.
Последовательный анализ качества изделий
585
Вначале для решения задачи используем ручной способ проверки качества изделий табличным и графическим методом, а затем с использованием системы Mathcad. Решение вначале проведем с использованием табличного метода. Этот метод предполагает выполнение следующих основных этапов; • определение значений приемочного a(m) и браковочного r(m) чисел; • определение суммарного числа дефектных изделий; • проверка качества изделий после каждого испытания. 1. Определяем значения приемочного a(m) и браковочного r(m) чисел по формулам:
2. Определяем суммарное число дефектных изделий d(m) по формуле . 3. Проверяем качество изделия с помощью проверки выполнения неравенства a(m) < d(m) < r(m): • если a(m) < d(m) < r(m) – испытания продолжаются; • если d(m) ≥ r(m) – партия бракуется; • если d(m) ≤ a(m) – партия принимается. В табл. 8.1 приведены соответствующие результаты расчета.
Таблица 8.1. m
a(m)
d(m)
r(m)
m
a(m)
d(m)
r(m)
1 2 3 4 5 6 7 8 9 10
–2.40 –2.21 –2.02 –1.84 –1.65 –1.47 –1.28 –1.09 –0.91 –0.72
0 0 1 1 1 1 1 1 2 2
3.06 3.25 3.43 3.62 3.81 3.99 4.18 4.36 4.55 4.74
11 12 13 14 15 16 17 18 19 20
–0.54 –0.35 –0.16 0.02 0.21 0.39 0.58 0.77 0.96 1.14
2 2 3 3 4 5 6 7 8 9
4.92 5.11 5.60 5.48 5.67 5.85 6.04 6.23 6.44 6.60
Решение инженерных задач
586
Анализируя расчетные данные табл. 8.1, видно, что на 18-ом испытании d(m) ≥ r(m), следовательно, партия бракуется. В среднем метод последовательного анализа требует в 2 раза меньше испытаний, чем классические методы проверки гипотез. Решение теперь проведем с использованием графического метода. Этот метод предполагает выполнение следующих основных этапов: • определение углового коэффициента линий решения; • определение свободных членов линий решения; • определение суммарного числа дефектных изделий; • проверка качества изделий после каждого испытания. Графический метод предполагает изображение областей, в которых партия или бракуется, или испытания продолжаются, или партия принимается. Границами области являются параллельные линии L0(m) и L1(m), которые еще называют линиями (уравнениями) решения – рис. 8.36.
Рис. 8.36. Области принятия решений
1. Определяем угловой коэффициент линий решения S по формуле
S=0.186.
2. Определяем свободные члены линий решения h0 и h1 по формулам: h0= –2.58;
h1= 2.875.
Последовательный анализ качества изделий
587
3. Определяем уравнения линий решения L0(m) и L1(m). L0(m) = h0 + S · m = –2.58 + 0.186 · m; L1(m) = h1 + S · m = 2.875 + 0.186 · m и изображаем их на графике рис. 8.37. 4. Определяем суммарное число дефектных изделий d(m) по формуле
и изображаем их на графике – рис. 8.37. 5. Проверяем качество изделий после каждого испытания. Для этого определяем точку пересечения графика, описывающего суммарное число дефектных изделий d(m), с линиями решений L0(m) или L1(m). На рис. 8.37 представлены результаты решения задачи графическим методом.
Рис. 8.37. Результаты решения задачи графическим методом
Анализируя точку пересечения графика, описывающего суммарное число дефектных изделий, с верхней линией решения, видно, что на 18-ом испытании d(m) ≥ Lo(m) , следовательно, партия бракуется. Перейдем теперь к построению оперативной характеристики критерия. Оперативная характеристика критерия L(p) строится по пяти значениям p. Для нашей задачи эти значения будут соответственно равны: – для p = 0 L(0) = 1; – для p = p0 L(p0) = 1– a = 1– 0.02 = 0.98; – для p = p1 L(p1) = b = 0.03; – для p = s L(s) = h1 /( h1+ |h0|) = 2.875 / (2.875+|–2.58 |) = 0.527; – для p = 1 L(1) = 0.
588
Решение инженерных задач
На рис. 8.38 построен график оперативной характеристики L(p) по пяти значениям p.
Рис. 8.38. График оперативной характеристики L(p) по пяти значениям p
Как можно заметить, для проведения последовательного анализа требуется большая вычислительная работа. Используем для проведения последовательного анализа систему Mathcad. Вначале рассмотрим табличный метод решения, а затем графический. Для этого необходимо выполнить следующие основные этапы: • определить значения приемочных a(m) и браковочных r(m) чисел для различного числа испытаний: • определить число дефектных изделий d(m) после каждого испытания; • рассчитать значения приемочных a(m) и браковочных r(m) чисел и число дефектных изделий d(m) после каждого испытания; • рассчитать параметры линий решения и дать их графическое представление; • построить график оперативной характеристики L(p) по пяти значениям p; • определить значения функции среднего числа наблюдений критерия E(p) по пяти значениям p; • построить график функции среднего числа наблюдений критерия E(p) по пяти значениям p. На рис. 8.39 представлены исходные данные, расчетные формулы для определения значений приемочных a(m) и браковочных r(m) чисел и результаты определения числа дефектных изделий d(m) после каждого испытания. На рис. 8.40 представлены результаты расчета значений приемочных a(m) и браковочных r(m) чисел и числа дефектных изделий d(m) после каждого испытания в табличном виде. На рис. 8.41 реализован графический метод решения задачи. Проведен расчет параметров линий решения и дано их графическое представление. На рис. 8.42 построен график оперативной характеристики L(p) по пяти значениям p. На рис. 8.43 проведено определение значений функции среднего числа наблюдений критерия E(p) по пяти значениям p. На рис. 8.44 представлен график функции среднего числа наблюдений критерия E(p) по пяти значениям p.
Последовательный анализ качества изделий
589
Рис. 8.39. Исходные данные и расчетные формулы для реализации табличного метода
Рис. 8.40. Результаты расчета значений приемочных a(m) и браковочных r(m) чисел и числа дефектных изделий d(m) после каждого испытания
590
Решение инженерных задач
Рис. 8.41. Графический метод решения задачи
Рис. 8.42. График оперативной характеристики L(p) по пяти значениям p
Последовательный анализ качества изделий
591
Рис. 8.43. Определение значений функции среднего числа наблюдений критерия E(p) по пяти значениям p
Рис. 8.44. График функции среднего числа наблюдений критерия E(p) по пяти значениям p
Книги издательства «ДМК Пресс» можно заказать в торгово-издательском холдинге «АЛЬЯНС-КНИГА» наложенным платежом, выслав открытку или письмо по почтовому адресу: 123242, Москва, а/я 20 или по электронному адресу: [email protected]. При оформлении заказа следует указать адрес (полностью), по которому должны быть высланы книги; фамилию, имя и отчество получателя. Желательно также указать свой телефон и электронный адрес. Эти книги вы можете заказать и в Internet-магазине: www.abook.ru. Оптовые закупки: тел. (095) 258-91-94, 258-91-95; электронный адрес [email protected].
Кудрявцев Евгений Михайлович
Mathcad 11. Полное руководство по русской версии
Главный редактор
Мовчан Д. А.
[email protected]
Литературный редактор Верстка Дизайн обложки
Бронер П. Е. Чаннова А. А. Мовчан А. Г.
Подписано в печать 10.11.2004. Формат 70×100 1/16 . Гарнитура «Петербург». Печать офсетная. Усл. печ. л. 55,5. Тираж 2000 экз. №
Электронный адрес издательства: www.dmkpress.ru