Перейти до вмісту

MATLAB

Матеріал з Вікіпедії — вільної енциклопедії.
MATLAB
Типзасіб математичного обчислювання
РозробникиThe MathWorks[1] і Cleve Molerd[2] Редагувати інформацію у Вікіданих
Стабільний випускR2024a (R2024a / 14 травня 2024)
Операційна системаWindows, Linux і OS X[3]
Мова програмуванняC, C++, Фортран і Java Редагувати інформацію у Вікіданих
Доступні мовиC, C++, Java, MATLAB
ЛіцензіяВласність компанії
Вебсайтсторінка MATLAB

MATLAB — пакет прикладних програм для чисельного аналізу, а також мова програмування, що використовується в цьому пакеті. Система, створена компанією The MathWorks, є засобом для роботи з математичними матрицями, побудови графіків функцій, роботи з алгоритмами, створення робочих оболонок (інтерфейсів користувача[джерело?]) з програмами іншими мовами програмування. Хоча продукт спеціалізується на чисельному аналізі, спеціальні інструментальні засоби працюють з програмним забезпеченням Maple, що робить його повноцінною системою для роботи з алгеброю.

Мова MATLAB

[ред. | ред. код]

Опис мови

[ред. | ред. код]

Мова MATLAB — високорівнева інтерпретована мова програмування, яка включає засновані на матрицях структури даних, широкий спектр функцій, інтегроване середовище розробки, об'єктно-орієнтовані можливості та інтерфейси до програм, написаних іншими мовами програмування.

Програми, написані на MATLAB, бувають двох типів — функції та скрипти. Функції мають вхідні та вихідні аргументи, а також власний робочий простір для зберігання проміжних результатів обчислень та змінних. Скрипти використовують загальний робочий простір. Як скрипти, так і функції зберігаються як текстові файли і компілюються в машинний код динамічно. Існує також можливість зберігати так звані pre-parsed програми — функції та скрипти, перетворені у вигляд, зручний для машинного виконання. Загалом такі програми виконуються швидше за звичайні, особливо якщо функція містить команди побудови графіків.

Основною особливістю мови MATLAB є її широкі можливості для роботи з матрицями, які творці мови висловили в гаслі «думай векторно» (англ. Think vectorized).

Вектори та матриці

[ред. | ред. код]

Приклад коду, що є частиною функції magic.m, яка генерує магічний квадрат M для непарних значень розміру сторони n:

[J,I] = meshgrid(1:n);
A = mod(I+J-(n+3)/2,n);
B = mod(I+2*J-2,n);
M = n*A + B + 1;

Приклад коду, що завантажує одновимірний масив A значеннями масиву B у зворотному порядку (тільки якщо вектор A визначений, і кількість його елементів збігається з кількістю елементів вектора B):

A(1:end) = B(end:-1:1);

Графіки

[ред. | ред. код]

MATLAB може створювати тривимірну графіку за допомогою функцій surf, plot3 або mesh.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2);
Z = sin(R)./R;
Z(R==0) = 1;
mesh(X,Y,Z);
Цей код створить каркасний тривимірний графік функції sinc .
Графік функції sinc, намальований за допомогою MATLAB

Поділ графічного вікна здійснюється командою subplot (кількість рядків, кількість стовпців, поточний елемент) (можна уявити, як створення матриці). Побудова поліноміальної регресії для табличних даних можлива через команду Tools > Basic Fitting вікна графічного виводу.[4]

Обчислення площі обмеженої лініями

[ред. | ред. код]

Обчислення площі обмеженої двома лініями можливе за допомогою команди quad (площа визначеного інтеграла, код див. нижче). Аргументами quad є точки перетину ліній (знаходяться за допомогою команди fzero (перший аргумент різниця між функціями, другий аргумент відрізок або точка де різниця між функціями дорівнює нулю).

clear all
clc
close all
f=@(x) 0.5*x.^2+sin(5*x)-5*x+1
g=@(x) sqrt(x.^2+5.5)
X=-2:0.01:14;
subplot(2,1,1)
plot(X,f(X),'m','LineWidth',2)
hold on
plot(X,g(X),'g','LineWidth',2)
grid
xlabel('x')
ylabel('f,g')
legend('f','g','Location','best')
F=@(x) g(x)-f(x)
subplot(2,1,2)
plot(X,F(X),'b','LineWidth',2)
hold on
plot([-2 14],[0 0],'k','LineWidth',2)
grid
xlabel('x')
ylabel('f,g')
x1=fzero(F,0)
x2=fzero(F,[10,14])
S=quad(F,x1,x2)

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

[ред. | ред. код]

У разі довгих формул, коли вираз не поміщається в рядок у програмі, передбачена функція перенесення в командному вікні, здійснювана трьома крапками «…». Крапки набувають синього кольору, курсор на наступному рядку блимає, але знак початку командного рядка (>>) відсутній. Наприклад,

t=sqrt(abs(sin(1.3*pi)/cos(4.6)*tan(0.7*pi)/acot(0.3)))-...
(exp(-0.2)*log(3.8)^1.2)^(1/3)

рівносильно

 t=sqrt(abs(sin(1.3*pi)/cos(4.6)*tan(0.7*pi)/acot(0.3)))-(exp(-0.2)*log(3.8)^1.2)^(1/3)

Оформлення графіків

[ред. | ред. код]

Функція plot() дає змогу змінювати колір і тип лінії, що відображається, зокрема й у логарифмічному масштабі.[5] Для цього використовують додаткові параметри, які записують так: plot(<x>, <y>, <'колір лінії, тип лінії, маркер точок'>).[6] Наприклад,

plot(X,Y,'r--','LineWidth',2, 'Marker','o','MarkerFaceColor','k')

побудує графік червоного кольору (r), штрихпунктирний (--), із товщиною лінії 2 ('LineWidth',2), з маркером у вигляді круга ('Marker','o'), зафарбованого в чорний колір ('MarkerFaceColor','k').

grid

xlabel('x')

ylabel('y')

title('Lamana liniya')

grid створює сітку, xlabel('x') та ylabel('y'), підписує осі координат, title('Lamana liniya') надає графіку заголовок.

Введення векторів (відповідно потім і матриць (масивів))

[ред. | ред. код]

У квадратних дужках перераховуємо елементи вектора через пропуск (можна розділяти комою) і елементи викладуться в рядок. Наприклад,

X=[2 3 4 3 5 1]

Якщо потрібно викласти елементи в стовпець, то їх слід розділяти крапкою з комою «;» (В принципі, завжди можна застосувати процедуру транспонування). Дуже часто потрібно задати вектор, елементи якого відрізняються на однакову величину — крок. Особливо це актуально, коли будуємо графіки функцій (область побудови цієї функції розділяємо точками з якимсь кроком). Для цієї задачі використовують символ індексації двокрапка «:». Наприклад, від 0 до 10 для кроку 2:

Y=[0:2:10]

(якщо крок дорівнює 1, то його не пишемо, одиницю MATLAB використає, як типове значення). Вектор може бути аргументом функції, наприклад

 F=sin(Y)

Поелементне опрацювання масивів

[ред. | ред. код]

Деякі дії не мають у математиці певного позначення, наприклад поелементне опрацювання елементів масиву, проте в MATLAB подібні позначення є. Якщо потрібно застосувати дію до кожного елемента масиву, то ставиться крапка «.». Наприклад, якщо є вектор F

F=[0 3 4 3 5 1]

його можна поділити на два:

F/2

Отримаємо (кожен елемент вектора буде поділено на 2):

 0  1.5000  2.0000  1.5000  2.5000  0.5000

Однак, якщо написати

2/F

Matlab видасть помилку:

Error using / 
Matrix dimensions must agree.

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

2./F

. Отримаємо:

Inf  0.6667  0.5000  0.6667  0.4000  2.0000

Inf означає, що зроблено спробу ділення на нуль.

Задання функцій

[ред. | ред. код]

Нехай є два графіки функцій і потрібно визначити їх перетин, далі порахувати площу, обмежену в результаті перетину. У MATLAB функцію користувача можна створити додаванням знака «@» (у круглих дужках пишемо те, від чого ця функція залежить):

f=@(x)0.5*x^2+sin(5*x)-5*x+1

що відповідає функції . Крапка стоїть лише перед степенем (.^), це свідчить, що функція буде вектором. Перед сумою, різницею крапки не ставлять, оскільки додавати й віднімати вектори можна за звичайними правилами. Буде виведено:

f =

function_handle with value:

@(x)0.5*x.^2+sin(5*x)-5*x+1

function_handle повідомляє, що це функція користувача. Приклад коду для виведення діапазону побудови від -2 до 12 з кроком 0,01 (можна вводити як 0.01, так і .01):

X=-2:.01:12;

Крапка з комою «;» наприкінці команди означає, що результат не буде виведено на екран. Для виведення функцій разом в одному вікні можна використати команду hold on:

plot(X,f(X))
hold on
plot(X,g(X))
grid
legend('f','g','Location','best')

legend('f','g','Location','best') каже, що підписи функцій на спільному графіку будуть розташовані в найвільнішому місці.

Застосування

[ред. | ред. код]
Структура системи Matlab + Simulink

Математика та обчислення

[ред. | ред. код]

MATLAB надає користувачеві для аналізу даних багато (кілька сотень) функцій, які покривають практично всі галузі математики, зокрема:

Розробка алгоритмів

[ред. | ред. код]

MATLAB надає зручні засоби розробки алгоритмів, включно з високорівневими з використанням концепцій об'єктно-орієнтованого програмування. Він має всі необхідні засоби інтегрованого середовища розробки, серед яких налагоджувач та профайлер. Функції для роботи з цілими типами даних полегшують створення алгоритмів для мікроконтролерів та інших застосувань, де це необхідно.

Візуалізація даних

[ред. | ред. код]

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

Вбудоване середовище розробки дає змогу створювати графічні інтерфейси користувача з різними елементами керування, такими як кнопки, поля введення та інші.

Незалежні програми

[ред. | ред. код]

Програми MATLAB, як консольні, так і з графічним інтерфейсом користувача, можна зібрати за допомогою модуля MATLAB Compiler у незалежні від MATLAB застосунки або динамічні бібліотеки, для запуску яких на інших комп'ютерах, однак, потрібно встановлювати вільно розповсюджуване середовище MATLAB Runtime[8] (раніше називалася MATLAB Compiler Runtime, MCR)[9].

Зовнішні інтерфейси

[ред. | ред. код]

Пакет MATLAB включає різні інтерфейси для отримання доступу до зовнішніх підпрограм, написаних іншими мовами програмування, даних, клієнтів та серверів, які спілкуються через технології Component Object Model або Dynamic Data Exchange, а також периферійних пристроїв, які взаємодіють безпосередньо з MATLAB. Багато з цих можливостей відомі під назвою MATLAB API.

Пакет MATLAB надає доступ до функцій, які дають змогу створювати, маніпулювати та видаляти COM-об'єкти (як клієнти, так і сервери). Підтримується також технологія ActiveX. Усі COM-об'єкти належать до спеціального COM-класу пакету MATLAB. Усі програми, що мають функції контролера автоматизації (англ. Automation controller), можуть мати доступ до MATLAB як до сервера автоматизації (англ. Automation server).

Пакет MATLAB у Microsoft Windows надає доступ до програмної платформи .NET Framework. Є можливість із середовища MATLAB завантажувати .NET-збірки (Assemblies) та працювати з об'єктами .NET-класів. У версії MATLAB 7.11 (R2010b) підтримується .NET Framework версій 2.0, 3.0, 3.5 та 4.0.

Пакет MATLAB містить функції для доступу до інших застосунків середовища Windows, так само як і цим програмам отримувати доступ до даних MATLAB, за допомогою технології динамічного обміну даними (DDE). Кожен застосунок, який може бути DDE-сервером, має унікальну ідентифікаційну назву. Для MATLAB це назва Matlab.

Вебслужби

[ред. | ред. код]

У MATLAB є можливість використовувати вебслужби. Спеціальна функція створює клас, який містить методи API вебслужби, що дозволяє звертатися до вебслужби через виклики методів класу.

MATLAB взаємодіє з клієнтом вебслужби за допомогою отримання даних, їх опрацювання та надсилання результату. Підтримуються технології Simple Object Access Protocol (SOAP) та Web Services Description Language (WSDL).

Послідовний порт

[ред. | ред. код]

Інтерфейс для послідовного порту пакету MATLAB забезпечує прямий доступ до периферійних пристроїв, таких як модеми, принтери та наукове обладнання, що підключається до комп'ютера через послідовний порт (COM-порт). Інтерфейс працює через створення об'єкта спеціального класу для послідовного порту. Наявні методи цього класу дають змогу зчитувати та записувати дані в послідовний порт, використовувати події та обробники подій, а також записувати інформацію на диск комп'ютера в режимі реального часу. Це буває необхідно при проведенні експериментів, симуляції систем реального часу та інших застосувань.

MEX-файли

[ред. | ред. код]

Пакет MATLAB включає інтерфейс взаємодії із зовнішніми програмами, написаними мовами C і Фортран. Здійснюється ця взаємодія через MEX-файли. Існує можливість виклику підпрограм, написаних на C або Фортрані з MATLAB так, ніби це вбудовані функції пакета. MEX-файли являють собою бібліотеки динамічного підключення, які може завантажити й виконати інтерпретатор, вбудований у MATLAB. MEX-процедури мають змогу викликати вбудовані команди MATLAB.

Інтерфейс MATLAB, що відноситься до спільних DLL, дає змогу викликати функції, розміщені у звичайних бібліотеках динамічного підключення, прямо з MATLAB. Ці функції повинні мати C-інтерфейс.

Крім того, в MATLAB є можливість отримати доступ до його вбудованих функцій через C-інтерфейс, що дозволяє використовувати функції пакету у зовнішніх застосунках, написаних на C. Ця технологія в MATLAB називається C Engine.

Графіки та програмування графічних інтерфейсів користувача

[ред. | ред. код]

MATLAB підтримує створення застосунків із властивостями графічних інтерфейсів користувача. Він включає GUIDE (GUI development environment — середовище розробки) для графічного проєктування графічних інтерфейсів користувача. Код:

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

дає такий результат

Програми на MATLAB можуть також будувати тривимірні графіки за допомогою функцій surf, plot3 чи mesh.

[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
mesh(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')
hidden off
   
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
surf(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')
Цей код створює каркасну тривимірну модель двовимірної ненормованої функції sinc     Цей код створює тривимірну поверхню на основі двовимірної ненормованої функції sinc:
   

Набори інструментів

[ред. | ред. код]

Для MATLAB є можливість створювати спеціальні набори інструментів (англ. toolbox), що розширюють його функціональність. Набори інструментів є колекцією функцій та об'єктів, написаних мовою MATLAB для розв'язування задач певного класу. Mathworks постачає набори інструментів, які використовуються в багатьох галузях, серед яких:

  • Цифрова обробка сигналів, зображень та даних: Signal Processing Toolbox (з'явився 1987 року[7]), DSP System Toolbox, Image Processing Toolbox (з'явився 1993 року[7]), Wavelet Toolbox, Communications System Toolbox - набори функцій і об'єктів для розв'язування широкого спектра задач обробки сигналів, зображень, проєктування цифрових фільтрів і систем зв'язку.
  • Системи керування: Control Systems Toolbox, Robust Control Toolbox, System Identification Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox — набори функцій і об'єктів, які полегшують аналіз і синтез динамічних систем, проєктування, моделювання та ідентифікація[ru] систем керування, серед яких сучасні алгоритми керування, такі як робастне керування, H∞-керування, ЛМН-синтез, μ-синтез та інші.
  • Фінансовий аналіз: Econometrics Toolbox, Financial Instruments Toolbox, Financial Toolbox, Datafeed Toolbox, Trading Toolbox — набори функцій і об'єктів, що дають змогу швидко й ефективно збирати, опрацьовувати й передавати різну фінансову інформацію.
  • Аналіз та синтез географічних карт, включно з тривимірними: Mapping Toolbox.
  • Збір та аналіз експериментальних даних: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, OPC Toolbox — набори функцій і об'єктів для зберігання й опрацювання даних, отриманих у ході експериментів, також і в реальному часі. Підтримується широкий спектр наукового та інженерного вимірювального обладнання.
  • Візуалізація та подання даних: Virtual Reality Toolbox — дає змогу створювати інтерактивні світи та візуалізувати наукову інформацію за допомогою технологій віртуальної реальності й мови VRML.
  • Засоби розробки: MATLAB Builder for COM, MATLAB Builder for Excel, MATLAB Builder for NET, MATLAB Compiler, HDL Coder — інструменти для створення незалежних програм у середовищі MATLAB.
  • Взаємодія із зовнішніми програмними продуктами: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim — набори функцій для зберігання даних різних видів так, щоб з ними могли працювати інші програми.
  • Бази даних: Database Toolbox — інструменти для роботи з базами даних.
  • Наукові та математичні пакети: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Optimization Toolbox, Global Optimization Toolbox, Partial Differential Equation Toolbox, Statistics And Machine Learning Toolbox, RF Toolbox — набори спеціалізованих математичних функцій і об'єктів, що дають змогу розв'язувати широкий спектр наукових та інженерних задач, серед яких розробка генетичних алгоритмів, задачі в частинних похідних, цілочисельні задачі, оптимізація систем та інші.
  • Нейронні мережі: Neural Network Toolbox — інструменти для синтезу та аналізу нейронних мереж.
  • Нечітка логіка: Fuzzy Logic Toolbox — інструменти для побудови та аналізу нечітких множин.
  • Символьні обчислення: Symbolic Math Toolbox (з'явився 1993 року[7])- інструменти для символьних обчислень із можливістю взаємодії зі символьним процесором програми Maple.

Крім перелічених, існують тисячі інших наборів інструментів для MATLAB, написаних іншими компаніями та ентузіастами.

Альтернативні пакети

[ред. | ред. код]

Існує багато програмних пакетів для розв'язування задач чисельного аналізу. Багато таких пакетів належать до вільного програмного забезпечення.

Сумісні з MATLAB на рівні мови програмування

[ред. | ред. код]

Близькі за функціональністю

[ред. | ред. код]
  • Julia
  • R, S і SPlus.
  • APL та її нащадки: наприклад J
  • Python при використанні пакету програм Python(x,y), а також із бібліотеками NumPy, SciPy і matplotlib реалізує подібні можливості. Також, середовище Enthought Canopy.
  • IDL (англ. Interactive Data Language), колись була комерційним конкурентом MATLAB, зараз залишається серйозним конкурентом у багатьох прикладних галузях, хоча її частка на ринку програмних продуктів для чисельного аналізу різко впала.
  • Fortress[en], мова програмування, створена Sun Microsystems, — спадкоємець Фортрану, але з ним не сумісна.
  • В разі необхідності розробки великих проєктів для чисельного аналізу можливе використання мов програмування загального призначення, які підтримують статичну типізацію та модульну структуру, наприклад, Modula-3[en], Haskell, Ада, Java. При цьому рекомендується використовувати відомі в науково-інженерному середовищі спеціалізовані бібліотеки (див. посилання).

Історія

[ред. | ред. код]

MATLAB отримав назву від «MATrix LABoratory», яку заснував наприкінці 1970-х Клів Молер, який пізніше став керівником департаменту обчислювальних наук Університету Нью-Мексико. Він розробив систему, щоби надати своїм студентам доступ до пакетів Linpack та Eispack без необхідності опановувати Фортран. MATLAB швидко набув популярності в інших університетах і привернув увагу прикладних математиків. Інженер Джон Літтл уподобав цей продукт, коли 1983 року відвідав Молера у Стенфордському університеті. Прогнозуючи комерційний успіх MATLAB, він приєднався до Молера і Стіва Бангерта. Вони переписали MATLAB на С і 1984 року заснували компанію The MathWorks. Переписані бібліотеки стали відомими як JACKPAC. Поза визнанням викладачів лінійної алгебри та числового аналізу, MATLAB визнали де-факто спеціалісти з опрацювання цифрових зображень (напр. для томографії).

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. http://www.mathworks.com/products/?s_tid=gn_ps
  2. а б http://archive.computerhistory.org/resources/access/text/2013/12/102746804-05-01-acc.pdf
  3. Системні вимоги і доступність на платформах. MathWorks. Архів оригіналу за 13 жовтня 2016. Процитовано 14 серпня 2013.
  4. Полиномиальная регрессия для табличных данных MatLab. Архів оригіналу за 14 жовтня 2022. Процитовано 14 жовтня 2022.
  5. График в полулогарифмическом масштабе. Архів оригіналу за 14 жовтня 2022. Процитовано 14 жовтня 2022.
  6. Оформление графиков. Архів оригіналу за 8 жовтня 2022. Процитовано 8 жовтня 2022.
  7. а б в г Moler, C. (2018). A Brief History of MATLAB - MATLAB & Simulink (англ.). Архів оригіналу за 22 серпня 2019. Процитовано 22 квітня 2020.
  8. MATLAB Compiler - MATLAB (англ.). Архів оригіналу за 15 квітня 2020. Процитовано 22 квітня 2020.
  9. MATLAB Compiler Runtime (MCR) — MATLAB Compiler (англ.). Архів оригіналу за 6 лютого 2013. Процитовано 25 листопада 2012. {{cite web}}: символ нерозривного пробілу в |title= на позиції 30 (довідка)

Джерела

[ред. | ред. код]

Література

[ред. | ред. код]
  • Дьяконов В. П. Справочник по применению системы PC MATLAB. — М. : «Физматлит», 1993. — 112 с. — ISBN 5-02-015101-7.
  • Дьяконов В. П. Компьютерная математика. Теория и практика. — СПб : «Питер», 1999,2001. — 1296 с. — ISBN 5-89251-065-4.
  • Дьяконов В. П. MATLAB 5 - система символьной математики. — М. : «Нолидж», 1999. — 640 с. — ISBN 5-89251-069-7.
  • Джон Г. Мэтьюз, Куртис Д. Финк. Численные методы. Использование MATLAB = Numerical Methods: Using MATLAB. — 3-е изд. — М. : «Вильямс», 2001. — 720 с. — ISBN 0-13-270042-5.
  • Дьяконов В. П., Абраменкова И. В. MATLAB. Обработка сигналов и изображений. Специальный справочник. — СПб. : «Питер», 2002. — 608 с. — ISBN 5-318-00667-1.
  • Дьяконов В. П., Круглов В. В. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. — СПб. : «Питер», 2002. — 448 с. — ISBN 5-318-00359-1.
  • Дьяконов В. П. Simulink 4. Специальный справочник. — СПб. : «Питер», 2002. — 528 с. — ISBN 5-318-00551-9.
  • Дьяконов В. П. MATLAB 6/6.1/6.5 + Simulink 4/5. Основы применения.Полное руководство пользователя. — М. : «СОЛОН-Пресс», 2002. — 768 с. — ISBN 5-98003-007-7.
  • Дьяконов В. П. MATLAB 6/6.1/6.5 + Simulink 4/5 в математике и моделировании. Основы применения.Полное руководство пользователя. — М. : «СОЛОН-Пресс», 2003. — 576 с. — ISBN 5-93455-177-9.
  • Дьяконов В. П. Вейвлеты. От теории к практике. Полное руководство пользователя. Изд-е 2-е переработанное и дополненное. — М. : «СОЛОН-Пресс», 2004. — 400 с. — ISBN 5-98003-171-5.
  • Дьяконов В. П. MATLAB 6.0/6.1/6.5/6.5+SP1 + Simulink 4/5. Обработка сигналов и изображений. Полное руководство пользователя. — М. : «СОЛОН-Пресс», 2005. — 592 с. — ISBN 5-93003-158-8.
  • Курбатова Е. А. MATLAB 7. Самоучитель. — М. : «Диалектика», 2005. — 256 с. — ISBN 5-8459-0904-X.
  • Дьяконов В. П. MATLAB 6.5/7.0 + Simulink 5/6. Основы применения.Библиотека профессионала. — М. : «СОЛОН-Пресс», 2005. — 800 с. — ISBN 5-98003-181-2.
  • Дьяконов В. П. MATLAB 6.5/7.0 + Simulink 5/6 в математике и моделировании. Библиотека профессионала. — М. : «СОЛОН-Пресс», 2005. — 576 с. — ISBN 5-98003-209-6.
  • Дьяконов В. П. MATLAB 6.5/7.0 + Simulink 5/6. Обработка сигналов и проектирование фильтров. Библиотека профессионала. — М. : «СОЛОН-Пресс», 2005. — 576 с. — ISBN 5-98003-206-1.
  • Дьяконов В. П. MATLAB 6.5/7.0/7 SP1 + Simulink 5/6. Работа с изображениями и видеопотоками. Библиотека профессионала. — М. : «СОЛОН-Пресс», 2005. — 400 с. — ISBN 5-98003-205-3.
  • Дьяконов В. П. MATLAB 6.5/7.0/7 SP1/7 SP2 + Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. Библиотека профессионала. — М. : «СОЛОН-Пресс», 2005. — 456 с. — ISBN 5-98003-255-X.
  • Чарльз Генри Эдвардс, Дэвид Э. Пенни. Дифференциальные уравнения и проблема собственных значений: моделирование и вычисление с помощью Mathematica, Maple и MATLAB = Differential Equations and Boundary Value Problems: Computing and Modeling. — 3-е изд. — М. : «Вильямс», 2007. — 1104 с. — ISBN 978-5-8459-1166-7.
  • Дьяконов В. П. MATLAB R2006/2007/2008 + Simulink 5/6/7. Основы применения. Изд-е 2-е, переработанное и дополненное. Библиотека профессионала. — М. : «СОЛОН-Пресс», 2008. — 800 с. — ISBN 978-5-91359-042-8.
  • Дьяконов В. П. MATLAB 7.*/R2006/2007. Самоучитель. — М. : «ДМК-Пресс», 2008. — 768 с. — ISBN 978-5-94074-424-5.
  • Дьяконов В. П. SIMULINK 5/6/7. Самоучитель. — М. : «ДМК-Пресс», 2008. — 784 с. — ISBN 978-5-94074-423-8.
  • Дьяконов В. П. MATLAB и SIMULINK для радиоинженеров. — М. : «ДМК-Пресс», 2011. — 976 с. — ISBN 978-5-94074-492-4.
  • Таранчук В. Б. Основные функции систем компьютерной алгебры. — Минск: БГУ, 2013. — 59 с.
  • Оленев Н. Н., Печенкин Р. В., Чернецов А. М. Параллельное программирование в MATLAB и его приложения. — М.: ВЦ РАН, 2007. — 120 с. — ISBN 5-201-09865-7.
  • Оленев Н. Н. Параллельные вычисления в MATLAB при моделировании экономики // II Всероссийская научная конференция с молодежной научной школой «МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ РАЗВИВАЮЩЕЙСЯ ЭКОНОМИКИ», посвященная 90-летию со дня рождения академика Н.Н.Моисеева : сборник трудов. — Киров : ВятГУ, 2007. — 8 ноября. — С. 159—173.
  • Оленев Н. Н., Печенкин Р. В., Чернецов А. М. Параллельное программирование в MATLAB и Simulink с приложениями к моделированию экономики. — М.: ВЦ РАН, 2015. — 123 с. — ISBN 978-5-91601-126-5. — DOI:10.13140/RG.2.1.3899.2240.

Посилання

[ред. | ред. код]