17152

Основні прийомі роботи в “Maple”. Убудовані і користувальницькі функції. Елементарні обчислення в Maple

Лекция

Информатика, кибернетика и программирование

Лекція №23 Тема: Основні прийомі роботи в €œMaple€. Убудовані і користувальницькі функції. Елементарні обчислення в Maple. План Мови системи Maple 7. Інтерфейс Maple 7. Палітри введення математичних символів. Функції і оператори. Команда спрощення виразу: simplify...

Украинкский

2013-06-29

50.25 KB

20 чел.

Лекція №23

Тема: Основні прийомі роботи в “Maple”. Убудовані і користувальницькі функції. Елементарні обчислення в Maple.

План

  1.  Мови системи Maple 7.
  2.  Інтерфейс Maple 7.
  3.  Палітри введення математичних символів.
  4.  Функції і оператори.
  5.  Команда спрощення виразу: simplify().
  6.  Команда розкриття дужок у виразі: expand().
  7.  Команда розкладання полінома на множники: factor().

Мови системи Maple 7

Maple здатна вирішити величезне число задач взагалі без якого-небудь програмування в загальноприйнятому значенні цього поняття.  Maple підтримує три власні мови: вхідний, реалізації і програмування.

Maple має вхідну мову надвисокого рівня, орієнтований на рішення математичних задач практично будь-якої складності. Він служить для завдання системі питань або, кажучи інакше, завдання вхідних даних для подальшої їх обробки. Це мова інтерпретуючого типу і по своїй ідеології нагадує Бейсік. Вхідна мова має велике число наперед певних математичних і графічних функцій, а також обширну бібліотеку, що підключається в міру необхідності.

Має Maple і своя мова процедурного програмування — Maple-мова. Ця мова має цілком традиційні засоби структуризації програм: оператори циклів, оператори умовних і безумовних переходів, оператори порівняння, логічні оператори, команди управління зовнішніми пристроями, функції користувача, процедури і т.д. Він також включає всі команди і функції вхідної мови, йому доступні всі спеціальні оператори і функції. Багато хто з них є вельми серйозними програмами, наприклад символьне диференціювання, інтеграція, розкладання в ряд Тейлора, побудова складних тривимірних графіків і т.д.

Не слід плутати вхідну мову і мову програмування системи (Maple-мова) з мовою її реалізації. Ним є одна з найкращих і могутніших універсальних мов програмування — Сі. На ньому написане ядро системи, що містить ретельно оптимізовані процедури. Більшість же функцій, які містяться в пакетах, написана на Maple-мові, завдяки чому їх можна модифікувати і навіть писати свої власні бібліотеки. За різними оцінками, лише від 5 до 10 % засобів Maple створено на мові реалізації — все інше написане на Maple-мові. Таким чином, система має розвинену нагоду для розширення і адаптації до задач користувача. Для підготовки програм на мові Maple можуть використовуватися зовнішні редактори, але система має і свого вбудованого редактора, що цілком задовольняє вимогам більшості користувачів. Він відкривається командами New і Open в меню File. Цього редактора можна використовувати для редагування файлів програм або математичних виразів.

Синтаксис структурних операторів мови Maple нагадує суміш Бейсіка і Паскаля. Це полегшує знайомство з ним тим, хто має хоча б початковий досвід програмування на цих мовах. За близькими до Бейсіка правилами (і за допомогою загальноприйнятих математичних скорочень) виконується і введення математичних виразів в діалоговому режимі роботи з системою.

Огляд інтерфейсу Maple 7

Довгий час системи Maple мали досить архаїчний (хоча і непоганий) призначений для користувача інтерфейс, орієнтований на операційну систему MS-DOS. Як у всіх додатків під Windows інтерфейс Maple 7 має ряд характерних елементів, видимих на мал. 1. і перерахованих нижче:

  1.    рядок заголовка (зверху);
  2.    рядок головного меню;
  3.    головна панель інструментів;
  4.    контекстна панель інструментів, вид якої залежить від режиму роботи з Maple 7;
  5.    вікно введення і редагування документів;
  6.   рядок стану (у самому низу вікна).

Призначений для користувача інтерфейс Maple 7 дозволяє готувати документи, що містять одночасно текстові коментарі, команди вхідної мови (з можливим перетворенням їх в природну математичну форму), результати обчислень у вигляді звичних математичних формул і графічні дані. Це забезпечує зрозуміле представлення початкових даних і результатів обчислень, а також зручність їх повторного використовування.

У основі призначеного для користувача інтерфейсу Maple 7 лежить графічний багатовіконний інтерфейс операційної системи Windows. Управління системою Maple 7 можливе за допомогою головного меню, панелей інструментів і палітр, а також «гарячих» клавіш. Підтримуються також багато можливостей миші, властиві додаткам під Windows.

Користувач Maple 7 (як і ряду інших математичних систем) працює з документами, які є одночасно описами алгоритмів рішення задач, програмами і результатами їх виконання. Всі дані команди і результати розміщуються у відповідних осередках. Графічні побудови виконуються як в осередках документа, так і в окремих вікнах, і мають свої меню для оперативного управління параметрами.

Меню системи Maple 7

Меню надає доступ до основних операцій і параметрів призначеного для користувача інтерфейсу системи. Нижче даний перелік меню, доступних за наявності відкритого документа:

  1.    File — робота з файлами і друком документів;
  2.    Edit — команди редагування документа і операції з буфером обміну;
  3.    View — управління видом призначеного для користувача інтерфейсу;
  4.    Insert — операції вставки;
  5.    Format — операції завдання форматів;
  6.    Spreadsheet — операції завдання таблиць;
  7.    Options — завдання параметрів;
  8.    Window — управління вікнами;
  9.    Help — робота з довідковою системою. 

Головне меню Maple 7 є контекстно-залежним. Це означає, що його вигляд може мінятися залежно від поточного стану (контексту) системи. Наприклад, якщо всі документи закриті, то головне меню містить тільки три заголовки меню: File, Options і Help. При цьому місце для вікон документів порожнє і забарвлене в сірий колір. Вид меню також міняється залежно від того, які об'єкти в документі виділені.

Палітри введення математичних символів

Корисно відразу звернути увагу на можливість модифікації інтерфейсу системи Maple 7 за допомогою команд меню View. У цьому меню (воно показане на мал. 1. у відкритому стані) можна побачити список палітр Palettes, призначених для введення математичних знаків. Встановивши прапорці відповідних палітр, можна вивести їх на екран і перемістити в будь-яке місце.

Призначення знаків в палітрах очевидне з їх назв:

  SYMBOL — введення окремих символів (грецьких букв і деяких математичних знаків);

  EXPRESSION — введення шаблонів математичних операторів і операцій;   

  MATRIX — введення шаблонів матриць різних розмірів;

  VECTOR — введення шаблонів векторів різних розмірів і типів (вектори-стовпці або вектори-рядки).

Функції і оператори

Важливим поняттям системи Maple 7 (та і математики взагалі) є поняття функції. Функція повертає результат деякого перетворення початкових даних — параметрів функції. Maple 7 має безліч вбудованих функцій, включених в його ядро і в пакети.

Функція у виразах задається введенням її імені і списку параметрів функції (одного або декількох), ув'язненого в круглі дужки, наприклад sqrt(2) задає функцію обчислення квадратного коріння з параметром 2 (чисельною константою). Основною ознакою функції є повернення значення у відповідь на звернення до неї по імені (ідентифікатору) з вказівкою списку параметрів функції. Наприклад:

> 2*sin(1.);

> 2*sin(1);

Зверніть увагу на особливу роль десяткової крапки — тут вона служить вказівкою до виконання обчислення значення sin( 1.0) (або, що те ж саме, sin( 1.)). А ось синус цілочисельного аргументу 1 не обчислюється — вважається, що обчислене значення менш цінне, ніж точне значення sin(1).

  В даному випадку треба розуміти, що Maple вважає за краще мати із справа точними значеннями функцій. Логічно, що точне значення синуса від 1 записується у вигляді sin(f).

Ради єдності термінології ми користуватимемося розширювальним поняттям функції, відносячи до нього і ті об'єкти, які в деяких мовах програмування іменують процедурами або командами. Наприклад, слова plot і plot3d ми також називатимемо функціями, які повертають графіки аргументів. Під командами ж ми матимемо на увазі перш за все команди, що містяться в меню. Крім функцій в математичних системах для запису математичних виразів використовуються спеціальні знаки — оператори. Наприклад, обчислення квадратного коріння часто записується за допомогою його спеціального знаку — . Достатньо добре відомі оператори складання +, віднімання -, множення *, розподіли / і деякі інші. Оператори звичайно використовуються з операндами у вигляді констант або змінних, наприклад в записі 2* (3+4) числа 2, 3 і 4 — це операнди, а знаки * і + — оператори. Дужки використовуються для зміни порядку виконання операцій. Так, без них 2*3+4=10, тоді як 2*(3+4)=14, оскільки спочатку обчислюється вираз в дужках. Мабуть, найпоширенішим оператором є оператор привласнення :=. Він використовується для завдання змінним конкретних значень, наприклад:

> x:=y;

> y:=z;

> z:=2;

> x;

> у;

Цей простий приклад наочно ілюструє еволюцію змінних і особливу роль оператора привласнення в системі Maple. Зокрема, в даному прикладі змінні х, у і z взаємозв'язані за допомогою операцій привласнення. Тому завдання значення 2 змінної z призводить до того, що і змінні у і х приймають те ж значення.

Інший поширений оператор — оператор рівності = — використовується для завдання рівності і логічних умов (наприклад, а = b), вказівки областей зміни змінних (наприклад, 1=1..5 означає формування діапазону зміни i від 1 до 5) і визначення значень параметрів у функціях і командах (наприклад, color=b1ack для завдання чорного кольору у ліній графіків).

Оператори самі по собі результат не повертають. Але вони, разом з функціями і своїми параметрами (операндами), дозволяють конструювати математичні вирази, які при їх обчисленні також повертають результат. Через це математичні вирази, що містять операторів і операнди, можуть бути параметрами функцій. Вирази в Maple бувають дуже простими (наприклад, імена змінних х і у або константи 1 і 2), а можуть містити багато тисяч знаків. З позиції канонів символьної математики квадратне коріння з двох вже є основним результатом обчислень. Тому така функція звичайно не обчислюється в чисельному вигляді, а виводиться в природному вигляді із застосуванням знаку квадратного коріння . Для обчислення в звичному вигляді (у вигляді десяткового числа з мантисою і порядком) треба скористатися функцією evalf(sqrt(2)) — ця функція забезпечує обчислення символьного виразу, заданого її параметром (числом 2).

Команда спрощення виразу: simplify()

Команда спрощення виразів —  simplify(). Ця команда призначена для спрощення різноманітних виразів, що включають раціональні дроби (вирази алгебри), містять тригонометричні, зворотні тригонометричні функції, логарифми і експоненти, тобто з її допомогою можна спробувати спростити вираз, складений з елементарних функцій.

Ця команда має декілька форм виклику, відмінних наявністю параметрів, що управляють процедурою спрощення.

Її найпростіший синтаксис має наступний вигляд:

simplify (вираз);

У дужках як параметр передається вираз, що підлягає спрощенню. Команда simplify()  шукає у виразі виклики функцій, квадратне коріння, радикали і ступені і ініціалізує відповідні процедури спрощення.  Реально команда simplify()    реалізована у вигляді  набору  процедур спрощення, що зберігаються в основній бібліотеці Maple.

За умовчанням Maple намагається використовувати максимальний набір функцій спрощення, відповідний до   конкретного виразу.

У виклику команди можна задати конкретні процедури спрощення, і тоді тільки вони використовуватимуться для спрощення заданого виразу, а не весь можливий, встановлений за умовчанням набір. Такий виклик забезпечується наступним синтаксисом команди:

simplify(вираз,   nl,   n2,    ...);

Тут  n1,   n2   і т.д.  є   іменами   процедур  спрощення:   Ei,   gamma, RootOf, @, hypergeom, Ln, polar, power, radical,  sqrt, trig.

При спрощенні виразу можна припустити, що всі змінні в ньому є, наприклад, позитивними, або належать деякому відрізку дійсних чисел. Це здійснюється завданням ключового параметра assume =свойство. Форма виклику команди в цьому випадку має вигляд:

simplify(вираз,   assume =свойство);

- де параметр властивість може приймати одне з наступних значень: complex — комплексна область, real — дійсна область, positive — позитивні дійсні числа, integer — цілі числа, RealRange (а,b) — інтервал (а,b) дійсних чисел.

При спрощенні Maple припускає, що там, де це можливо, змінні змінюються у області комплексних чисел. При виклику команди спрощення можна останнім, або єдиним, не рахуючи самого спрощуваного виразу, параметром задати параметр з ім'ям symbolic. В цьому випадку, якщо вираз містить багатозначні функції, наприклад квадратне коріння, то щодо таких функцій буде здійснене формальне символічне спрощення. Це означає, що не братиметься до уваги різна поведінка багатозначних функцій при знаходженні їх аргументу в різних областях комплексної площини або дійсної осі.

Розкриття дужок у виразі: expand()

Основне призначення команди expand() — представити твір у вигляді суми, тобто дана команда розкриває дужки у виразі алгебри. Вона виконується для будь-якого полінома. Для приватного двох поліномів (раціональний дріб алгебри) ця команда розкриває дужки в чисельнику і ділить кожен член одержаного виразу на знаменник, з яким вона не проводить ніяких перетворень.

Крім того, дана команда уміє працювати з більшістю математичних функцій і знає, як розкривати дужки у виразах, що містять наступні функції: sin(x), cos(x), tg(x), sh(x), ch(x), th(x), ln(x), exp(x), abs(x), спеціальні математичні функції і ін.

Ця команда має наступний синтаксис:

expand (вир,   выр1,   выр2,    ...,   вырn) ;

де вырn є виразом, в якому необхідно розкрити дужки, а необов'язкові параметри выр1, выр2, ..., вырn указують системі, що в даних виразах в заданому перетворюваному виразі вир розкривати дужки не треба.

Розкладання полінома на множники: factor()

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

Щодо цієї команди слід пям'ятати одне правило: вона розкладає поліном на множники над числовим полем, якому належать коефіцієнти полінома. Це означає, якщо всі коефіцієнти цілі, то і в одержуваних співмножниках будуть тільки цілі коефіцієнти і не обов'язково будуть одержані лінійні співмножники. Другий необов'язковий параметр цієї команди служить для вказівки, над яким числовим полем слід здійснювати розкладання полінома. Він може мати значення real, complex, а також одного радикала або список/множину радикалів.

>factor (х^З+2, complex);            # над полем комплексних чисел

> factor (х^З+2) ;            # над полем цілих чисел

>factor (х^З+2, real);                   # над полем дійсних чисел

Для розкладання цілих і раціональних чисел на множники у вигляді простих чисел служить функція ifactor(n), де n – число.

Література:

       Матросов А.В. Maple 6. Решение задач высшей математики и механики, Москва, 2000 – 528 с. [4], 71-94

Контрольні запитання:

  1.  Які палітри існують в Maple?
  2.  Дайте характеристику команді simplify().


 

А также другие работы, которые могут Вас заинтересовать

48133. Держава і право 892 KB
  Основи конституційного права України 6 Загальна характеристика конституційного права як провідної галузі права України 2 2 7 Правовий статус особи в Україні 8 Конституційноправові форми народовладдя в Україні 2 9 Конституційна система органів державної влади України. Окремі галузі права 10 Цивільне та сімейне право України 6 2 11 Основи трудового права 2 12 Основи адміністративного права України 2 2 13 Основи кримінального права 2 Всього 22 10 Лекція 2. Після проголошення незалежності України 1991 р. концепція громадянського суспільства...
48134. ОСНОВЫ ПРАВА 2.29 MB
  Это провозглашено в качестве важнейшей основы конституционного строя Республики Беларусь и должно найти отражение при изучении основ права. В отличие от других социальных идей и политических ориентаций демократическое правовое государство при верховенстве правового закона и приоритете прав человека и гражданина практически воспринято обществом как будущее конституционного строя Республики Беларусь. Целью преподавания дисциплины Основы права является изучение системы законодательства Республики Беларусь ознакомление с важнейшими...
48135. Основные виды гражданско-правовых договоров 209.5 KB
  С другой стороны договор розничной куплипродажи наиболее распространенный вид договора куплипродажи. 396 ГК а также часто может позиционироваться в качестве договора присоединения ст. Элементы договора розничной куплипродажи. Необходимость приобретения товаров предназначенных для использования в предпринимательской деятельности может быть обеспечена посредством заключения договора поставки где покупателем является лишь субъект предпринимательства.
48136. Основы семиотики и семантики 628.5 KB
  Основанный на неизобразительной символике орнамент был почти исключительно геометрическим состоящим из строгих форм круга полукруга овала спирали квадрата ромба треугольника креста и их различных комбинаций. французский ученый Эжен Бурнуф впервые дал четырехконечному кресту с загнутыми концами санскритское название свастика что примерно означает несущая добро. Например: египетский крест анх прочитывался жизнь изображение коленопреклоненной фигурки хех вечность и др. Появляются в декоре Византии эмблемы и символы новой...
48137. Особливості побудови оздоровчих програм 215.5 KB
  Загальнодидактичні українські програми: Базова програма розвитку дитини дошкільного віку Я у Світі; Програма виховання дітей дошкільного віку Малятко; Програма виховання і навчання дітей від 3 до 7 років Дитина; Регіональна програма розвитку навчання та виховання Дитина в дошкільні роки; Регіональна програма виховання дітей у дитячому садку Українське дошкілля; Авторська програма М. Спеціальні програми розробляються для дошкільних навчальних закладів груп компенсуючого типу з урахуванням специфіки організації в них...
48138. Политика стимулирования привлечения иностранных инвестиций 89.5 KB
  В развивающихся странах чаще применяется практика снижения налоговых ставок возврата налогов предоставления налоговых каникул. Таким образом в практике стимулирования зарубежных инвестиций промышленно развитых стран преобладают финансовые средства а в практике развивающихся государств и стран с переходной экономикой фискальные или налоговые средства стимулирования; чаще используются льготные таможенные пошлины на импортируемое производственное оборудование что в промышленно развитых странах является малоэффективной мерой в силу...
48139. Понятие ППП (Пакета прикладных программ) 181 KB
  Примерами входных языков ППП являются VB в пакете MS Office utoLISP VisulLISP в utodesk utoCD StrBsic в OpenOffice. Так например в пакете OpenOffice. На Jv через SDK и функции PI OpenOffice можно создавать модули расширения и полнофункциональные приложениякомпоненты.1 Структура и состав MS Office.
48140. Числове програмне управління і класифікація верстатів з ЧПУ 16.41 MB
  Етапи підготовки процесу обробки деталі на верстаті з ЧПУ: І бюро програмного управління ІІ цех; а збирання вихідної інформації креслення деталі дані про інструмент технологічні дані по режимах обробки б розрахунок програми в табличний запис програми г перфорація програми на перфораторі д перфострічка е ПЧПУ верстатом ж шафа електроавтоматики з верстат и заготовка к оброблена деталь. На підставі...
48141. ПАТОФИЗИОЛОГИЯ 506 KB
  Для каждой болезни характерны определенное типичное для нее течение во времени определенные изменения дыхания кро вообращения температуры тела изменения периферической крови и т. недостаточное насыщение крови кислородом. без пульса состояние гипоксии сочетающееся с повышением напряжения углекислоты в крови и тканях. Гипоксия при патологических процессах нарушающих снабжение тканей кислородом при нормальном содержании его в окружающей среде или утилизации кислорода...