17152

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

Лекция

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

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

Украинкский

2013-06-29

50.25 KB

19 чел.

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


 

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

76261. Особенности профессиональной деятельности в условиях реализации чрезвычайных ситуаций того или иного вида 42.24 KB
  Интерес к деятельности человека в экстремальных условиях связан с состоянием современной техносферы а также мощными катаклизмами природного характера. Деятельность человека в этих условиях сопряжена с опасностью для жизни высока их психологическая цена стоимость...
76262. Порядок маркировки шасси и двигателя автомобилей Зил-131, Урал-4320, Уаз-3151, Камаз 4310, МТЛБ, прицепы 2ПН4, 2ПН2 507.14 KB
  Шасси как составная часть транспортного средства маркируется на раме в задней части правого лонжерона на расстоянии 1000-1250 мм назад от оси балансирной тележки и 40-60 мм. вниз от верхней полки лонжерона. Маркировка содержит 14 знаков и производится ударным способом.
76263. Сучасний стан економічного розвитку України 31.87 KB
  З цієї причини вивченню фінансово-економічної кризи та напрямів розв’язання проблем які вона зумовила присвячено безліч публікацій як науковців так і фінансистів-практиків. Проте враховуючи що наслідки світової фінансової та економічноїкризи до цього часу не мінімізовані зазначена...
76264. Глобальный экологический кризис, его причины и проявления 28.73 KB
  Развитие человеческого общества невозможно без взаимодействия с окружающей средой без воздействия на природу без использования ее ресурсов. Возможно также существенное перераспределение водных ресурсов.
76266. Электропривод 165.34 KB
  В простейшем понимании электропривод представляет собой электромеханическую систему предназначенную для преобразования электрической энергии в механическую приводящую в движение рабочие органы различных машин.
76267. Административная ответственность несовершеннолетних 22.19 KB
  Норма данной статьи Кодекса корреспондируется с нормами уголовного гражданского трудового и других отраслей права. Таким образом законодатель считает лицо достигшее 16 лет обязанным и способным осознавать социальный смысл своего поведения признавать и уважать права...
76268. Этика делового общения 31.29 KB
  Этика делового общения совокупность нравственных норм правил и представлений регулирующих поведение и отношения людей в процессе их производственной деятельности. Этика делового общения представляет собой частный случай этики вообще и содержит в себе ее основные характеристики.
76269. Проведення судово-психологічної експертизи 20.22 KB
  У процесі судово-експертного дослідження проводиться ретроспективний аналіз психологічний аналіз результатів діяльності людини. обвинувачуваного у скоєнні вбивства була призначена судовопсихологічна експертиза з метою визначення чи перебував обвинувачений у момент...