Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основи роботи в середовищі Matlab

Поиск

Обчислення арифметичних виразів

Арифметичні вирази в MatLab складаються, як і в більшості мов, з чисел, знаків арифметичних операцій, знака ^ (в степені), круглих дужок, змінних та вбудованих функцій [7]. Десяткова частина числа відділяється точкою. Для обчислення найпростішого виразу потрібно набрати його в командному рядку і натиснути <Enter>. Відповідь записується в спеціальну змінну ans і її значення виводиться на екран:

>> 1.5+2.9

ans =

4.4000

Вигляд результату залежить від встановленого формату (про формати дивись нижче). Після обчислення наступного виразу значення змінної ans відповідно зміниться. Тому для збереження результатів проміжних обчислень потрібно записувати їх в спеціальні змінні з додержанням наступних правил:

o ім’я змінної може складатися з символів латинського алфавіту, знаку підкреслення та цифр, але не обов’язково починатися з символу алфавіту;

o великі і малі літери різняться;

o пропуск не входить в ім’я змінної.

В якості знаку присвоювання використовується «=», наприклад:

>> a=3.25*(0.7-3.3/5.1)+2.3^3

Результат відразу виводиться на екран. Якщо це не потрібно, слід завершити вираз з оператором присвоювання крапкою з копою «;».Символ e використовується для запису числа в експоненціальній формі: числа 0.00125 и 1.25e–3 еквівалентні. Комплексні числа вводяться за допомогою символу «i»:

>>b=5*(2.2+3.9i)+0.8

b =

11.8000 +19.5000i

В MatLab є великий набір вбудованих математичних функцій. Деякі з них наведені в табл. Д1.1. Під час виклику математичної функції аргумент записується в круглі дужки. Повний перелік всіх вбудованих елементарних математичних функцій можна отримати, якщо набрати в командному рядку help elfun. Команда help відображає список розділів довідкової системи. Для отримання змісту розділу необхідно вказати через пропуск його назву після help, а для виводу детальної інформації про будь-яку функцію, потрібно ввести в рядку разом з командою help ім’я функції.

 

 

Таблица Д1.1 Основні математичні функції

sin, cos, tan, cot Синус, косинус, тангенс и котангенс (аргумент задається в радіанах)
sec, csc Секанс, косеканс
asin, acos, atan, acot Арксинус, арккосинус, арктангенс и арккотангенс
asec, acsc Арксеканс, арккосеканс
sinh, cosh, tanh, coth Гіперболічні синус, косинус, тангенс и котангенс
sech, csch Гіперболічні секанс и косеканс
Asinh, acosh, atanh, acoth Гіперболічні арксинус, арккосинус, арктангенс и арккотангенс;
Exp Експоненціальна функція
log, log2, log10 Натуральний логарифм, логарифми за основою 2 і 10
Sqrt Квадратний корінь
abs, sign Модуль и знак числа
conj, imag, real Комплексно-спряженні, уявна і дійсна частина

Нехай, наприклад, потрібно найти значення виразів при x = 0.2 и y = –3.9:

 

Простіше всього вирішити поставлену задачу, використовуючи проміжні змінні:

>> x=0.2;

>> y=-3.9;

>> a=sin(4/3*pi*x)+exp(0.1*y);

>> b=cos(4/3*pi*x)+exp(0.1*y);

>> c=sqrt(a/b)+(a/b)^(1/3)

c =

2.0451

Зверніть увагу на кілька важливих особливостей. Всі оператори присвоювання, крім останнього, закінченні точкою з комою для подавлені виводу результату. Не обов’язково набирати виразів для b, подібні на тільки що введення для a. Після введення третього рядка натисніть клавішу <↑>. В командному рядку появиться попередній вираз, внесіть в нього необхідні зміни, а саме, поміняйте sin на cos, и натисніть <Enter>. Клавіші <↑> и <↓> служать для переходу по історії команд, т. ін. для занесення раніше набраних команд в командний рядок, а <←>, <→>, <Home>, <End> — для переміщення в межах командного рядка. Пересування по екрану (тільки для перегляду команд, а не для редагування) виконується клавішами <PageUp>, <PageDown> чи вертикальної полоски скролінга. Починаючи з версії 6.0 в середовище MatLab включено вікно Command History для швидкого переходу по історії команд. В любий момент можна вивести значення змінної в командне вікно, для чого слід набрати ім’я змінної в командному рядку і натиснути <Enter>, або викликати функцію disp:

>> disp(c)

2.0451

Виникаючі в процесі обчислення комплексний результат не являється помилкою. MatLab автоматично переходить в область комплексних чисел, продовжуючи обчислення. Найдіть, наприклад, квадратний корінь із –1. Більш того, допустимі операції ділення на нуль, котрі призводять до стандартних змінних Inf чи –Inf. Результат ділення нуля на нуль є NaN (Not a Number — не число). Переповнення чи втрата точності в MatLab при виконання операцій з числами з плаваючою точкою не викликає зупинення обчислений.

Перегляд поточний змінних робочого середовища відбувається при допомозі команди whos. Припустимо, що попереднім змінним a і b були присвоєнні значення:

>> a=-1.34;

>> b=2.98+3.86i;

Викличте команду whos, вказав через пропуски імена змінних

>> whos a b

У командне вікно виводиться таблиця, приведена нижче. В стовпчику Class вказаний тип змінної, в Bytes — число байт, виділених під зберігання значення, а Size містить інформацію про розміри. Після таблиці розміщена стрічка з вказаним сумарного об’єму пам’яті в байтах.

Name Size Bytes Class

a 1x1 8 double array

b 1x1 16 double array (complex)

Grand total is 2 elements using 24 bytes

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

Користувач має можливість встановлювати підходящі формати виводу. Існує два способи надання форматів. Вибір пункту Preferences… в меню File робочого середовища призводить до появлення діалогового вікна з одно-іменною назвою. В MatLab 5.3 панель Numeric Format вкладки General містить переключатиль, а в версії 6.x на панелі Text display розміщенні відкриваючі списки Numeric Format и Numeric display (при вибраному пункті Command Window в списку лівої панелі вікна). Можливо встановить один із наступних форматів.

    • short (default) — короткий формат с плаваючою крапкою з чотирма цифрами після десяткової точки (використовується по замовчування).
    • long — довгий формат з плаваючою крапкою з чотирнадцятьма цифрами після десяткової точки.
    • short e — експоненціальний формат з чотирма цифрами після десяткової крапки.
    • long e — експоненціальний формат з п’ятнадцятьма цифрами після десяткової крапки.
    • short g — найкращі представлення числа або в форматі short, або в short є (аналогічно long g).
    • hex — шістнадцятирічного представлення числа.
    • + — додаткові і від’ємні числа відображаються знаками "+" і "–", а нульові — пропусками.
    • bank — формат для виводу грошових сум з двома знаками після десяткової крапки.
    • rat — дійсні числа приближено представляються відношенням двох не великих цілих чисел.

Інді виникають ситуації, коли MatLab не може вкластися в встановлений формат при виводі результату. Нехай, наприклад, встановлений формат short. При обчисленні 1/3333 результат відображається в форматі short e, однак, автоматичною зміни формату для всіх наступних обчислений не відбувається.

MatLab надає два способи виводу в командне вікно.

    • compact — рядки з результатами виводяться підряд.
    • loose — рядки з результатами розділяються пустим рядком.

Команда format служить для установки формату із командної рядка. До прикладу, звернення

>> format short e

аналогічно вибору короткого експоненціального формату в діалоговому вікні Preferences. Поза залежності від встановленого формату всі обчислення відбувається з подвійною точністю, як наслідок, після зміни формату з short на long не потребується повторно находить значення змінних. Достатньо знову вивести їх значення в командному вікні.

Завдання для самостійної роботи

У всіх завданнях потрібно занести в деяку змінну значення виразів при заданих і, відобразити результат в різних форматах і вивчити інформацію змінних за допомогою команди whos.

1.  
2.
3.
4.
5.
6.
7.
8.
9.
10.


Поделиться:


Последнее изменение этой страницы: 2016-04-18; просмотров: 367; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.156.13 (0.009 с.)