Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_MEMS.doc
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
5.02 Mб
Скачать

Математичні програмні пакети

MathCAD xx Professional та MatLab xx

Мета: вивчення особливостей роботи з програмними пакетами для подальшого їх використання при вирішенні складних інженерних задач.

 Короткі теоретичні відомості

Основи роботи в середовищі пакету MatLab.

1. Типи та формати даних

- Matlab відрізняє великі та малі літери, окрім того, запис імені файлу та повного шляху до його розміщення повинні підкорятися формату системи MS-DOS.

- Для запису комплексних чисел використовують символи i та j.

- Тип нескінченність inf (число/0);

- Тип невизначеність nan (0/0).

- У пакеті визначені значення змінних pi та eps (2-52).

Табл. 3. - Формати даних.

Запис

Значення

Short

5 значущих цифр числа

Long

15 значущих цифр числа

Short e

Число з плаваючою комою і п'ятьма значущими цифрами числа

Long e

Число з плаваючою комою і 15 значущими цифрами числа

Short g

5 значущих цифр як у форматі з фіксованою, так і з плаваючою комою

Long g

15 значущих цифр як у обох форматах

Hex

Шістнадцяткова система числення

Format +

+, або пробіл для додатних, від’ємних елементів і нуля. Уявна частина ігнорується

2. Елементарні функції пакету (Всі функції пакету визначені малими літерами.)

Табл. 4. - Елементарні функції пакету.

Запис

Значення

Тригонометричні

sin, cos, tan, cot

Тригонометричні функції

asin, acos, atan, atan2,acot

Обернені тригонометричні функції

sinh,cosh, tanh,coth

Гіперболічні функції

asinh, acosh, atanh, acoth

Обернені гіперболічні функції

sec, csc

Секанс і косеканс

asec, acsc

Обернені функції секанса і косеканса

sech, csch

Гіперболічний секанс і косеканс

asech, acsch

Обернені гіперболічні функції

Логарифмічні та експонента

exp

Експонента

log

Натуральний логарифм

log10

Десятковий логарифм

log2

Логарифм за основою два

Піднесення до степеня

pow2

Піднесення до квадрату

sqrt

Корінь квадратний

nextpow2

Піднесення числа до степеня n

Функції комплексного аргументу

abs

Модуль комплексного числа

angle

Фаза комплексного числа

conj

Комплексно-спряжене число

imag

Уявна чистина комплексного числа

real

Дійсна частина комплексного числа

cplxpair

Сортування на комплексно-спряжені пари

Функції закруглення та визначення остачі від ділення чисел

fix

Заокруглення  0

floor

Заокруглення  -

ceil

Заокруглення  

round

Заокруглення до найближчого цілого

mod

Остача від ділення зі знаком

rem

Остача від ділення

sign

Знак

Зауваження: довідкову інформацію отримують використовуючи наступний формат запису функції - help ___.

3. Матричні операції. Матричні функції.

У середовищі пакету всі змінні трактуються як матриці. Наприклад змінна а=1,2 записується у вигляді а=1.2 (матриця розмірністю 1*1). Елементи матриці вводяться за рядками, які відділяються один від одного символом “;” або переходом на новий рядок a = [1 2 3; 4 5 6].

Табл. 5. - Стандартні функції для генерації певних типів матриць

Назва функції

Визначення генерованої матриці

zeros

Матриця, всі елементи якої дорівнюють 0

ones

Матриця, всі елементи якої дорівнюють 1

eye

Одинична матриця

rand

Матриця випадкових чисел

Спосіб виклику подібних матриць є однаковим: А=zeros(5,8) і т.д.

Спосіб введення векторів є ідентичним введенню матриці, однак є можливість генерування вектору наступним командним рядком: Х=Хпоч: крок: Хкін

Табл. 6. - Операції з матрицями з використанням оператору “:”

A(:,j)

Виведення j-го стовпця матриці А

A(:,j:k)

Виведення стовпців A(j), A(j+1), .. , A(k)

A(i,:)

Виведення і-го рядка матриці А

A(i:k,:)

Виведення рядків А(і), А(і+1), .. , А(k)

A(:)

Виведення всіх елементів матриці в стовпець

A(j:k)

Виведення в рядок елементів матриці А від елемента з індексом j до елемента з індексом k

Розмірність порожньої матриці – 0*0, визначається як A=[].

Табл. 7. - Перелік базових матричних операцій

Запис

Значення

A’

Транспонування матриці

AB

Додавання (віднімання) матриць

A*B

Множення матриць

A/B

Праве ділення матриць (хА=У)

A\B

Ліве ділення матриць (Ах=У)

A^p

Піднесення матриці до степеня

a^p

Піднесення скаляра до матричного степеня

У пакеті визначені операції додавання, віднімання і множення, якщо один з операндів є скаляр.

Окремим типом матричних операцій є табличні операції (скалярні операції), визначені на елементах матриці. Табличні операції мають ідентичний запис з матричними, однак перед знаком операції ставитися символ “.”.

Табл. 8. - Елементарні матричні функції та операції

Запис

Значення

expm

Матрична експонента

logm

Матричний логарифм

sqrtm

Матричний корінь квадратний

lu

Декомпозиція трикутна LU

qr

Декомпозиція ортогональна QR

norm

Норма вектора і матриці

rank

Ранг матриці

det

Детермінант матриці

trace

Сума діагональних елементів матриці

inv

Обернена матриця

size

Розмір матриці

reshape

Зміна розміру матриці

lenght

Довжина вектора

diag

Діагональні елементи матриці

triu

Верхня трикутна частина матриці

tril

Нижня трикутна частина матриці

Матрична функція poly визначає коефіцієнти характеристичного полінома, який визначається як det(sI-A). Результатом виконання функції є вектор-рядок коефіцієнтів характеристичного полінома, впорядкований у порядку спадання степенів.

4. Статистичний аналіз.

Табл. 9. - Основні функції пакету для статистичного аналізу

Запис

Значення

min

Найменший елемент

max

Найбільший елемент

mean

Середнє значення

std

Стандартне відхилення

cov

Коваріація

corrcoef

Коефіцієнт кореляції

sum

Сума елементів

prod

Добуток елементів

5. Графічне подання інформації.

Табл. 10. - Функції для виводу двовимірного графіку

Запис

Значення

plot

Побудова графіка в декартовій системі координат

loglog

Побудова графіка в логарифмічних осях

semilogx

Побудова графіка з логарифмічною віссю абсцис

semilogy

Побудова графіка з логарифмічною віссю ординат

polar

Побудова графіка в полярній системі координат

plotyy

Вивід осей як ліворуч, так і праворуч вікна графіка

Активізація описаних у табл.10 функції є подібною до виклику функції plot.

Якщо 'у' є вектором, plot(y) виконує побудову графіку залежності значення елемента вектора від його порядкового номера. Якщо визначені два вектори як аргументи функції, plot(x,y) будує графік залежності y=f(x).

У випадку декількох пар векторів х-у за допомогою команди plot можна на одному графіку вивести декілька залежностей. Структура команди при цьому – plot(x1,y1,x2,y2,x3,y3).

Для виводу графіків можна завдавати колір залежності, тип лінії та маркери за допомогою наступної структури: plot(x,y,’colorstylemarker’).

Кольори: c - голубий; m – бузковий; y –жовтий; r – червоний; g- зелений; b-синій; w- білий; k-чорний.

Знаки стилів ліній: - - неперервна; -і - штрихова; : - пунктирна; -. – штрих- пунктирна; none – без лінії.

Знаки маркерів: '+', '0', '*', 'х'.

Для відкриття нового вікна для виводу графіків необхідно виконати команду figure. Команда figure(n) задає поточне вікно з номером n серед відкритих графічних вікон.

Для виводу нових залежностей у створеному вікні графіку необхідно виконати команду hold on.

Команда subplot(vha) дозволяє здійснювати поділ вікна виводу графіків на чотири, або на два. У даній команді v та h дорівнюють 1 або 2, таким чином задають відповідно поділ екрану по вертикалі та по горизонталі, а параметр “а” визначає номер активного вікна.

Використання під час побудови графіку функції axis дає змогу задавати діапазон зміни координат. Структура такої команди: axis([Xmin Xmax Ymin Ymax]). Окрім цього команда axis equal формує однаковий крок розбиття по осі абсцис і ординат, а команда axis off дозволяє не виводити мітки та розбиття координатних осей.

Використання команди grid дозволяє нанести сітку на графік.

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

  • назви x-,y-осей, відповідно, - xlabel (‘Назва осі’), ylabel (‘Назва осі’);

  • назва графіку – title (‘Назва графіку’);

  • підпис у будь якому місті – text(x,y,’Текст підпису’).

5.2 Тривимірна графіка.

Табл. 11. - 3D функції пакету

Запис

Значення

plot3

Побудова 3D графіку

mesh

Побудова сітки на поверхні графіку

surf

Побудова поверхні графіку

contour3

Побудова контурів поверхні графіку

6. Циклічні оператори та організація розгалужень у середовищі пакету.

Цикл for повторює виконання групи операторів фіксовану кількість разів.

for змінна = вираз

оператори;

end

Структура циклічного оператору While

While умова

оператори;

end

Для виходу з циклу до його завершення є команда break.

Структура умовного оператора if

if умова1

оператори1

elseif умова2

оператори2

else

оператори

end

Оператор switch виконує групу команд залежно від значення виразу або змінної.

switch вираз або змінна

case значення 1

оператори 1

case значення 2

оператори 2

case значення 3

оператори 3

otherwise

оператори 4

end

7. Структура m-файлів.

Файли, що містять написані користувачем програми мовою MatLab, які виконують певні операції, називаються m-файлами. Розрізняють два види m-файлів:

  • script – не має ні вхідних, ні вихідних аргументів. Працює з даними робочої області.

  • function – має вхідні та вихідні аргументи. Внутрішні змінні є локальними змінними функції.

Запис m-файлу (function) починається наступним рядком:

Function вихідні аргументи = назва функції (вхідні аргументи).

Після описаного рядка розміщують коментар, котрий виводиться командою - help назва функції.

8. Числове інтегрування та диференціювання функцій.

Для знаходження значення означеного інтеграла в середовищі пакету передбачена функція quad, яка розраховує значення інтеграла F(x) у діапазоні від А до В з допустимою точністю 1е-3 використовуючи метод Сімпсона.

Q= quad('F', a, b)

де 'F' – текстова змінна (назва файлу, у якому зберігається підінтегральна функція).

Функція quad8 реалізує рекурсивну адаптивну восьми-точкову формулу Ньютона-Котеса.

Для визначення наближеного значення похідної, необхідно знайти різницю між сусідніми значеннями функції. Цю операцію виконує функція diff. Якщо х є вектором, то результатом виконання команди diff(x) буде вектор [x(2)-x(1) .. x(n)-x(n-1)]. Якщо вектори х та в складаються з координат точок кривої, то наближене значення похідної:

dydx=diff(y)./diff(x) .

Основи роботи в середовищі пакету MathCAD

У пакеті використовуються вбудовані функції. До основних функцій відносяться тригонометричні і зворотні, гіперболічні і зворотні, експонентні і логарифмічні, статистичні, Фур'є, Беселя, комплексних змінних. Основні функції:

1. Тригонометричні і зворотні функції: sin(z), cos(z), tan(z), asin(z), acos(z), atan(z). Де z - кут у радіанах.

2. Гіперболічні і зворотні функції: sinh(z), cosh(z), tanh(z), asinh(z), acosh(z), atanh(z) .

3. Експонентні і логарифмічні: exp(z) - ez; ln(z) - натуральний логарифм; log(z)- десятковий логарифм.

4. Статистичні функції: mean(x)- середнє значення; var(x)- дисперсія; stdev(x) - середньоквадратичне відхилення; cnorm(x)- функція нормального розподілення; erf(x)- функція помилки; Г(x) - гамма-функція Ейлеру.

5. Функції Беселя: J0(x), J1(x), Jn(n,x) - функції Беселя першого порядку; Y0(x), Y1(x), Yn(n,x) - функції Беселя другого порядку.

6. Функції комплексних змінних: Re(z)- дійсна частина комплексного числа; Im(z)- уявна частина комплексного числа; arg(z)- аргумент комплексного числа.

7. Перетворення Фур'є: U:=fft(V)- пряме перетворення (V- дійсне) ; V:=ifft(U)- зворотне перетворення (V- дійсне); U:=cfft(V)- пряме перетворення (V- дійсне); V:=icfft(U)- зворотне перетворення (V- дійсне).

8. Кореляційна функція - дозволяє розраховувати коефіцієнт кореляції двох векторів vx і vy і визначити рівняння лінійної регресії:

corr(vx,vy)- коефіцієнт кореляції;

slope(vx,vy)- коефіцієнт нахилу лінії регресії;

intercept(vx,vy)- початкова координата лінії регресії.

9. Лінійна інтерполяція:

linterp(vx,vy,x)

vx,vy- вектори значень аргументу і функцій, де x- значення аргументу, для якого проводиться інтерполяція.

10. Функція для визначення коренів алгебраїчних і трансцендентних рівнянь: root(рівняння, змінна)

11. Датчик випадкових чисел: rnd(x) - випадкове число з рівномірним розподілом від 0 до x

12. Ціла частина змінної: floor(x)- найближче найменше ціле число; ceil(x)- найближче найбільше ціле число.

13. Виділення залишку: mod(x,y)- залишок від розподілу x на y.

14. Зупинка ітерації: until(x,y) - коли x<0

15. Функція умовного переходу: if(умова, x, y) - якщо умова виконується, то функція дорівнює x, інакше y.

16. Одинична функція (функція Хевисайда): Ф(x) - якщо x>0 то функція дорівнює 1, інакше 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]