Interested Article - MATLAB

MATLAB (сокращение от англ. «Matrix Laboratory» , в русском языке произносится как Матла́б ) — язык программирования и пакет прикладных программ для решения задач технических вычислений. Пакет используют более миллиона инженерных и научных работников, он работает на большинстве современных операционных систем , включая Linux , macOS , Solaris (начиная с версии R2010b поддержка Solaris прекращена ) и Windows .

История

MATLAB как язык программирования был разработан Кливом Моулером ( англ. Cleve Moler ) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико . Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и без необходимости изучения Фортрана . Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом . Инженер Джон Литтл ( англ. John N. (Jack) Little ) познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом ( англ. Steve Bangert ) . Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов .

Язык 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);

Этот код создаст каркасный 3D график sinc-функции .

График sinc-функции , нарисованный с помощью MATLAB

Деление графического окна осуществляется командой subplot (количество строк, количество столбцов, текущий элемент) (представим что как бы матрицу создаем). Построение Полиномиальной регрессии для табличных данных возможно через команду Tools > Basic Fitting графического окна вывода.

Вычисление площади ограниченной линиями

Вычисление площади ограниченной двумя линиями возможно с помощью команды 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() позволяет менять цвет и тип отображаемой линии, в т. ч. логарифмической шкале . Для этого, используются дополнительные параметры, которые записываются следующим образом: plot(<x>, <y>, <’цвет линии, тип линии, маркер точек’>); Например,

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

построит график красного цвета (r), штрихпунктирный(--), с толщиной линии 2 ('LineWidth',2), с маркером в виде круга ('Marker','o'), закрашенного в черный цвет ('MarkerFaceColor','k').

grid

xlabel('x')

ylabel('y')

title('Lomanaya liniya')

grid создает сетку, xlabel('x') и ylabel('y') подписывает оси координат, title('Lomanaya linia') дает заголовок графику.

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

В квадратных скобках перечисляем элементы вектора через пробел (можно разделять запятой) и элементы выложатся в строчку . Например,

X=[2 3 4 3 5 1]

Если потребуется выложить элементы в столбец то элементы нужно разделять точкой с запятой ";" (в принципе всегда можно применить процедуру транспонирования).

Очень часто нужно задать вектор, элементы которого отличаются на одинаковую величину - шаг . Особенно это актуально когда строим графики функций (область построения этой функции разделяем точками с каким-то шагом ). Для этой задачи используется символ индексации двоеточие ":". Например, от 0 до 10 для шага 2:

Y=[0:2:10]

(если шаг равен 1 то его не пишем, единицу MATLAB поставит по умолчанию). Вектор может быть аргументом функции, например

 F=sin(Y)

Самый сложный момент для понимания и восприятия программы

Есть такие вещи, которые в математике определенной операцией не описаны. Например работа поэлементно с элементами массива . В математике мы можем поэлементно работать с элементами массива, но нет определенного обозначения для этого. В Matlabe есть. В случае, если нужно применить действие к каждому элементу массива то нужно ставить точку ".". Например, есть вектор 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.

Как только в голове возникает мысль, что действие нужно применить к каждому элементу вектора в Matlabe на это нужно указать проставлением точки перед действием:

2./F

. Далее получим:

Inf    0.6667    0.5000    0.6667    0.4000    2.0000

.

Inf обозначает что было произведено деление на ноль.

Задание функций

В случае если есть два графика функции и нужно определить их пересечение, далее посчитать площадь которая ограничивается в результате пересечения. В Matlabe пользовательскую функцию можно создать добавлением знака "@" (в круглых скобках пишем то, от чего эта функция зависит):

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

что соотвтетствует функции . Точка стоит только перед степенью ( .^ ), это говорит о том, что функция будет вектором. Перед суммой, разностью точки не ставятся так как векторы складывать, вычитать можно по обычным правилам.

MATLAB выведет:

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 предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики , в частности:

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

MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования . В нём имеются все необходимые средства интегрированной среды разработки , включая отладчик и профайлер . Функции для работы с целыми типами данных облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.

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

В составе пакета MATLAB имеется большое количество функций для построения графиков, в том числе трёхмерных, визуального анализа данных и создания анимированных роликов.

Встроенная среда разработки позволяет создавать графические интерфейсы пользователя с различными элементами управления, такими как кнопки, поля ввода и другими.

Независимые приложения

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

Внешние интерфейсы

Пакет MATLAB включает различные интерфейсы для получения доступа к внешним подпрограммам, написанным на других языках программирования, данным, клиентам и серверам, общающимся через технологии Component Object Model или Dynamic Data Exchange , а также периферийным устройствам, которые взаимодействуют напрямую с MATLAB. Многие из этих возможностей известны под названием MATLAB API.

COM

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

.NET

Пакет MATLAB в Microsoft Windows предоставляет доступ к программной платформе .NET Framework. Имеется возможность загружать .NET сборки (Assemblies) и работать с объектами .NET классов из среды MATLAB. В версии MATLAB 7.11 (R2010b) поддерживается .NET Framework версий 2.0, 3.0, 3.5 и 4.0.

DDE

Пакет 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.

DLL

Интерфейс MATLAB, относящийся к общим DLL, позволяет вызывать функции, находящиеся в обычных динамически подключаемых библиотеках, прямо из MATLAB. Эти функции должны иметь C-интерфейс.

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

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

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

  • Цифровая обработка сигналов , изображений и данных : Signal Processing Toolbox (появился в 1987 году ), DSP System Toolbox , Image Processing Toolbox (появился в 1993 году ), Wavelet Toolbox , Communications System Toolbox — наборы функций и объектов, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи.
  • Системы управления : Control Systems Toolbox , Robust Control Toolbox , System Identification Toolbox , Model Predictive Control Toolbox , Model-Based Calibration Toolbox — наборы функций и объектов, облегчающих анализ и синтез динамических систем , проектирование, моделирование и идентификацию систем управления, включая современные алгоритмы управления, такие как робастное управление , 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 году ) — инструменты для символьных вычислений с возможностью взаимодействия с символьным процессором программы Maple .

Помимо вышеперечисленных, существуют тысячи других наборов инструментов для MATLAB, написанных другими компаниями и энтузиастами.

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

Существует большое количество программных пакетов для решения задач численного анализа. Многие из таких пакетов являются свободным программным обеспечением .

Совместимые с MATLAB на уровне языка программирования

Близкие по функциональности

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

Примечания

  1. (англ.) . Дата обращения: 21 января 2011. 3 января 2011 года.
  2. (англ.) . Help Center - MATLAB & Simulink . The MathWorks, Inc (4 ноября 2011). Дата обращения: 22 апреля 2020. 2 августа 2021 года.
  3. (англ.) . Дата обращения: 15 июня 2006. 8 апреля 2011 года.
  4. Moler, C. (англ.) (2004).
  5. (англ.) (январь 2006). Дата обращения: 31 мая 2006. 18 марта 2006 года.
  6. . Дата обращения: 14 октября 2022. 14 октября 2022 года.
  7. . Дата обращения: 14 октября 2022. 14 октября 2022 года.
  8. . Дата обращения: 8 октября 2022. 8 октября 2022 года.
  9. Moler, C. (англ.) (2018). Дата обращения: 22 апреля 2020. 22 августа 2019 года.
  10. (англ.) . Дата обращения: 22 апреля 2020. 15 апреля 2020 года.
  11. (англ.) . Дата обращения: 25 ноября 2012. 6 февраля 2013 года.

Литература

  • Дьяконов В. П. Справочник по применению системы 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 .
  • Дьяконов В. П. 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 с.
  • Оленев Н. Н., Печенкин Р. В., Чернецов А. М. . — М.: ВЦ РАН, 2007. — 120 с. — ISBN 5-201-09865-7 .
  • Оленев Н. Н. // II Всероссийская научная конференция с молодежной научной школой «МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ РАЗВИВАЮЩЕЙСЯ ЭКОНОМИКИ», посвященная 90-летию со дня рождения академика Н.Н.Моисеева : сборник трудов. — Киров: ВятГУ, 2007. — С. 159—173 .
  • Оленев Н. Н., Печенкин Р. В., Чернецов А. М. . — М.: ВЦ РАН, 2015. — 123 с. — ISBN 978-5-91601-126-5 . — doi : .

Ссылки

  • на сайте Exponenta.Ru
  • — GNU научная библиотека
  • . 3 мая 2018 года.
Источник —

Same as MATLAB