MATLAB - Википедия - MATLAB
L-образный мембранный логотип[1] | |
MATLAB R2015b работает в Windows 10 | |
Разработчики) | MathWorks |
---|---|
изначальный выпуск | 1984 |
Стабильный выпуск | R2020b / 17 сентября 2020 г. |
Написано в | C /C ++, MATLAB |
Операционная система | Windows, macOS, и Linux[2] |
Платформа | IA-32, x86-64 |
Тип | Численные вычисления |
Лицензия | Проприетарный коммерческое программное обеспечение |
Интернет сайт | mathworks.com |
Парадигма | мультипарадигма: функциональный, императив, процедурный, объектно-ориентированный, множество |
---|---|
Разработано | Клив Молер |
Разработчик | MathWorks |
Впервые появился | конец 1970-х |
Стабильный выпуск | 9.9 (R2020b) / 17 сентября 2020 г. |
Печатная дисциплина | динамичный, слабый |
Расширения имени файла | .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*число Пи;у = грех(Икс);участок(Икс,у)
дает следующий рисунок функция синуса:
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 поддерживает разработку графический интерфейс пользователя (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 ).
Среди других языков, которые рассматривают массивы как базовые объекты (языки программирования массивов), являются:
Существуют также библиотеки для добавления аналогичных функций к существующим языкам, например:
- NumPy /SciPy /matplotlib за Python
- Язык данных Perl за Perl
- SciLua /Факел за Lua
- SciRuby для Рубин
- IT ++ за C ++
- ILNumerics за .СЕТЬ
- Numeric.js для JavaScript
История выпуска
Версия[54] | Название выпуска | Число | В комплекте JVM | Год | Дата выхода | Примечания |
---|---|---|---|---|---|---|
MATLAB 1.0 | 1984 | |||||
MATLAB 2 | 1986 | |||||
MATLAB 3 | 1987 | |||||
MATLAB 3.5 | 1990 | Запускать на ДОС но нужен как минимум 386 процессор; требуется версия 3.5м математический сопроцессор | ||||
MATLAB 4 | 1992 | Запускать на Windows 3.1x и Macintosh | ||||
MATLAB 4.2c | 1994 | Работал в Windows 3.1x, требовался математический сопроцессор | ||||
MATLAB 5.0 | Том 8 | 1996 | Декабрь 1996 г. | Единые выпуски для всех платформ | ||
MATLAB 5.1 | Том 9 | 1997 | Май 1997 | |||
MATLAB 5.1.1 | R9.1 | |||||
MATLAB 5.2 | R10 | 1998 | Март 1998 г. | Последняя версия работает на классических Mac | ||
MATLAB 5.2.1 | R10.1 | |||||
MATLAB 5.3 | R11 | 1999 | Январь 1999 | |||
MATLAB 5.3.1 | R11.1 | Ноябрь 1999 | ||||
MATLAB 6.0 | R12 | 12 | 1.1.8 | 2000 | Ноябрь 2000 г. | Первый выпуск со встроенной виртуальной машиной Java (JVM) |
MATLAB 6.1 | R12.1 | 1.3.0 | 2001 | Июнь 2001 г. | Последний выпуск для Windows 95 | |
MATLAB 6.5 | R13 | 13 | 1.3.1 | 2002 | Июль 2002 г. | |
MATLAB 6.5.1 | R13SP1 | 2003 | ||||
MATLAB 6.5.2 | R13SP2 | Последний выпуск для Windows 98, Windows ME, IBM / AIX, Alpha / TRU64 и SGI / IRIX[55] | ||||
MATLAB 7 | R14 | 14 | 1.4.2 | 2004 | Июнь 2004 г. | Введены анонимные и вложенные функции[56] Повторно представлен для Mac (в Mac OS X) |
MATLAB 7.0.1 | R14SP1 | Октябрь 2004 г. | ||||
MATLAB 7.0.4 | R14SP2 | 1.5.0 | 2005 | 7 марта 2005 г. | Поддержка файлов с отображением памяти[57] | |
MATLAB 7.1 | R14SP3 | 1.5.0 | 1 сентября 2005 г. | Первая 64-битная версия доступна для 64-битной Windows XP | ||
MATLAB 7.2 | R2006a | 15 | 1.5.0 | 2006 | 1 марта 2006 г. | |
MATLAB 7.3 | R2006b | 16 | 1.5.0 | 1 сентября 2006 г. | HDF5 -на основе MAT-файлов | |
MATLAB 7.4 | R2007a | 17 | 1.5.0_07 | 2007 | 1 марта 2007 г. | Новый bsxfun функция для поэлементной бинарной операции с включенным расширением синглтона[58] |
MATLAB 7.5 | R2007b | 18 | 1.6.0 | 1 сентября 2007 г. | Последний выпуск для Windows 2000 и PowerPC Mac; Поддержка сервера лицензий для Windows Vista;[59] новый внутренний формат для P-кода | |
MATLAB 7.6 | R2008a | 19 | 1.6.0 | 2008 | 1 марта 2008 г. | Значительные улучшения возможностей объектно-ориентированного программирования с новым синтаксисом определения класса,[60] и возможность управлять пространствами имен с помощью пакетов[61] |
MATLAB 7.7 | R2008b | 20 | 1.6.0_04 | 9 октября 2008 г. | Последний выпуск для процессоров без SSE2. Новая структура данных карты:[62] обновления до генераторов случайных чисел[63] | |
MATLAB 7.8 | R2009a | 21 | 1.6.0_04 | 2009 | 6 марта 2009 г. | Первый выпуск для 32-битной и 64-битной Microsoft Windows 7, новый внешний интерфейс для .NET Framework[64] |
MATLAB 7.9 | R2009b | 22 | 1.6.0_12 | 4 сентября 2009 г. | Первый выпуск для Intel 64-битный Mac, и последний для Солярис SPARC; новое использование оператора тильды (~ ) игнорировать аргументы в вызовах функций[65][66] | |
MATLAB 7.9.1 | R2009bSP1 | 1.6.0_12 | 2010 | 1 апреля 2010 г. | исправление ошибок. | |
MATLAB 7.10 | R2010a | 23 | 1.6.0_12 | 5 марта 2010 г. | Последний выпуск для 32-битный Intel Mac | |
MATLAB 7.11 | R2010b | 24 | 1.6.0_17 | 3 сентября 2010 г. | Добавить поддержку перечислений[67] | |
MATLAB 7.11.1 | R2010bSP1 | 1.6.0_17 | 2011 | 17 марта 2011 г. | исправления ошибок и обновления | |
MATLAB 7.11.2 | R2010bSP2 | 1.6.0_17 | 5 апреля 2012 г.[68] | исправление ошибок | ||
MATLAB 7.12 | R2011a | 25 | 1.6.0_17 | 8 апреля 2011 г. | Новый rng функция для управления генерацией случайных чисел[69][70][71] | |
MATLAB 7.13 | R2011b | 26 | 1.6.0_17 | 1 сентября 2011 г. | Доступ-изменение частей переменных прямо в MAT-файлах, без загрузки в память;[72] увеличено максимальное количество локальных рабочих с Parallel Computing Toolbox с 8 до 12[73] | |
MATLAB 7.14 | R2012a | 27 | 1.6.0_17 | 2012 | 1 марта 2012 г. | Последняя версия с поддержкой 32-битного Linux.[74] |
MATLAB 8 | R2012b | 28 | 1.6.0_17 | 11 сентября 2012 г. | Первый выпуск с Панель инструментов интерфейс;[75] MATLAB Apps.[76] переработанная система документации | |
MATLAB 8.1 | R2013a | 29 | 1.6.0_17 | 2013 | 7 марта 2013 г. | Новый модульное тестирование рамки[77] |
MATLAB 8.2 | R2013b | 30 | 1.7.0_11 | 6 сентября 2013 г.[78] | Встроенная среда выполнения Java (JRE) обновлена до версии 7;[79] Новый тип данных таблицы[80] | |
MATLAB 8.3 | R2014a | 31 | 1.7.0_11 | 2014 | 7 марта 2014 г.[81] | Упрощенная настройка компилятора для построения MEX-файлов; Поддержка веб-камер USB в ядре MATLAB; количество местных рабочих больше не ограничивается 12 с Parallel Computing Toolbox |
MATLAB 8.4 | R2014b | 32 | 1.7.0_11 | 3 октября 2014 г. | Новый графический движок на основе классов (он же HG2);[82] функция табуляции в графическом интерфейсе;[83] улучшенная упаковка пользовательского инструментария и файлы справки;[84] новые объекты для манипуляций временем и датой;[85] Git -Subversion интеграция в IDE;[86] большое количество данных способности с Уменьшение карты (масштабируется до Hadoop );[87] новый ру пакет для использования Python изнутри MATLAB,[88] новый интерфейс движка для вызова MATLAB из Python;[89] несколько новых и улучшенных функций: читать в Интернете (Веб-сервисы RESTful с поддержкой JSON / XML), tcpclient (соединения на основе сокетов), истории , гистограмма , анимированная линия , и другие | |
MATLAB 8.5 | R2015a | 33 | 1.7.0_60 | 2015 | 5 марта 2015 г. | |
MATLAB 8.5 | R2015aSP1 | 1.7.0_60 | 14 октября 2015 г. | Последний выпуск с поддержкой Windows XP и Windows Vista | ||
MATLAB 8.6 | R2015b | 34 | 1.7.0_60 | 3 сентября 2015 г. | Новый механизм исполнения MATLAB (он же LXE);[90] график и диграф классы для работы с графами и сетями;[91] MinGW-w64 как поддерживаемый компилятор в Windows;[92] Последняя версия с 32-битной поддержкой | |
MATLAB 9.0 | R2016a | 35 | 1.7.0_60 | 2016 | 3 марта 2016 г. | Live Scripts: интерактивные документы, сочетающие текст, код и вывод (в стиле Грамотное программирование );[93] App Designer: новая среда разработки для создания приложений (с новыми типами фигур, осей и компонентов пользовательского интерфейса);[94] приостановить выполнение запущенных программ с помощью кнопки паузы |
MATLAB 9.1 | R2016b | 36 | 1.7.0_60 | 15 сентября 2016 г. | определять локальные функции в скриптах;[95] автоматическое расширение размеров (ранее предоставлялось посредством явного вызова bsxfun ); высокий массивы для Большое количество данных;[96] новый нить тип;[97] новые функции для кодирования / декодирования JSON;[98] официальный MATLAB Engine API для Java[49] | |
MATLAB 9.2 | R2017a | 37 | 1.7.0_60 | 2017 | 9 марта 2017 г. | MATLAB Online: облачный рабочий стол MATLAB, доступ к которому осуществляется через веб-браузер;[99] строки в двойных кавычках; новый запоминать функция для Мемоизация; расширенная проверка свойств объекта;[100] насмешливый фреймворк для модульного тестирования;[101] MEX по умолчанию нацелен на 64-разрядную версию; новый Тепловая карта функция для создания диаграммы интенсивности[102] |
MATLAB 9.3 | R2017b | 38 | 1.8.0_121 | 21 сентября 2017 г. | ||
MATLAB 9.4 | R2018a | 39 | 1.8.0_144 | 2018 | 15 марта 2018 г.[103] | |
MATLAB 9.5 | R2018b | 40 | 1.8.0_152 | 12 сентября 2018 г. | ||
MATLAB 9.6 | R2019a | 41 | 1.8.0_181 | 2019 | 20 марта 2019 г., | MATLAB Проекты. |
MATLAB 9.7 | R2019b | 42 | 1.8.0_202 | 11 сентября 2019 г., | Введение блока 'arguments' для проверки ввода и включение точечной индексации в выходных данных функции | |
MATLAB 9.8 | R2020a | 2020 | 19 марта 2020 г. | Удаление Mupad, улучшенная поддержка процессоров AMD (AVX2)[104] | ||
MATLAB 9.9 | R2020b | 17 сентября 2020 г. | Улучшенная поддержка процессоров AMD (AVX2).[104] |
Номер (или номер выпуска) - это версия, которую сообщает программа Concurrent License Manager. FLEXlm.
Для получения полного списка изменений как MATLAB, так и официальных наборов инструментов, обратитесь к примечаниям к выпуску MATLAB.[105]
Смотрите также
Примечания
- ^ "L-образная мембрана". MathWorks. 2003 г.. Получено 7 февраля, 2014.
- ^ «Системные требования и доступность платформы». MathWorks. Получено 14 августа, 2013.
- ^ «Защитите свой исходный код». MathWorks. Получено 1 ноября, 2019.
- ^ «Совместимость платформы MEX». MathWorks. Получено 1 ноября, 2019.
- ^ "Версии MAT-файла". MathWorks. Получено 1 ноября, 2019.
- ^ «Сохранить рисунок, чтобы снова открыть его в MATLAB позже». MathWorks. Получено 1 ноября, 2019.
- ^ «Формат файла Live Code (.mlx)». MathWorks. Получено 1 ноября, 2019.
- ^ "MATLAB App Designer". MathWorks. Получено 1 ноября, 2019.
- ^ «Распространение Toolbox». MathWorks. Получено 1 ноября, 2019.
- ^ "Файл установщика приложения MATLAB". MathWorks. Получено 1 ноября, 2019.
- ^ «Установка пакета поддержки». MathWorks. Получено 1 ноября, 2019.
- ^ "Интервью с CLEVE MOLER, проведенное Томасом Хэем 8 и 9 марта 2004 г., Санта-Барбара, Калифорния" (PDF). Музей истории компьютеров. Архивировано из оригинал (PDF) 27 декабря 2014 г.. Получено 6 декабря, 2016.
Итак, APL, Speakeasy, LINPACK, EISPACK и PL0 были предшественниками MATLAB.
- ^ Безансон, Джефф; Карпинский, Стефан; Шах, Вирал; Эдельман, Алан (14 февраля 2012 г.). "Почему мы создали Юлию". Джулия Язык. Получено 1 декабря, 2016.
- ^ Итон, Джон У. (21 мая 2001 г.). «Октава: прошлое, настоящее и будущее» (PDF). Консорциум моделирования и управления Техас-Висконсин. Архивировано из оригинал (PDF) 9 августа 2017 г.. Получено 1 декабря, 2016.
- ^ "История". Scilab. Архивировано из оригинал 1 декабря 2016 г.. Получено 1 декабря, 2016.
- ^ С.М. Крупа: INTLAB - INTerval LABoratory. Тибор Чендес, редактор журнала «Развитие надежных вычислений», стр. 77–104. Kluwer Academic Publishers, Дордрехт, 1999.
- ^ Мур, Р. Э., Кирфотт, Р. Б., и Клауд, М. Дж. (2009). Введение в интервальный анализ. Общество промышленной и прикладной математики.
- ^ Рэмп, С. М. (2010). Методы проверки: точные результаты с использованием арифметики с плавающей запятой. Acta Numerica, 19, 287–449.
- ^ Харгривз, Г. И. (2002). Интервальный анализ в MATLAB. Численные алгоритмы, (2009.1).
- ^ The MathWorks (февраль 2020 г.). «Обзор компании» (PDF).
- ^ а б Клив Молер (декабрь 2004 г.). «Истоки MATLAB». Получено 15 апреля, 2007.
- ^ "Язык программирования MATLAB". Справочник Altius. Архивировано из оригинал 3 января 2017 г.. Получено 17 декабря, 2010.
- ^ Молер, Клив (январь 2000 г.). "MATLAB включает LAPACK". Клевский уголок. MathWorks. Получено 20 декабря, 2008.
- ^ "Документация MATLAB". MathWorks. Получено 14 августа, 2013.
- ^ «Сравнение MATLAB с другими языками OO». MATLAB. MathWorks. Получено 14 августа, 2013.
- ^ «Создать символьные переменные и выражения». Набор инструментов для символьной математики. MathWorks. Получено 14 августа, 2013.
- ^ «Матричное индексирование». MathWorks. Получено 14 августа, 2013.
- ^ «Структуры». MathWorks. Получено 14 августа, 2013.
- ^ «Сгенерировать имена полей из переменных». MathWorks. Получено 14 августа, 2013.
- ^ "Чувствительность к корпусу и пространству". MathWorks. Получено 1 ноября, 2019.
- ^ «Ручки функций». MathWorks. Получено 14 августа, 2013.
- ^ «Анонимные функции». MathWorks. Получено 14 августа, 2013.
- ^ «Вложенные функции». MathWorks.
- ^ "Объектно-ориентированного программирования". MathWorks. Получено 14 августа, 2013.
- ^ «Сравнение классов дескрипторов и значений». MathWorks.
- ^ "MATLAB GUI". MathWorks. 30 апреля 2011 г.. Получено 14 августа, 2013.
- ^ "Создать простой GUIDE GUI". MathWorks. Получено 14 августа, 2014.
- ^ "MATLAB App Designer". MathWorks. Получено 1 ноября, 2019.
- ^ "Интерфейсы прикладного программирования к MATLAB". MathWorks. Получено 14 августа, 2013.
- ^ "Создать MEX-файлы". MathWorks. Получено 14 августа, 2013.
- ^ Спилман, Дэн (10 февраля 2004 г.). «Соединение C и Matlab». Йельский университет, факультет компьютерных наук. Получено 20 мая, 2008.
- ^ "MATLAB Engine для Python". MathWorks. Получено 13 июня, 2015.
- ^ "Вызов библиотек Python". MathWorks. Получено 13 июня, 2015.
- ^ «Интерфейсы внешнего языка программирования». MathWorks. Получено 14 августа, 2013.
- ^ "Вызов сценария Perl, используя соответствующий исполняемый файл операционной системы". MathWorks. Получено 7 ноября, 2013.
- ^ "MATLAB Builder JA". MathWorks. Получено 7 июня, 2010.
- ^ Альтман, Яир (14 апреля 2010 г.). "Интерфейс Java-to-Matlab". Недокументированный Matlab. Получено 7 июня, 2010.
- ^ Каплан, Джошуа. "matlabcontrol JMI".
- ^ а б "MATLAB Engine API для Java". MathWorks. Получено 15 сентября, 2016.
- ^ Germundsson, Роджер (30 сентября 1998 г.). «MaMa: вызов MATLAB из Mathematica с помощью MathLink». Wolfram Research. Архив библиотеки Wolfram.
- ^ rsmenon; сжорват (2013). «MATLink: общайтесь с MATLAB от Mathematica». Получено 14 августа, 2013.
- ^ Вайцель, Майкл (1 сентября 2006 г.). «Импорт / экспорт MathML». MathWorks - Обмен файлами. Получено 14 августа, 2013.
- ^ «Военный запрет США лишает два китайских университета доступа к популярному программному обеспечению». Южно-Китайская утренняя почта. 12 июня 2020 г.. Получено 6 ноября, 2020.
- ^ Молер, Клив (январь 2006 г.). «Развитие MATLAB и MathWorks за два десятилетия». Новости и заметки Информационный бюллетень. MathWorks. Получено 14 августа, 2013.
- ^ «Системные требования MATLAB - версия 13». MathWorks. Получено 6 октября, 2015.
- ^ «Создание динамической функции с анонимными и вложенными функциями». MathWorks. Получено 15 января, 2016.
- ^ «Отображение памяти». MathWorks. Получено 22 января, 2014.
- ^ "MATLAB bsxfun". MathWorks. Получено 22 января, 2014.
- ^ «Версии MATLAB до R2007a работают под Windows Vista?». MathWorks. 3 сентября 2010 г.. Получено 8 февраля, 2011.
- ^ «Совместимость ООП с предыдущими версиями». MathWorks. Получено Одиннадцатое марта, 2013.
- ^ «Пакеты создают пространства имен». MathWorks. Получено 22 января, 2014.
- ^ «Контейнеры карты». MathWorks. Получено 22 января, 2014.
- ^ «Создание и управление потоком случайных чисел». MathWorks. Получено 22 января, 2014.
- ^ «Новые функции внешнего интерфейса MATLAB в R2009a». MathWorks. Получено 22 января, 2014.
- ^ «Игнорировать функциональные выходы». MathWorks. Получено 22 января, 2014.
- ^ «Игнорировать ввод функций». MathWorks. Получено 22 января, 2014.
- ^ «Работа с перечислениями». MathWorks. Получено 22 января, 2014.
- ^ «Что нового в версии 2010b». MathWorks. Получено 22 января, 2014.
- ^ «Новая функция ГСЧ для управления генерацией случайных чисел в версии 2011a». MathWorks. Получено 22 января, 2014.
- ^ "MATLAB rng". MathWorks. Получено 22 января, 2014.
- ^ «Заменить нерекомендуемые синтаксисы rand и randn». MathWorks. Получено 22 января, 2014.
- ^ "MATLAB matfile". MathWorks. Получено 22 января, 2014.
- ^ "MATLAB max рабочие". Получено 22 января, 2014.
- ^ Группа поддержки MathWorks (4 июня 2015 г.). "Поддерживается ли MATLAB в 32-битном Linux?".
Версии MATLAB до R2012a полностью поддерживаются в 32-битном Linux. После R2012a MATLAB больше не поддерживается в 32-битном Linux.
- ^ Шур, Лорен (сентябрь 2012 г.). "Рабочий стол MATLAB R2012b - Часть 1: Введение в панель инструментов".
- ^ «Приложения MATLAB». MathWorks. Получено 14 августа, 2013.
- ^ «Среда модульного тестирования MATLAB». MathWorks. Получено 14 августа, 2013.
- ^ «MathWorks объявляет о выпуске 2013b семейств продуктов MATLAB и Simulink». MathWorks. Сентябрь 2013.
- ^ «Примечания к выпуску R2013b». MathWorks. Получено 17 сентября, 2018.
- ^ "Таблицы MATLAB". MathWorks. Получено 14 сентября, 2013.
- ^ «MathWorks объявляет о выпуске 2014a семейств продуктов MATLAB и Simulink». MathWorks. Получено Одиннадцатое марта, 2014.
- ^ «Графические изменения в R2014b». MathWorks. Получено 3 октября, 2014.
- ^ "uitab: Создать панель с вкладками". MathWorks. Получено 3 октября, 2014.
- ^ «Создавайте наборы инструментов и делитесь ими». MathWorks. Получено 3 октября, 2014.
- ^ «Даты и время». MathWorks. Получено 3 октября, 2014.
- ^ «Интеграция системы управления версиями». MathWorks. Получено 3 октября, 2014.
- ^ «MATLAB MapReduce и Hadoop». MathWorks. Получено 3 октября, 2014.
- ^ "Вызов библиотек Python". MathWorks. Получено 3 октября, 2014.
- ^ "MATLAB Engine для Python". MathWorks. Получено 3 октября, 2014.
- ^ "Механизм выполнения MATLAB". MathWorks. Получено 15 сентября, 2016.
- ^ «Графические и сетевые алгоритмы». MathWorks. Получено 15 сентября, 2016.
- ^ "Установить компилятор MinGW-w64". MathWorks. Получено 15 сентября, 2016.
- ^ "Что такое Live Script?". MathWorks. Получено 15 сентября, 2016.
- ^ "MATLAB App Designer". MathWorks. Получено 15 сентября, 2016.
- ^ «Добавить функции в скрипты». MathWorks. Получено 15 сентября, 2016.
- ^ "Высокие массивы". MathWorks. Получено 15 сентября, 2016.
- ^ «Создать массивы строк». MathWorks. Получено 15 сентября, 2016.
- ^ «Формат JSON - MATLAB и Simulink». mathworks.com. Получено 20 августа, 2017.
- ^ "MATLAB Online". MathWorks. Получено 10 апреля, 2017.
- ^ «Проверить значения свойств». MathWorks. Получено 10 апреля, 2017.
- ^ "Mocking Framework". MathWorks. Получено 10 апреля, 2017.
- ^ «Создать тепловую карту из табличных данных». MathWorks. Получено 10 апреля, 2017.
- ^ «MathWorks объявляет о выпуске 2018a семейств продуктов MATLAB и Simulink». MathWorks. Получено 5 апреля, 2018.
- ^ а б «Больше не калек: Matlab теперь работает на процессорах AMD на полной скорости - ExtremeTech». www.extremetech.com. Получено 29 октября, 2020.
- ^ "Примечания к выпуску 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.