MATLAB - Википедия - MATLAB

MATLAB (программное обеспечение)
Matlab Logo.png
L-образный мембранный логотип[1]
MATLAB R2015b.png
MATLAB R2015b работает в Windows 10
Разработчики)MathWorks
изначальный выпуск1984; 36 лет назад (1984)
Стабильный выпуск
R2020b / 17 сентября 2020 г.; 2 месяца назад (2020-09-17)
Написано вC /C ++, MATLAB
Операционная системаWindows, macOS, и Linux[2]
ПлатформаIA-32, x86-64
ТипЧисленные вычисления
ЛицензияПроприетарный коммерческое программное обеспечение
Интернет сайтmathworks.com
MATLAB (язык программирования)
Парадигмамультипарадигма: функциональный, императив, процедурный, объектно-ориентированный, множество
РазработаноКлив Молер
РазработчикMathWorks
Впервые появилсяконец 1970-х
Стабильный выпуск
9.9 (R2020b) / 17 сентября 2020 г.; 2 месяца назад (2020-09-17)
Печатная дисциплинадинамичный, слабый
Расширения имени файла.m, .p,[3] .mex *,[4] .мат,[5] .Рис,[6] .mlx,[7] .mlapp,[8] .mltbx,[9] .mlappinstall,[10] .mlpkginstall[11]
Интернет сайтmathworks.com
Под влиянием
Под влиянием

MATLAB (аббревиатура от «матричная лаборатория») - это проприетарный мультипарадигма язык программирования и числовые вычисления среда, разработанная MathWorks. MATLAB позволяет матрица манипуляции, построение функции и данные, реализация алгоритмы, создание пользовательские интерфейсы и взаимодействие с программами, написанными на других языках.

Хотя MATLAB предназначен в первую очередь для численных вычислений, дополнительный набор инструментов использует MuPAD символический двигатель разрешая доступ к символические вычисления способности. Дополнительный пакет, Simulink, добавляет графическое многодоменное моделирование и модельно-ориентированный дизайн за динамичный и встроенные системы.

По состоянию на 2020 год у MATLAB более 4 миллионов пользователей по всему миру.[20] Пользователи MATLAB имеют разный опыт инженерное дело, наука, и экономика.

История

Клив Молер, председатель Информатика отдел в Университет Нью-Мексико, начал разработку MATLAB в конце 1970-х годов.[21] Он разработал его, чтобы дать своим ученикам доступ к LINPACK и EISPACK без них учиться Фортран. Вскоре он распространился на другие университеты и нашел сильную аудиторию в Прикладная математика сообщество. Джек Литтл, инженер, столкнулся с ним во время визита Молера в Стэндфордский Университет в 1983 году. Осознав ее коммерческий потенциал, он присоединился к Молеру и Стиву Бангерту. Они переписали MATLAB в C и основал MathWorks в 1984 году, чтобы продолжить свое развитие. Эти переписанные библиотеки были известны как JACKPAC.[22] В 2000 году MATLAB был переписан, чтобы использовать новый набор библиотек для работы с матрицами, ЛАПАК.[23]

MATLAB был впервые принят исследователями и практиками в техника управления, Специальность Литтла, но быстро распространилась на многие другие области. Сейчас он также используется в образовании, в частности, при обучении линейная алгебра и числовой анализ, и популярен среди ученых, занимающихся обработка изображений.[21]

Синтаксис

Приложение MATLAB построено на языке программирования MATLAB. Обычное использование приложения MATLAB включает использование «Командного окна» как интерактивного математического ракушка или выполнение текстовых файлов, содержащих код MATLAB.[24]

Переменные

Переменные определяются с помощью оператора присваивания, =. MATLAB - это слабо типизированный язык программирования, потому что типы неявно преобразуются.[25] Это предполагаемый типизированный язык, потому что переменные могут быть присвоены без объявления их типа, за исключением случаев, когда они должны рассматриваться как символьные объекты,[26] и что их тип может измениться. Ценности могут исходить от константы, из вычислений, включающих значения других переменных, или из вывода функции. Например:

>> Икс = 17х = 17>> Икс = 'шляпа'х =шляпа>> Икс = [3*4, число Пи/2]х =   12.0000    1.5708>> у = 3*грех(Икс)y =   -1.6097    3.0000

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

Простой массив определяется с использованием синтаксиса двоеточия: исходный:приращение:терминатор. Например:

>> множество = 1:2:9множество = 1 3 5 7 9

определяет переменную с именем множество (или присваивает новое значение существующей переменной с именем множество), который представляет собой массив, состоящий из значений 1, 3, 5, 7 и 9. То есть, массив начинается с 1 ( исходный значение), увеличивается с каждым шагом от предыдущего значения на 2 ( приращение значение) и останавливается, когда достигает (или во избежание превышения) 9 ( терминатор ценить).

В приращение value можно фактически исключить из этого синтаксиса (вместе с одним из двоеточий), чтобы использовать значение по умолчанию 1.

>> ари = 1:5ари = 1 2 3 4 5

присваивается переменной с именем ари массив со значениями 1, 2, 3, 4 и 5, поскольку в качестве приращения используется значение 1 по умолчанию.

Индексирование на основе одного,[27] что является обычным условием для матрицы в математике, в отличие от индексации с нуля, обычно используемой в других языках программирования, таких как C, C ++ и Java.

Матрицы могут быть определены путем разделения элементов строки пробелом или запятой и использованием точки с запятой для завершения каждой строки. Список элементов следует заключить в квадратные скобки. []. Скобки () используются для доступа к элементам и подмассивам (они также используются для обозначения списка аргументов функции).

>> А = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]А = 16  3  2 13  5 10 11  8  9  6  7 12  4 15 14  1>> А(2,3)ответ = 11

Наборы индексов могут быть указаны такими выражениями, как 2:4, который оценивается как [2, 3, 4]. Например, подматрицу, взятую из строк со 2 по 4 и столбцов с 3 по 4, можно записать как:

>> А(2:4,3:4)ответ = 11 8 7 12 14 1

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

>> глаз(3,3)ответ = 1 0 0 0 1 0 0 0 1>> нули(2,3)ответ = 0 0 0 0 0 0>> те(2,3)ответ = 1 1 1 1 1 1

Транспонирование вектор или матрица выполняется функцией транспонировать или добавлением точки после матрицы (без точки простое число будет выполнять сопряженный транспонировать для сложных массивов):

>> А = [1 ; 2],  B = А.', C = транспонировать(А)А =     1     2B =     1     2C =     1     2>> D = [0 3 ; 1 5], Д.'D =     0     3     1     5ответ =     0     1     3     5

Большинство функций принимают массивы в качестве входных данных и работают с каждым элементом поэлементно. Например, мод (2 * J, n) умножит каждый элемент в J на 2, а затем уменьшить каждый элемент по модулю п. MATLAB включает стандартные за и пока циклы, но (как и в других подобных приложениях, таких как р ), с использованием векторизованный нотация приветствуется и часто выполняется быстрее. Следующий код, извлеченный из функции magic.m, создает магический квадрат M для нечетных значений п (Функция MATLAB сетка здесь используется для создания квадратных матриц я и J содержащий 1: п).

[J,я] = сетка(1:п);А = мод(я + J - (п + 3) / 2, п);B = мод(я + 2 * J - 2, п);M = п * А + B + 1;

Структуры

MATLAB поддерживает типы данных структуры.[28] Поскольку все переменные в MATLAB являются массивами, более адекватным названием будет «массив структур», где каждый элемент массива имеет одинаковые имена полей. Кроме того, MATLAB поддерживает имена динамических полей.[29] (поиск полей по имени, манипуляции с полями и т. д.).

Функции

При создании функции MATLAB имя файла должно соответствовать имени первой функции в файле. Допустимые имена функций начинаются с буквенного символа и могут содержать буквы, числа или символы подчеркивания. Переменные и функции чувствительны к регистру.[30]

Ручки функций

MATLAB поддерживает элементы лямбда-исчисление введя дескрипторы функций,[31] или ссылки на функции, которые реализованы либо в файлах .m, либо в анонимных[32]/ вложенные функции.[33]

Классы и объектно-ориентированное программирование

MATLAB поддерживает объектно-ориентированного программирования включая классы, наследование, виртуальную отправку, пакеты, семантику передачи по значению и семантику передачи по ссылке.[34] Однако синтаксис и соглашения о вызовах значительно отличаются от других языков. MATLAB имеет классы значений и ссылочные классы, в зависимости от того, имеет ли класс ручка как суперкласс (для ссылочных классов) или нет (для классов значений).[35]

Поведение вызова метода различается для классов значений и ссылочных классов. Например, вызов метода

объект.метод();

может изменить любого члена объект только если объект является экземпляром ссылочного класса, в противном случае методы класса значений должны возвращать новый экземпляр, если ему необходимо изменить объект.

Ниже приведен пример простого класса.

classdef Привет    методы        функция приветствовать (obj)            дисп('Привет!')        конец    конецконец

Когда помещается в файл с именем привет.м, это можно выполнить с помощью следующих команд:

>> Икс = Привет();>> Икс.приветствовать();Привет!

Программирование графики и графического пользовательского интерфейса

MATLAB имеет тесно интегрированные функции построения графиков. Например, функция участок можно использовать для построения графика из двух векторов Икс и у. Код:

Икс = 0:число Пи/100:2*число Пи;у = грех(Икс);участок(Икс,у)

дает следующий рисунок функция синуса:

Матлаб сюжет sin.svg

MATLAB также поддерживает трехмерную графику:

[Икс,Y] = сетка(-10:0.25:10,-10:0.25:10);ж = грех(sqrt((Икс/число Пи).^2+(Y/число Пи).^2));сетка(Икс,Y,ж);ось([-10 10 -10 10 -0.3 1])xlabel('{ bfx}')ярлык('{ bfy}')zlabel('{ bfsinc} ({ bfR})')скрытый выключенный
   
[Икс,Y] = сетка(-10:0.25:10,-10:0.25:10);ж = грех(sqrt((Икс/число Пи).^2+(Y/число Пи).^2));серфить(Икс,Y,ж);ось([-10 10 -10 10 -0.3 1])xlabel('{ bfx}')ярлык('{ bfy}')zlabel('{ bfsinc} ({ bfR})')
Этот код создает каркас 3D сюжет двумерного ненормализованного функция sinc:   Этот код создает поверхность 3D сюжет двумерного ненормализованного функция sinc:
MATLAB сетка sinc3D.svg   MATLAB surf sinc3D.svg

MATLAB поддерживает разработку графический интерфейс пользователя (GUI) приложения.[36] Пользовательские интерфейсы могут быть созданы либо программно, либо с использованием сред визуального дизайна, таких как ГИД и Конструктор приложений.[37][38]

Взаимодействие с другими языками

MATLAB может вызывать функции и подпрограммы, написанные на языках программирования. C или же Фортран.[39] Создается функция-оболочка, позволяющая передавать и возвращать типы данных MATLAB. Файлы MEX (Исполняемые файлы MATLAB) - это динамически загружаемые объектные файлы, созданные путем компиляции таких функций.[40][41] С 2014 года увеличивается двусторонняя связь с Python добавляется.[42][43]

Библиотеки, написанные на Perl, Ява, ActiveX или же .СЕТЬ может быть вызван напрямую из MATLAB,[44][45] и многие библиотеки MATLAB (например, XML или же SQL support) реализованы как оболочки для библиотек Java или ActiveX. Вызов MATLAB из Java более сложен, но может быть выполнен с помощью набора инструментов MATLAB.[46] который продается отдельно MathWorks или используя недокументированный механизм под названием JMI (интерфейс Java-to-MATLAB),[47][48] (что не следует путать с несвязанными Интерфейс метаданных Java который также называется JMI). Официальный MATLAB API для Java был добавлен в 2016 году.[49]

В качестве альтернативы MuPAD на основе Symbolic Math Toolbox, доступного от MathWorks, MATLAB может быть подключен к Клен или же Mathematica.[50][51]

Также существуют библиотеки для импорта и экспорта. MathML.[52]

Запрет в Китае

В 2020 году китайские государственные СМИ сообщили, что MATLAB отозвала услуги у двух китайских университетов в результате санкций США, и заявили, что на это ответят более широким использованием альтернатив с открытым исходным кодом и разработкой национальных альтернатив.[53]

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

У MATLAB есть ряд конкурентов. Вот некоторые известные примеры:

Это также свободный Открытый исходный код альтернативы MATLAB, в частности:

которые в некоторой степени совместимы с языком MATLAB. GNU Octave отличается от других тем, что он стремится быть совместимым с синтаксисом MATLAB (см. Совместимость с MATLAB GNU Octave ).

Среди других языков, которые рассматривают массивы как базовые объекты (языки программирования массивов), являются:

Существуют также библиотеки для добавления аналогичных функций к существующим языкам, например:

История выпуска

Версия[54]Название выпускаЧислоВ комплекте JVMГодДата выходаПримечания
MATLAB 1.01984
MATLAB 21986
MATLAB 31987
MATLAB 3.51990Запускать на ДОС но нужен как минимум 386 процессор; требуется версия 3.5м математический сопроцессор
MATLAB 41992Запускать на Windows 3.1x и Macintosh
MATLAB 4.2c1994Работал в Windows 3.1x, требовался математический сопроцессор
MATLAB 5.0Том 81996Декабрь 1996 г.Единые выпуски для всех платформ
MATLAB 5.1Том 91997Май 1997
MATLAB 5.1.1R9.1
MATLAB 5.2R101998Март 1998 г.Последняя версия работает на классических Mac
MATLAB 5.2.1R10.1
MATLAB 5.3R111999Январь 1999
MATLAB 5.3.1R11.1Ноябрь 1999
MATLAB 6.0R12121.1.82000Ноябрь 2000 г.Первый выпуск со встроенной виртуальной машиной Java (JVM)
MATLAB 6.1R12.11.3.02001Июнь 2001 г.Последний выпуск для Windows 95
MATLAB 6.5R13131.3.12002Июль 2002 г.
MATLAB 6.5.1R13SP12003
MATLAB 6.5.2R13SP2Последний выпуск для Windows 98, Windows ME, IBM / AIX, Alpha / TRU64 и SGI / IRIX[55]
MATLAB 7R14141.4.22004Июнь 2004 г.Введены анонимные и вложенные функции[56]

Повторно представлен для Mac (в Mac OS X)

MATLAB 7.0.1R14SP1Октябрь 2004 г.
MATLAB 7.0.4R14SP21.5.020057 марта 2005 г.Поддержка файлов с отображением памяти[57]
MATLAB 7.1R14SP31.5.01 сентября 2005 г.Первая 64-битная версия доступна для 64-битной Windows XP
MATLAB 7.2R2006a151.5.020061 марта 2006 г.
MATLAB 7.3R2006b161.5.01 сентября 2006 г.HDF5 -на основе MAT-файлов
MATLAB 7.4R2007a171.5.0_0720071 марта 2007 г.Новый bsxfun функция для поэлементной бинарной операции с включенным расширением синглтона[58]
MATLAB 7.5R2007b181.6.01 сентября 2007 г.Последний выпуск для Windows 2000 и PowerPC Mac; Поддержка сервера лицензий для Windows Vista;[59] новый внутренний формат для P-кода
MATLAB 7.6R2008a191.6.020081 марта 2008 г.Значительные улучшения возможностей объектно-ориентированного программирования с новым синтаксисом определения класса,[60] и возможность управлять пространствами имен с помощью пакетов[61]
MATLAB 7.7R2008b201.6.0_049 октября 2008 г.Последний выпуск для процессоров без SSE2. Новая структура данных карты:[62] обновления до генераторов случайных чисел[63]
MATLAB 7.8R2009a211.6.0_0420096 марта 2009 г.Первый выпуск для 32-битной и 64-битной Microsoft Windows 7, новый внешний интерфейс для .NET Framework[64]
MATLAB 7.9R2009b221.6.0_124 сентября 2009 г.Первый выпуск для Intel 64-битный Mac, и последний для Солярис SPARC; новое использование оператора тильды (~) игнорировать аргументы в вызовах функций[65][66]
MATLAB 7.9.1R2009bSP11.6.0_1220101 апреля 2010 г.исправление ошибок.
MATLAB 7.10R2010a231.6.0_125 марта 2010 г.Последний выпуск для 32-битный Intel Mac
MATLAB 7.11R2010b241.6.0_173 сентября 2010 г.Добавить поддержку перечислений[67]
MATLAB 7.11.1R2010bSP11.6.0_17201117 марта 2011 г.исправления ошибок и обновления
MATLAB 7.11.2R2010bSP21.6.0_175 апреля 2012 г.[68]исправление ошибок
MATLAB 7.12R2011a251.6.0_178 апреля 2011 г.Новый rng функция для управления генерацией случайных чисел[69][70][71]
MATLAB 7.13R2011b261.6.0_171 сентября 2011 г.Доступ-изменение частей переменных прямо в MAT-файлах, без загрузки в память;[72] увеличено максимальное количество локальных рабочих с Parallel Computing Toolbox с 8 до 12[73]
MATLAB 7.14R2012a271.6.0_1720121 марта 2012 г.Последняя версия с поддержкой 32-битного Linux.[74]
MATLAB 8R2012b281.6.0_1711 сентября 2012 г.Первый выпуск с Панель инструментов интерфейс;[75] MATLAB Apps.[76] переработанная система документации
MATLAB 8.1R2013a291.6.0_1720137 марта 2013 г.Новый модульное тестирование рамки[77]
MATLAB 8.2R2013b301.7.0_116 сентября 2013 г.[78]Встроенная среда выполнения Java (JRE) обновлена ​​до версии 7;[79] Новый тип данных таблицы[80]
MATLAB 8.3R2014a311.7.0_1120147 марта 2014 г.[81]Упрощенная настройка компилятора для построения MEX-файлов; Поддержка веб-камер USB в ядре MATLAB; количество местных рабочих больше не ограничивается 12 с Parallel Computing Toolbox
MATLAB 8.4R2014b321.7.0_113 октября 2014 г.Новый графический движок на основе классов (он же HG2);[82] функция табуляции в графическом интерфейсе;[83] улучшенная упаковка пользовательского инструментария и файлы справки;[84] новые объекты для манипуляций временем и датой;[85] Git -Subversion интеграция в IDE;[86] большое количество данных способности с Уменьшение карты (масштабируется до Hadoop );[87] новый ру пакет для использования Python изнутри MATLAB,[88] новый интерфейс движка для вызова MATLAB из Python;[89] несколько новых и улучшенных функций: читать в Интернете (Веб-сервисы RESTful с поддержкой JSON / XML), tcpclient (соединения на основе сокетов), истории, гистограмма, анимированная линия, и другие
MATLAB 8.5R2015a331.7.0_6020155 марта 2015 г.
MATLAB 8.5R2015aSP11.7.0_6014 октября 2015 г.Последний выпуск с поддержкой Windows XP и Windows Vista
MATLAB 8.6R2015b341.7.0_603 сентября 2015 г.Новый механизм исполнения MATLAB (он же LXE);[90] график и диграф классы для работы с графами и сетями;[91] MinGW-w64 как поддерживаемый компилятор в Windows;[92] Последняя версия с 32-битной поддержкой
MATLAB 9.0R2016a351.7.0_6020163 марта 2016 г.Live Scripts: интерактивные документы, сочетающие текст, код и вывод (в стиле Грамотное программирование );[93] App Designer: новая среда разработки для создания приложений (с новыми типами фигур, осей и компонентов пользовательского интерфейса);[94] приостановить выполнение запущенных программ с помощью кнопки паузы
MATLAB 9.1R2016b361.7.0_6015 сентября 2016 г.определять локальные функции в скриптах;[95] автоматическое расширение размеров (ранее предоставлялось посредством явного вызова bsxfun); высокий массивы для Большое количество данных;[96] новый нить тип;[97] новые функции для кодирования / декодирования JSON;[98] официальный MATLAB Engine API для Java[49]
MATLAB 9.2R2017a371.7.0_6020179 марта 2017 г.MATLAB Online: облачный рабочий стол MATLAB, доступ к которому осуществляется через веб-браузер;[99] строки в двойных кавычках; новый запоминать функция для Мемоизация; расширенная проверка свойств объекта;[100] насмешливый фреймворк для модульного тестирования;[101] MEX по умолчанию нацелен на 64-разрядную версию; новый Тепловая карта функция для создания диаграммы интенсивности[102]
MATLAB 9.3R2017b381.8.0_12121 сентября 2017 г.
MATLAB 9.4R2018a391.8.0_144201815 марта 2018 г.[103]
MATLAB 9.5R2018b401.8.0_15212 сентября 2018 г.
MATLAB 9.6R2019a411.8.0_181201920 марта 2019 г.,MATLAB Проекты.
MATLAB 9.7R2019b421.8.0_20211 сентября 2019 г.,Введение блока 'arguments' для проверки ввода и включение точечной индексации в выходных данных функции
MATLAB 9.8R2020a202019 марта 2020 г.Удаление Mupad, улучшенная поддержка процессоров AMD (AVX2)[104]
MATLAB 9.9R2020b17 сентября 2020 г.Улучшенная поддержка процессоров AMD (AVX2).[104]

Номер (или номер выпуска) - это версия, которую сообщает программа Concurrent License Manager. FLEXlm.

Для получения полного списка изменений как MATLAB, так и официальных наборов инструментов, обратитесь к примечаниям к выпуску MATLAB.[105]

Смотрите также

Примечания

  1. ^ "L-образная мембрана". MathWorks. 2003 г.. Получено 7 февраля, 2014.
  2. ^ «Системные требования и доступность платформы». MathWorks. Получено 14 августа, 2013.
  3. ^ «Защитите свой исходный код». MathWorks. Получено 1 ноября, 2019.
  4. ^ «Совместимость платформы MEX». MathWorks. Получено 1 ноября, 2019.
  5. ^ "Версии MAT-файла". MathWorks. Получено 1 ноября, 2019.
  6. ^ «Сохранить рисунок, чтобы снова открыть его в MATLAB позже». MathWorks. Получено 1 ноября, 2019.
  7. ^ «Формат файла Live Code (.mlx)». MathWorks. Получено 1 ноября, 2019.
  8. ^ "MATLAB App Designer". MathWorks. Получено 1 ноября, 2019.
  9. ^ «Распространение Toolbox». MathWorks. Получено 1 ноября, 2019.
  10. ^ "Файл установщика приложения MATLAB". MathWorks. Получено 1 ноября, 2019.
  11. ^ «Установка пакета поддержки». MathWorks. Получено 1 ноября, 2019.
  12. ^ "Интервью с CLEVE MOLER, проведенное Томасом Хэем 8 и 9 марта 2004 г., Санта-Барбара, Калифорния" (PDF). Музей истории компьютеров. Архивировано из оригинал (PDF) 27 декабря 2014 г.. Получено 6 декабря, 2016. Итак, APL, Speakeasy, LINPACK, EISPACK и PL0 были предшественниками MATLAB.
  13. ^ Безансон, Джефф; Карпинский, Стефан; Шах, Вирал; Эдельман, Алан (14 февраля 2012 г.). "Почему мы создали Юлию". Джулия Язык. Получено 1 декабря, 2016.
  14. ^ Итон, Джон У. (21 мая 2001 г.). «Октава: прошлое, настоящее и будущее» (PDF). Консорциум моделирования и управления Техас-Висконсин. Архивировано из оригинал (PDF) 9 августа 2017 г.. Получено 1 декабря, 2016.
  15. ^ "История". Scilab. Архивировано из оригинал 1 декабря 2016 г.. Получено 1 декабря, 2016.
  16. ^ С.М. Крупа: INTLAB - INTerval LABoratory. Тибор Чендес, редактор журнала «Развитие надежных вычислений», стр. 77–104. Kluwer Academic Publishers, Дордрехт, 1999.
  17. ^ Мур, Р. Э., Кирфотт, Р. Б., и Клауд, М. Дж. (2009). Введение в интервальный анализ. Общество промышленной и прикладной математики.
  18. ^ Рэмп, С. М. (2010). Методы проверки: точные результаты с использованием арифметики с плавающей запятой. Acta Numerica, 19, 287–449.
  19. ^ Харгривз, Г. И. (2002). Интервальный анализ в MATLAB. Численные алгоритмы, (2009.1).
  20. ^ The MathWorks (февраль 2020 г.). «Обзор компании» (PDF).
  21. ^ а б Клив Молер (декабрь 2004 г.). «Истоки MATLAB». Получено 15 апреля, 2007.
  22. ^ "Язык программирования MATLAB". Справочник Altius. Архивировано из оригинал 3 января 2017 г.. Получено 17 декабря, 2010.
  23. ^ Молер, Клив (январь 2000 г.). "MATLAB включает LAPACK". Клевский уголок. MathWorks. Получено 20 декабря, 2008.
  24. ^ "Документация MATLAB". MathWorks. Получено 14 августа, 2013.
  25. ^ «Сравнение MATLAB с другими языками OO». MATLAB. MathWorks. Получено 14 августа, 2013.
  26. ^ «Создать символьные переменные и выражения». Набор инструментов для символьной математики. MathWorks. Получено 14 августа, 2013.
  27. ^ «Матричное индексирование». MathWorks. Получено 14 августа, 2013.
  28. ^ «Структуры». MathWorks. Получено 14 августа, 2013.
  29. ^ «Сгенерировать имена полей из переменных». MathWorks. Получено 14 августа, 2013.
  30. ^ "Чувствительность к корпусу и пространству". MathWorks. Получено 1 ноября, 2019.
  31. ^ «Ручки функций». MathWorks. Получено 14 августа, 2013.
  32. ^ «Анонимные функции». MathWorks. Получено 14 августа, 2013.
  33. ^ «Вложенные функции». MathWorks.
  34. ^ "Объектно-ориентированного программирования". MathWorks. Получено 14 августа, 2013.
  35. ^ «Сравнение классов дескрипторов и значений». MathWorks.
  36. ^ "MATLAB GUI". MathWorks. 30 апреля 2011 г.. Получено 14 августа, 2013.
  37. ^ "Создать простой GUIDE GUI". MathWorks. Получено 14 августа, 2014.
  38. ^ "MATLAB App Designer". MathWorks. Получено 1 ноября, 2019.
  39. ^ "Интерфейсы прикладного программирования к MATLAB". MathWorks. Получено 14 августа, 2013.
  40. ^ "Создать MEX-файлы". MathWorks. Получено 14 августа, 2013.
  41. ^ Спилман, Дэн (10 февраля 2004 г.). «Соединение C и Matlab». Йельский университет, факультет компьютерных наук. Получено 20 мая, 2008.
  42. ^ "MATLAB Engine для Python". MathWorks. Получено 13 июня, 2015.
  43. ^ "Вызов библиотек Python". MathWorks. Получено 13 июня, 2015.
  44. ^ «Интерфейсы внешнего языка программирования». MathWorks. Получено 14 августа, 2013.
  45. ^ "Вызов сценария Perl, используя соответствующий исполняемый файл операционной системы". MathWorks. Получено 7 ноября, 2013.
  46. ^ "MATLAB Builder JA". MathWorks. Получено 7 июня, 2010.
  47. ^ Альтман, Яир (14 апреля 2010 г.). "Интерфейс Java-to-Matlab". Недокументированный Matlab. Получено 7 июня, 2010.
  48. ^ Каплан, Джошуа. "matlabcontrol JMI".
  49. ^ а б "MATLAB Engine API для Java". MathWorks. Получено 15 сентября, 2016.
  50. ^ Germundsson, Роджер (30 сентября 1998 г.). «MaMa: вызов MATLAB из Mathematica с помощью MathLink». Wolfram Research. Архив библиотеки Wolfram.
  51. ^ rsmenon; сжорват (2013). «MATLink: общайтесь с MATLAB от Mathematica». Получено 14 августа, 2013.
  52. ^ Вайцель, Майкл (1 сентября 2006 г.). «Импорт / экспорт MathML». MathWorks - Обмен файлами. Получено 14 августа, 2013.
  53. ^ «Военный запрет США лишает два китайских университета доступа к популярному программному обеспечению». Южно-Китайская утренняя почта. 12 июня 2020 г.. Получено 6 ноября, 2020.
  54. ^ Молер, Клив (январь 2006 г.). «Развитие MATLAB и MathWorks за два десятилетия». Новости и заметки Информационный бюллетень. MathWorks. Получено 14 августа, 2013.
  55. ^ «Системные требования MATLAB - версия 13». MathWorks. Получено 6 октября, 2015.
  56. ^ «Создание динамической функции с анонимными и вложенными функциями». MathWorks. Получено 15 января, 2016.
  57. ^ «Отображение памяти». MathWorks. Получено 22 января, 2014.
  58. ^ "MATLAB bsxfun". MathWorks. Получено 22 января, 2014.
  59. ^ «Версии MATLAB до R2007a работают под Windows Vista?». MathWorks. 3 сентября 2010 г.. Получено 8 февраля, 2011.
  60. ^ «Совместимость ООП с предыдущими версиями». MathWorks. Получено Одиннадцатое марта, 2013.
  61. ^ «Пакеты создают пространства имен». MathWorks. Получено 22 января, 2014.
  62. ^ «Контейнеры карты». MathWorks. Получено 22 января, 2014.
  63. ^ «Создание и управление потоком случайных чисел». MathWorks. Получено 22 января, 2014.
  64. ^ «Новые функции внешнего интерфейса MATLAB в R2009a». MathWorks. Получено 22 января, 2014.
  65. ^ «Игнорировать функциональные выходы». MathWorks. Получено 22 января, 2014.
  66. ^ «Игнорировать ввод функций». MathWorks. Получено 22 января, 2014.
  67. ^ «Работа с перечислениями». MathWorks. Получено 22 января, 2014.
  68. ^ «Что нового в версии 2010b». MathWorks. Получено 22 января, 2014.
  69. ^ «Новая функция ГСЧ для управления генерацией случайных чисел в версии 2011a». MathWorks. Получено 22 января, 2014.
  70. ^ "MATLAB rng". MathWorks. Получено 22 января, 2014.
  71. ^ «Заменить нерекомендуемые синтаксисы rand и randn». MathWorks. Получено 22 января, 2014.
  72. ^ "MATLAB matfile". MathWorks. Получено 22 января, 2014.
  73. ^ "MATLAB max рабочие". Получено 22 января, 2014.
  74. ^ Группа поддержки MathWorks (4 июня 2015 г.). "Поддерживается ли MATLAB в 32-битном Linux?". Версии MATLAB до R2012a полностью поддерживаются в 32-битном Linux. После R2012a MATLAB больше не поддерживается в 32-битном Linux.
  75. ^ Шур, Лорен (сентябрь 2012 г.). "Рабочий стол MATLAB R2012b - Часть 1: Введение в панель инструментов".
  76. ^ «Приложения MATLAB». MathWorks. Получено 14 августа, 2013.
  77. ^ «Среда модульного тестирования MATLAB». MathWorks. Получено 14 августа, 2013.
  78. ^ «MathWorks объявляет о выпуске 2013b семейств продуктов MATLAB и Simulink». MathWorks. Сентябрь 2013.
  79. ^ «Примечания к выпуску R2013b». MathWorks. Получено 17 сентября, 2018.
  80. ^ "Таблицы MATLAB". MathWorks. Получено 14 сентября, 2013.
  81. ^ «MathWorks объявляет о выпуске 2014a семейств продуктов MATLAB и Simulink». MathWorks. Получено Одиннадцатое марта, 2014.
  82. ^ «Графические изменения в R2014b». MathWorks. Получено 3 октября, 2014.
  83. ^ "uitab: Создать панель с вкладками". MathWorks. Получено 3 октября, 2014.
  84. ^ «Создавайте наборы инструментов и делитесь ими». MathWorks. Получено 3 октября, 2014.
  85. ^ «Даты и время». MathWorks. Получено 3 октября, 2014.
  86. ^ «Интеграция системы управления версиями». MathWorks. Получено 3 октября, 2014.
  87. ^ «MATLAB MapReduce и Hadoop». MathWorks. Получено 3 октября, 2014.
  88. ^ "Вызов библиотек Python". MathWorks. Получено 3 октября, 2014.
  89. ^ "MATLAB Engine для Python". MathWorks. Получено 3 октября, 2014.
  90. ^ "Механизм выполнения MATLAB". MathWorks. Получено 15 сентября, 2016.
  91. ^ «Графические и сетевые алгоритмы». MathWorks. Получено 15 сентября, 2016.
  92. ^ "Установить компилятор MinGW-w64". MathWorks. Получено 15 сентября, 2016.
  93. ^ "Что такое Live Script?". MathWorks. Получено 15 сентября, 2016.
  94. ^ "MATLAB App Designer". MathWorks. Получено 15 сентября, 2016.
  95. ^ «Добавить функции в скрипты». MathWorks. Получено 15 сентября, 2016.
  96. ^ "Высокие массивы". MathWorks. Получено 15 сентября, 2016.
  97. ^ «Создать массивы строк». MathWorks. Получено 15 сентября, 2016.
  98. ^ «Формат JSON - MATLAB и Simulink». mathworks.com. Получено 20 августа, 2017.
  99. ^ "MATLAB Online". MathWorks. Получено 10 апреля, 2017.
  100. ^ «Проверить значения свойств». MathWorks. Получено 10 апреля, 2017.
  101. ^ "Mocking Framework". MathWorks. Получено 10 апреля, 2017.
  102. ^ «Создать тепловую карту из табличных данных». MathWorks. Получено 10 апреля, 2017.
  103. ^ «MathWorks объявляет о выпуске 2018a семейств продуктов MATLAB и Simulink». MathWorks. Получено 5 апреля, 2018.
  104. ^ а б «Больше не калек: Matlab теперь работает на процессорах AMD на полной скорости - ExtremeTech». www.extremetech.com. Получено 29 октября, 2020.
  105. ^ "Примечания к выпуску MATLAB". MathWorks. Получено 25 января, 2014.

Рекомендации

  • Гилат, Амос (2004). MATLAB: Введение в приложения, 2-е издание. Джон Вили и сыновья. ISBN  978-0-471-69420-5.
  • Quarteroni, Alfio; Салери, Фаусто (2006). Научные вычисления с MATLAB и Octave. Springer. ISBN  978-3-540-32612-0.
  • Феррейра, А.Дж.М. (2009). Коды MATLAB для конечно-элементного анализа. Springer. ISBN  978-1-4020-9199-5.
  • Линч, Стивен (2004). Динамические системы с приложениями с использованием MATLAB. Birkhäuser. ISBN  978-0-8176-4321-8.

внешняя ссылка