17152

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

Лекция

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

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

Украинкский

2013-06-29

50.25 KB

22 чел.

Лекція №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().


 

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

68663. Особенности перевода газетных аннотаций и заголовков и способы их передачи на русский язык 161.86 KB
  Лексические грамматические и синтаксические особенности перевода газетных аннотаций и заголовков. Перевод как межъязыковая коммуникация Особенности перевода газетно публицистического стиля. Заголовок как элемент публицистического стиля Лексические особенности перевода газетных заголовков и аннотаций...
68664. Композиционные материалы. Арамидное волокно и ткани на их основе 293.81 KB
  Стальная проволока перерабатывается в тканые сетки которые используются для получения композиционных материалов с ориентацией арматуры в двух направлениях. Особенностью является то что матрицу образуют различные полимеры служащие связующими для арматуры которая может быть в виде волокон ткани пленок стеклотекстолита.
68665. Анализ вариантов регулирования с помощью имитационной модели 479 KB
  После второй мировой войны были предприняты попытки создания международной торговой организации, призванной обеспечить глобальную координацию внешнеторговой политики. По поводу одного из разделов соглашения об образовании международной организации...
68666. Совершенствование налогообложения малых предприятий с помощью экономико-математических методов 440 KB
  Малое предпринимательство неотъемлемый элемент современной рыночной системы хозяйствования без которого экономика и общество в целом не могут нормально существовать и развиваться Из концепции Государственная политика и развитие малого предпринимательства в России Целью экономических реформ...
68668. Оценка экономической эффективности инвестиций в создание автомобильного производства «Автофрамос» в г. Москве 1.51 MB
  В конечном итоге именно производство создает базу для получения валового внутреннего продукта страны поэтому обеспечение производства основными и оборотными средствами которое осуществляется через инвестирование является необходимым условием экономического роста.
68670. Повышение эффективности деятельности туристической фирмы (на примере туристического агенства ООО «Альпана») 2.32 MB
  Цель исследования - на основе исследования современных тенденций развития туристского рынка в Украине разработать конкретные предложения по повышению эффективности деятельности ООО «Альпана» с целью ее экономического роста. Для достижения поставленной цели предполагается решение следующих основных задач...
68671. Развитие творческого потенциала младших школьников на уроке математики 142 KB
  Приобрести вычислительные навыки значит для каждого случая знать какие операции и в каком порядке следует выполнять чтобы найти результат арифметического действия и выполнять эти операции достаточно быстро. Приобрести вычислительные навыки значит для каждого случая знать какие операции и в каком...