Функції користувача та їх описання

Зрозуміло, що, незважаючи на велику кількість бібліотек функцій, у MatLab визначені тільки основні математичні функції. Аті функції, які є результатом їхньої композиції, користувач повинен визначати сам. Це можна зробити за допомогою функції inline, або окремим файлом із розширенням *.m, написавши програму мовою системи MatLab. Другий спосіб використовується, якщо функція містить велику кількість рядків або користувачу потрібно звернутися до неї з різних файлів. Перший метод відповідає створенню внутрішніх, а другий — зовнішніх функцій. Робити описання функцій через командний рядок inline для програмістів ефективніше і простіше, ніж описувати функції не систематизовано, як це зроблено, наприклад, у системі MathCAD. Функції можуть знаходитися у будь-якій частині, вони ніде не описуються і, ніяким чином не упорядковані. Знайти таку функцію у великій програмі непросто. Виклик функцій з інших файлів не передбачений. Програмісту легше, коли здійснюється опис всіх функцій на початку або в кінці програми. Хоча оператор inline може стояти у будь-якому місці, з точки зору стилю програмування краще розташовувати функції послідовно на початку програми. Формат оператора inline:

змінна=inline(‘вираз’)

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

Розглянемо простий приклад використання функції inline:

>> format short

>> sc2=inline(‘sin(x).^2+cos(y).^2’)

sc2 =

Inline function:

sc2(x,y) = sin(x).^2+cos(y).^2

>> sc2(3,4)

ans =

0.4472

>>

Спосіб створення зовнішньої функції — збереження її на диску у *.m файлі. Докладніше засоби створення таких функцій ми розглянемо у розділі 4, а зараз звернемо увагу на загальні принципи побудови з використанням уже відомих операторів.

За допомогою команди New опції меню File необхідно створити новий файл та запам’ятати його вдиректорії ./MatLab/work під ім’ям sc2. Текст повинен займати всього 2 командних рядки, обов’язково необхідно вводити коментарі для спрощення роботи з програмою. Тоді рядки для обчислення функції f(x, y) = sin2(x) + cos2(y) можуть мати такий вигляд:

% Обчислення функції f(x,y)=sin(x)^2+cos(y)^2

function I=sc2(x,y)

I=sin(x).^2+cos(y).^2

Створення зовнішньої функції закінчено, будь-який користувач системи може викикати її, а у разі потреби змінити рядки цієї програми. У цьому полягають переваги використання систем з відкритими кодами (Open Sources). Звернення до функції відбувається ще простіше: через список імен змінних,sc(x, y). Приклад використання функції sc2:

>> sc2(1,2)

ans=

0.8813

>> sc2(2,1)

ans=

1.1187

>>

Припускається посилання на функцію через ім’я змінної.Воно відповідає правилам мови програмування С:

>> fh=@sc2

Тепер, використовуючи функцію feval(fh,x,y), отримується значення функції sc2 для заданих x і y:

>> feval(fh,1,2)

ans=

0.8813

>> feval(fh,2,1)

ans=1.1187

>>

 








Дата добавления: 2016-05-11; просмотров: 782;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.