Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Statv Interesting statistics.






Приклад функції з вбудованою підфункцією

Для перегляду лістінгу М-файлу використовують команду type < name>.

 

Приватні каталоги. Для запису М-файлів використовуються каталоги, що називаються батьківськими. Вони вміщують групи файлів певного функціонального призначення. Але з версії MATLAB 5.0 з‘явилася можливість в батьківських каталогах створювати приватні каталоги – PRIVATE. Файли, що в них входять, доступні тільки файлам батьківського каталогу. Файли приватних каталогів передивляються інтерпритатором системи MATLAB в першу чергу. Застосування приватних каталогів дозволяє використовувати функції, написані користувачем, надаючи їм імена оригінальних файлів.

 

Використання рядкових виразів. Рядкові вирази зазвичай не обчислюються, а просто повторюють рядок:

> > ‘2+3’

ans =

2+3

Але за допомогою функції eval(‘Рядковий_вираз’) рядкові вирази, що є математичними виразами можуть бути обчислені:

> > eval(‘2+3’)

ans =

> > eval(‘2*sin(1)’)

ans =

1.6829

Функція feval(‘Ім‘я_функції’, x1, x2, …) дозволяє передавати в обчислювану функцію список її аргументів. В цьому випадку обчислювана функція записується тільки своїм іменем. Наприклад:

> > feval(‘prod’, [1 2 3])

ans =

> > feval(‘sum’, [1 2 3; 4 5 6], 2)

ans =

Видача повідомлення про помилку. В ході обчислень можуть виникати помилки, наприклад ділення на нуль. В таких випадках повинні видаватися повідомлення про помилку. Для виводу повідомлень про помилки служить команда

error(‘Повідомлення про помилку’)

при виконанні якої обчислення припиняються і видається повідомлення про помилку, що задане в апострофах. Наприклад:

> > function f=sd(x)

if x==0 error(‘Помилка – ділення не нуль’), end

f=sin(x)/x

Результати виконання програми:

> > sd(1)

f =

0.8415

ans =

0.8415

> > sd(0)

??? Error using ==> sd

Помилка – ділення не нуль

Якщо призупинення програми є небажаним, то можливо використовувати команду попереджувального повідомлення:

warning(‘Попереджувальне повідомлення’)

Ця команда виводить повідомлення, що вказане у апострофах, але не заважає подальшому виконанню програми. Ознакою помилки є символи???, в ознакою попередження слово warning з відповідним повідомленням.

 

При створенні функцій зі спеціальними властивостями будуть потрібні наступні функції:

nargin – повертає число вхідних параметрів даної функції

nargout – повертає число вихідних параметрів даної функції.

 

Робота з багатовимірними масивами. При задаванні масиву елементи рядка розділяються пробілами, а елементи різних рядків відділяються знаком;. При необхідності розширення масиву – додавання нової “сторінки” – користуються оператором: (двокрапка). Наприклад заданий масив:

> > M=[1 2 3; 4 5 6; 7 8 9]

M =

1 2 3

4 5 6

7 8 9

При додаванні нової сторінки з тим же розміром можливо задати:

> > M(:,:, 2)=[10 11 12; 13 14 15; 16 17 18]

M(:,:, 1) =

1 2 3

4 5 6

7 8 9

M(:,:, 2) =

10 11 12

13 14 15

16 17 18

Після явного виклику такого масиву отримаємо:

> > M

M(:,:, 1) =

2 2 3

5 5 6

7 8 9

M(:,:, 2) =

10 11 12

13 14 15

16 17 18

Щоб отримати доступ до певного елемента масиву треба вказати номер рядка і стовпчика в якому знаходиться елемент:

> > M(2, 2, 1)

ans =

> > M(2, 3, 2)

ans =

При створенні сторінок можна заповнювати їх константами і випадковими величинами. При заповненні константами вони вказуються вищенаведеним способом або, якщо весь масив треба заповнити однаковими константами:

> > M(:,:, 1)=0

M(:,:, 1) =

1 1 1

1 1 1

1 1 1

Для створення масивів заповнених різним чином використовуються наступні функції:

ones – створення масивів з одиничними елементами,

zeros – створення масивів з нульовими елементами,

rand – створення масивів з випадковими елементами, розподіленими за рівномірним розподілом,

randn – створення масивів з випадковими елементами, розподіленими за нормальним розподілом.

Наприклад:

> > Z=zeros(2, 2, 3)

Z(:,:, 1) =

0 0

0 0

Z(:,:, 2) =

0 0

0 0

Z(:,:, 3) =

0 0

0 0

> > R=randn(3, 2, 2) =

R(:,:, 1) =

-1.6656 -1.1465

0.1253 1.1909

0.2877 1.1892

R(:,:, 2) =

-0.0376 -0.1867

0.3273 0.7258

0.1746 -0.5883

Якщо хоча б одна розмірність масиву буде нульовою –масив буде пустим:

> > A=randn(3, 3, 3, 0)

A =

Empty array: 3-by-3-by-3-by-0

При використанні функції конкатенації отримуємо масив, що формується об‘єднанням з початкових масивів:

cat(2, A, B) – повертає масив [A, B], що об‘єднаний по стовпчикам,

cat(1, A, B) – повертає масив [A, B], що об‘єднаний по рядкам.

Наприклад:

> > M1=[1 2; 3 4]

M1 =

1 2

2 4

> > M2=[5 6; 7 8]

M2 =

5 6

7 8

> > cat(1, M1, M2)

ans =

1 2

3 4

5 6

7 8

> > cat(2, M1, M2)

ans =

1 2 5 6

3 4 7 8

> > M=cat(3, M1, M2)

M(:,:, 1) =

1 2

3 4

M(:,:, 2) =

5 6

7 8

Для обчислення розмірності масиву існує функція:

ndims(A) – повертає розмірність масиву А (якщо вона більше чи дорівнює 2).

 

Оператори і функції системи MATLAB

Повний набір операторів вхідної мови системи MATLAB і відповідних функцій виводяться командою

> > help ops

Арифметичні оператори та функції

Функція Назва Оператор Синтаксис
plus плюс + М1 + М2
uplus унарний плюс + + М
minus мінус - М1 – М2
uminus унарний мінус - - М
mtimes матричне множення *  
times почленне множення масивів .*  
mpower зведення до ступеня матриці ^  
power почленне зведення до ступеня масиву .^  
mldivide ділення матриць зворотне (справа-наліво) \  
mrdivide ділення матриць зліва-направо /  
ldivide почленне ділення масивів (справа-наліво) .\  
rdivide почленне ділення масивів (зліва-направо) ./  
kron тензорне множення Кронекера kron  

 

Оператори відношення та їх функції

Функція Назва Оператор Синтаксис
eq Дорівнює == x = =y
ne Не дорівнює ~= x~=y
lt Менше ніж … < x < y
gt Більше ніж … > x > y
le Менше чи дорівнює < = x< =y
ge Більше чи дорівнює > = x> =y

Логічні оператори

Функція Назва Позначення
and Логічне і &
or Логічне чи |
not Логічне ні ~
xor Виключаюче чи  
any Вірно, якщо всі елементи вектора дорівнюють нулю  
all Вірно, якщо всі елементи вектора не дорівнюють нулю  

 

[ ] – використовуються для формування векторів та матриць.

 

 

Рекомендована література

до вивчення курсу „Чисельні методи”.

 

1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы, М.: Наука, 1987.

2. Гаврилюк М.А., Галамай Т.Г. Прикладные программы и лабораторный практикум для персонального компьютера. – К.: УМКВО, 1988. – 202 с.

3. Фельдман Л.П., Петренко А.І., Дмитрієва О.А. Чисельні мтеоди і інформатиці. – К.: Видавнича группа ВНV, 2006. – 480 с.

4. Метьюз Дж., Фінк К. Численные методы. Использование MatLab. – М.: 2001. – 583 с.

5. Бахвалов Н.С., Лапин А.В., Чижонков Е.В. Численные методы в задачах и упражнениях. – М.: Высшая школа, 2000. – 192 с.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.