Парадигма | мультипарадигма : функциональная , императивная , процедурная , объектно-ориентированная , массив |
---|---|
Разработано | Клив Молер |
Разработчик | MathWorks |
Впервые появился | конец 1970-х |
Стабильный выпуск | 9.9 (R2020b) / 17 сентября 2020 г . |
Печатная дисциплина | динамичный , слабый |
Расширения имени файла | .m, .p, [1] .mex *, [2] .mat, [3] .fig, [4] .mlx, [5] .mlapp, [6] .mltbx, [7] .mlappinstall, [ 8] .mlpkginstall [9] |
Интернет сайт | mathworks.com |
Под влиянием | |
Под влиянием | |
|
L-образный мембранный логотип [18] | |
Разработчики) | MathWorks |
---|---|
изначальный выпуск | 1984 |
Стабильный выпуск | R2020b / 17 сентября 2020 г . |
Написано в | C / C ++ , MATLAB |
Операционная система | Windows , macOS и Linux [19] |
Платформа | IA-32 , x86-64 |
Тип | Численные вычисления |
Лицензия | Проприетарное коммерческое программное обеспечение |
Интернет сайт | mathworks.com |
MATLAB (аббревиатура от «матричная лаборатория») - это частный многопарадигмальный язык программирования и вычислительная среда, разработанная MathWorks . MATLAB позволяет манипулировать матрицами , строить графики функций и данных, реализовывать алгоритмы , создавать пользовательские интерфейсы и взаимодействовать с программами, написанными на других языках.
Хотя MATLAB предназначен в первую очередь для числовых вычислений, дополнительный набор инструментов использует символический движок MuPAD, позволяющий получить доступ к возможностям символьных вычислений . Дополнительный пакет Simulink добавляет графическое многодоменное моделирование и проектирование на основе моделей для динамических и встроенных систем .
По состоянию на 2020 год у MATLAB более 4 миллионов пользователей по всему миру. [20] Пользователи MATLAB происходят из различных областей техники , науки и экономики .
История [ править ]
Истоки [ править ]
MATLAB был изобретен математиком и программистом Кливом Молером . [21] Идея MATLAB была основана на его докторской диссертации 1960-х годов. [21] Молер стал профессором математики в Университете Нью-Мексико и начал разрабатывать MATLAB для своих студентов [21] в качестве хобби. [22] Он разработал начальное программирование линейной алгебры MATLAB в 1967 году вместе со своим бывшим руководителем диссертации Джорджем Форсайтом . [21] За этим последовал код на Фортране для линейных уравнений в 1971 г. [21]
Первая ранняя версия MATLAB была завершена в конце 1970-х годов. [21] Программное обеспечение было впервые раскрыто общественности в феврале 1979 года в Военно-морской аспирантуре в Калифорнии. [22] Ранние версии MATLAB представляли собой простой матричный калькулятор с 71 встроенной функцией. [23] В то время MATLAB распространялся бесплатно [24] [25] среди университетов. [26] Молер оставлял копии в университетах, которые он посещал, и у программного обеспечения появилось много последователей на математических факультетах университетских городков. [27] : 5
В 1980-х Клив Молер познакомился с Джоном Н. Литтлом . Они решили перепрограммировать MATLAB на C и продавать его для настольных компьютеров IBM, которые в то время заменяли мэйнфреймы. [21] Джон Литтл и программист Стив Бангерт перепрограммировали MATLAB на C, создали язык программирования MATLAB и разработали функции для наборов инструментов. [22]
Коммерческая разработка [ править ]
MATLAB был впервые выпущен в качестве коммерческого продукта в 1984 году на конференции по автоматическому управлению в Лас-Вегасе . [21] [22] MathWorks , Inc. была основана для разработки программного обеспечения [25], и был выпущен язык программирования MATLAB. [23] Первая продажа MATLAB состоялась в следующем году, когда Ник Трефетен из Массачусетского технологического института купил десять копий. [22] [28]
К концу 1980-х несколько сотен копий MATLAB были проданы университетам для использования студентами. [22] Программное обеспечение стало популярным благодаря инструментам, созданным специалистами в различных областях для выполнения специализированных математических задач. [24] Многие наборы инструментов были разработаны студентами Стэнфорда, которые использовали MATLAB в академических кругах, а затем принесли программное обеспечение с собой в частный сектор. [22]
Со временем MATLAB был переписан для ранних операционных систем, созданных Digital Equipment Corporation , VAX , Sun Microsystems , а также для ПК с Unix. [22] [23] Версия 3 была выпущена в 1987 году. [29] Первый компилятор MATLAB был разработан Стивеном Джонсоном в 1990-х годах. [23]
В 2000 году MathWorks добавила основанную на Fortran библиотеку для линейной алгебры в MATLAB 6, заменив исходные подпрограммы LINPACK и EISPACK, которые были в C. [23] MATLAB's Parallel Computing Toolbox был выпущен на конференции Supercomputing 2004 и поддерживает блоки обработки графики. (GPU) были добавлены к нему в 2010 году. [23]
Недавняя история [ править ]
Некоторые особенно большие изменения в программное обеспечение были внесены с версией 8 в 2012 году. [30] Пользовательский интерфейс был переработан [31] : 517 и расширена функциональность Simulink . [32] К 2016 году MATLAB представила несколько технических улучшений и улучшений пользовательского интерфейса, включая записную книжку MATLAB Live Editor и другие функции. [23]
Синтаксис [ править ]
Приложение MATLAB построено на языке программирования MATLAB. Общее использование приложения MATLAB включает в себя с помощью «Command Window» в интерактивной математической оболочке или выполнения текстовых файлов , содержащие коды MATLAB. [33]
Переменные [ править ]
Переменные определяются с помощью оператора присваивания =
. MATLAB - это слабо типизированный язык программирования, потому что типы неявно преобразуются. [34] Это предполагаемый типизированный язык, потому что переменные могут быть присвоены без объявления их типа, за исключением случаев, когда они должны рассматриваться как символические объекты, [35] и их тип может изменяться. Значения могут поступать из констант , из вычислений с использованием значений других переменных или из вывода функции. Например:
>> х = 17 х = 17>> x = 'шляпа' x = шляпа>> x = [ 3 * 4 , пи / 2 ] x = 12,0000 1,5708>> y = 3 * sin ( x ) y = -1,6097 3,0000
Векторы и матрицы [ править ]
Простой массив определяется с использованием синтаксиса двоеточия: терминатор начального :
приращения . Например::
>> массив = 1 : 2 : 9 массив = 1 3 5 7 9
определяет переменную с именем array
(или присваивает новое значение существующей переменной с именем array
), которая представляет собой массив, состоящий из значений 1, 3, 5, 7 и 9. То есть, массив начинается с 1 ( начальное значение) , увеличивается с каждым шагом от предыдущего значения на 2 ( значение приращения ) и останавливается, когда достигает (или почти превысит) 9 ( значение признака конца).
Приращение значение может фактически быть исключено из этого синтаксиса (наряду с одним из двоеточия), чтобы использовать значение по умолчанию 1.
>> ари = 1 : 5 ари = 1 2 3 4 5
присваивает переменной с именем ari
массив со значениями 1, 2, 3, 4 и 5, поскольку значение по умолчанию 1 используется в качестве приращения.
Индексирование основано на единице [36], что является обычным соглашением для матриц в математике, в отличие от индексации с отсчетом от нуля, обычно используемой в других языках программирования, таких как C, C ++ и Java.
Матрицы могут быть определены путем разделения элементов строки пробелом или запятой и использованием точки с запятой для завершения каждой строки. Список элементов следует заключить в квадратные скобки []
. Круглые скобки ()
используются для доступа к элементам и подмассивам (они также используются для обозначения списка аргументов функции).
>> А = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1] A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1>> A ( 2 , 3 ) ans = 11
Наборы индексов могут быть указаны с помощью таких выражений, как 2:4
, который оценивается как [2, 3, 4]
. Например, подматрицу, взятую из строк со 2 по 4 и столбцов с 3 по 4, можно записать как:
>> A ( 2 : 4 , 3 : 4 ) ans = 11 8 7 12 14 1
Квадратная единичная матрица размера n может быть сгенерирована с помощью функции eye
, а матрицы любого размера с нулями или единицами могут быть сгенерированы с помощью функций zeros
и ones
, соответственно.
>> глаз ( 3 , 3 ) ans = 1 0 0 0 1 0 0 0 1>> нули ( 2 , 3 ) ans = 0 0 0 0 0 0>> единицы ( 2 , 3 ) ans = 1 1 1 1 1 1
Транспонирование вектора или матрицы выполняется либо функцией, transpose
либо добавлением точки с простыми числами после матрицы (без точки простое число будет выполнять сопряженное транспонирование для сложных массивов):
>> А = [ 1 ; 2 ], B = . ' , C = транспонировать ( A ) A = 1 2 B = 1 2 C = 1 2 >> D = [ 0 3 ; 1 5], D. ' D = 0 3 1 5 ans = 0 1 3 5
Большинство функций принимают массивы в качестве входных данных и работают с каждым элементом поэлементно. Например, mod(2*J,n)
умножит каждый элемент в J на 2, а затем уменьшит каждый элемент по модулю n . MATLAB действительно включает стандартные for
и while
циклы, но (как и в других подобных приложениях, таких как R ), использование векторизованной нотации приветствуется и часто выполняется быстрее. Следующий код, взятый из функции magic.m , создает магический квадрат M для нечетных значений n ( meshgrid
здесь используется функция MATLAB для генерации квадратных матриц I и J, содержащих 1: n):
[ J , I ] = сетка ( 1 : n ); А = mod ( I + J - ( n + 3 ) / 2 , n ); B = mod ( I + 2 * J - 2 , n ); М = п * А + В + 1 ;
Структуры [ править ]
MATLAB поддерживает типы данных структуры. [37] Поскольку все переменные в MATLAB являются массивами, более адекватным названием будет «массив структур», где каждый элемент массива имеет одинаковые имена полей. Вдобавок MATLAB поддерживает динамические имена полей [38] (поиск полей по имени, манипуляции с полями и т. Д.).
Функции [ править ]
При создании функции MATLAB имя файла должно соответствовать имени первой функции в файле. Допустимые имена функций начинаются с буквенного символа и могут содержать буквы, цифры или символы подчеркивания. Переменные и функции чувствительны к регистру. [39]
Дескрипторы функций [ править ]
MATLAB поддерживает элементы лямбда-исчисления путем введения дескрипторов функций [40] или ссылок на функции, которые реализованы либо в файлах .m, либо в анонимных [41] / вложенных функциях. [42]
Классы и объектно-ориентированное программирование [ править ]
MATLAB поддерживает объектно-ориентированное программирование, включая классы, наследование, виртуальную отправку, пакеты, семантику передачи по значению и семантику передачи по ссылке. [43] Однако синтаксис и соглашения о вызовах значительно отличаются от других языков. MATLAB имеет классы значений и ссылочные классы, в зависимости от того, имеет ли класс дескриптор как суперкласс (для ссылочных классов) или нет (для классов значений). [44]
Поведение вызова метода различается для классов значений и ссылочных классов. Например, вызов метода:
объект . метод ();
может изменять любой член объекта, только если объект является экземпляром ссылочного класса, в противном случае методы класса значений должны возвращать новый экземпляр, если ему необходимо изменить объект.
Ниже приведен пример простого класса:
classdef Здравствуйте методы функция Приветствуйте (объект) дисп ( «Hello!» ) конец конец конец
При помещении в файл с именем hello.m это можно выполнить с помощью следующих команд:
>> х = Привет (); >> х . приветствуют (); Привет!
Графика и программирование графического пользовательского интерфейса [ править ]
MATLAB имеет тесно интегрированные функции построения графиков. Например, график функции можно использовать для построения графика из двух векторов x и y . Код:
х = 0 : пи / 100 : 2 * пи ; у = грех ( х ); сюжет ( x , y )
дает следующий рисунок синусоидальной функции :
MATLAB также поддерживает трехмерную графику:
[ X , Y ] = сетка ( - 10 : 0,25 : 10 , - 10 : 0,25 : 10 ); f = sinc ( sqrt (( X / pi ) . ^ 2 + ( Y / pi ) . ^ 2 )); сетка ( X , Y , f ); ось ([ - 10 10 - 10 10 - 0,3 1 ]) xlabel ( '{\ BFX}' ) ylabel ( '{\ bfy}' ) zlabel ( '{\ bfsinc} ({\ BFR})' ) скрыты от | [ X , Y ] = сетка ( - 10 : 0,25 : 10 , - 10 : 0,25 : 10 ); f = sinc ( sqrt (( X / pi ) . ^ 2 + ( Y / pi ) . ^ 2 )); прибой ( X , Y , f ); ось ([ - 10 10 - 10 10 - 0,3 1 ]) xlabel ( '{\ BFX}' ) ylabel ( '{\ bfy}' ) zlabel ( '{\ bfsinc} ({\ BFR})' ) | |
Этот код создает каркасный трехмерный график двумерной ненормализованной функции sinc : | Этот код создает поверхность 3D участок двумерной ненормированного синк функции : | |
MATLAB поддерживает разработку приложений с графическим пользовательским интерфейсом (GUI). [45] Пользовательские интерфейсы могут быть созданы программно или с использованием сред визуального дизайна, таких как GUIDE и App Designer . [46] [47]
Взаимодействие с другими языками [ править ]
MATLAB может вызывать функции и подпрограммы, написанные на языках программирования C или Fortran . [48] Создается функция-оболочка, позволяющая передавать и возвращать типы данных MATLAB. Файлы MEX (исполняемые файлы MATLAB) представляют собой динамически загружаемые объектные файлы, созданные путем компиляции таких функций. [49] [50] С 2014 увеличивающейся двухстороннее взаимодействие с Python был добавляется. [51] [52]
Библиотеки, написанные на Perl , Java , ActiveX или .NET, могут вызываться напрямую из MATLAB, [53] [54], и многие библиотеки MATLAB (например, поддержка XML или SQL ) реализованы как оболочки для библиотек Java или ActiveX. Вызов MATLAB из Java более сложен, но может быть выполнен с помощью набора инструментов MATLAB [55], который продается отдельно MathWorks , или с использованием недокументированного механизма под названием JMI (интерфейс Java-to-MATLAB), [56] [57] (который не следует путать с несвязанным интерфейсом метаданных Javaкоторый также называется JMI). Официальный MATLAB API для Java был добавлен в 2016 году. [58]
В качестве альтернативы Symbolic Math Toolbox на основе MuPAD, доступной в MathWorks, MATLAB может быть подключен к Maple или Mathematica . [59] [60]
Также существуют библиотеки для импорта и экспорта MathML . [61]
Выход из Китая [ править ]
В 2020 году китайские государственные СМИ сообщили, что MATLAB отозвала услуги из двух китайских университетов в результате санкций США, и заявили, что на это ответят более широкое использование альтернатив с открытым исходным кодом и разработка отечественных альтернатив. [62]
Альтернативы [ править ]
У MATLAB есть ряд конкурентов. Вот некоторые известные примеры:
- Клен
- IDL
- Wolfram Mathematica
Существуют также бесплатные альтернативы MATLAB с открытым исходным кодом , в частности:
- GNU Octave
- Scilab
- FreeMat
- Юля
- SageMath
которые в некоторой степени совместимы с языком MATLAB. GNU Octave отличается от других тем, что он стремится быть совместимым с синтаксисом MATLAB (см. Совместимость MATLAB с GNU Octave ).
Среди других языков, которые рассматривают массивы как базовые объекты (языки программирования массивов), являются:
- APL
- Fortran 90 и выше
- S-Lang , а также статистические языки R и S
Существуют также библиотеки для добавления аналогичных функций к существующим языкам, например:
- NumPy / SciPy / matplotlib для Python
- Язык данных Perl для Perl
- SciLua / Torch для Lua
- SciRuby для Ruby
- IT ++ для C ++
- ILNumerics для .NET
- Numeric.js для JavaScript
История выпусков [ править ]
Версия [63] | Название выпуска | Число | Связанная JVM | Год | Дата выхода | Примечания |
---|---|---|---|---|---|---|
MATLAB 1.0 | 1984 | |||||
MATLAB 2 | 1986 г. | |||||
MATLAB 3 | 1987 г. | |||||
MATLAB 3.5 | 1990 г. | Работает под DOS, но требуется процессор как минимум 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 [64] | ||||
MATLAB 7 | R14 | 14 | 1.4.2 | 2004 г. | Июнь 2004 г. | Введены анонимные и вложенные функции [65] Повторно представлен для Mac (в Mac OS X) |
MATLAB 7.0.1 | R14SP1 | Октябрь 2004 г. | ||||
MATLAB 7.0.4 | R14SP2 | 1.5.0 | 2005 г. | 7 марта 2005 г. | Поддержка файлов с отображением памяти [66] | |
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 г. | Поддержка MAT-файлов на основе HDF5 | |
MATLAB 7.4 | R2007a | 17 | 1.5.0_07 | 2007 г. | 1 марта 2007 г. | Новая bsxfun функция для поэлементной бинарной операции с включенным расширением singleton [67] |
MATLAB 7.5 | R2007b | 18 | 1.6.0 | 1 сентября 2007 г. | Последний выпуск для Windows 2000 и PowerPC Mac; Поддержка сервера лицензий для Windows Vista; [68] новый внутренний формат для P-кода | |
MATLAB 7.6 | R2008a | 19 | 1.6.0 | 2008 г. | 1 марта 2008 г. | Значительные улучшения возможностей объектно-ориентированного программирования с новым синтаксисом определения классов [69] и возможностью управления пространствами имен с помощью пакетов [70] |
MATLAB 7.7 | R2008b | 20 | 1.6.0_04 | 9 октября 2008 г. | Последний выпуск для процессоров без SSE2. Новая структура данных карты: [71] обновлены до генераторов случайных чисел [72] | |
MATLAB 7.8 | R2009a | 21 год | 1.6.0_04 | 2009 г. | 6 марта 2009 г. | Первый выпуск для 32-разрядной и 64-разрядной версии Microsoft Windows 7, новый внешний интерфейс для .NET Framework [73] |
MATLAB 7.9 | R2009b | 22 | 1.6.0_12 | 4 сентября 2009 г. | Первый выпуск для Intel 64-битный Mac и последний для Solaris SPARC ; новое использование оператора тильды ( ~ ) для игнорирования аргументов в вызовах функций [74] [75] | |
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 г. | Добавить поддержку перечислений [76] | |
MATLAB 7.11.1 | R2010bSP1 | 1.6.0_17 | 2011 г. | 17 марта 2011 г. | исправления ошибок и обновления | |
MATLAB 7.11.2 | R2010bSP2 | 1.6.0_17 | 5 апреля 2012 г. [77] | исправление ошибок | ||
MATLAB 7.12 | R2011a | 25 | 1.6.0_17 | 8 апреля 2011 г. | Новая rng функция для управления генерацией случайных чисел [78] [79] [80] | |
MATLAB 7.13 | R2011b | 26 | 1.6.0_17 | 1 сентября 2011 г. | Доступ-изменение частей переменных прямо в MAT-файлах, без загрузки в память; [81] увеличено максимальное количество локальных работников с Parallel Computing Toolbox с 8 до 12 [82] | |
MATLAB 7.14 | R2012a | 27 | 1.6.0_17 | 2012 г. | 1 марта 2012 г. | Последняя версия с поддержкой 32-битного Linux. [83] |
MATLAB 8 | R2012b | 28 | 1.6.0_17 | 11 сентября 2012 г. | Первый выпуск с интерфейсом Toolstrip ; [84] Приложения MATLAB. [85] переработанная система документации | |
MATLAB 8.1 | R2013a | 29 | 1.6.0_17 | 2013 | 7 марта 2013 г. | Новая среда модульного тестирования [86] |
MATLAB 8.2 | R2013b | 30 | 1.7.0_11 | 6 сентября 2013 г. [87] | Встроенная среда выполнения Java (JRE) обновлена до версии 7; [88] Новый тип данных таблицы [89] | |
MATLAB 8.3 | R2014a | 31 год | 1.7.0_11 | 2014 г. | 7 марта 2014 г. [90] | Упрощенная настройка компилятора для построения MEX-файлов; Поддержка веб-камер USB в ядре MATLAB; количество местных рабочих больше не ограничивается 12 с Parallel Computing Toolbox |
MATLAB 8.4 | R2014b | 32 | 1.7.0_11 | 3 октября 2014 г. | Новый графический движок на основе классов (он же HG2); [91] функция табуляции в графическом интерфейсе; [92] улучшена упаковка пользовательских инструментов и файлы справки; [93] новые объекты для манипуляции временем и датой; [94] Git - интеграция Subversion в IDE; [95] возможности работы с большими данными с MapReduce (масштабируется до Hadoop ); [96] новый py пакет для использования Python изнутри MATLAB, [97] новый интерфейс движка для вызова MATLAB из Python; [98] несколько новых и улучшенных функций: webread (веб-службы RESTful с поддержкой JSON / XML),tcpclient (соединения на основе сокетов), histcounts , histogram , animatedline , и другие | |
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); [99] graph и digraph классы для работы с графами и сетями; [100] MinGW-w64 как поддерживаемый компилятор в Windows; [101] Последняя версия с 32-битной поддержкой | |
MATLAB 9.0 | R2016a | 35 год | 1.7.0_60 | 2016 г. | 3 марта 2016 г. | Live Scripts: интерактивные документы, сочетающие текст, код и вывод (в стиле Literate programming ); [102] App Designer: новая среда разработки для создания приложений (с новыми видами фигур, осей и компонентов пользовательского интерфейса); [103] приостанавливать выполнение запущенных программ с помощью кнопки паузы |
MATLAB 9.1 | R2016b | 36 | 1.7.0_60 | 15 сентября 2016 г. | определять локальные функции в скриптах; [104] автоматическое расширение размеров (ранее предоставляемых через явный вызов bsxfun ); tall массивы для больших данных ; [105] новый string тип; [106] новые функции для кодирования / декодирования JSON ; [107] официальный API MATLAB Engine для Java [58] | |
MATLAB 9.2 | R2017a | 37 | 1.7.0_60 | 2017 г. | 9 марта 2017 г. | MATLAB Online: облачный рабочий стол MATLAB, доступ к которому осуществляется через веб-браузер; [108] строки в двойных кавычках; новая memoize функция мемоизации ; расширенная проверка свойств объекта; [109] макет фреймворка для модульного тестирования; [110] MEX по умолчанию нацелен на 64-битное; новая heatmap функция для создания диаграмм тепловых карт [111] |
MATLAB 9.3 | R2017b | 38 | 1.8.0_121 | 21 сентября 2017 г. | ||
MATLAB 9.4 | R2018a | 39 | 1.8.0_144 | 2018 г. | 15 марта 2018 г. [112] | |
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) [113] | ||
MATLAB 9.9 | R2020b | 17 сентября 2020 г. | Улучшенная поддержка процессоров AMD (AVX2) [113] |
Номер (или номер выпуска) - это версия, которую сообщает программа FLEXlm Concurrent License Manager .
Для получения полного списка изменений как MATLAB, так и официальных наборов инструментов обратитесь к примечаниям к выпуску MATLAB. [114]
См. Также [ править ]
- Сравнение программ численного анализа
- Список программного обеспечения для численного анализа
Примечания [ править ]
- ^ «Защитите свой исходный код» . MathWorks . Проверено 1 ноября 2019 года .
- ^ «Совместимость платформы MEX» . MathWorks . Проверено 1 ноября 2019 года .
- ^ "Версии MAT-файла" . MathWorks . Проверено 1 ноября 2019 года .
- ^ «Сохранить рисунок для повторного открытия в MATLAB позже» . MathWorks . Проверено 1 ноября 2019 года .
- ^ "Формат файла Live Code (.mlx)" . MathWorks . Проверено 1 ноября 2019 года .
- ^ "Конструктор приложений MATLAB" . 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 года .
- ^ SM Rump: INTLAB - INTerval LABoratory. Тибор Чендес, редактор журнала «Развитие надежных вычислений», стр. 77–104. Kluwer Academic Publishers, Дордрехт, 1999.
- ^ Мур, RE, Kearfott, RB, и облако, MJ (2009). Введение в интервальный анализ. Общество промышленной и прикладной математики .
- ^ Крестца, SM (2010). Методы проверки: точные результаты с использованием арифметики с плавающей запятой. Acta Numerica , 19, 287–449.
- Перейти ↑ Hargreaves, GI (2002). Интервальный анализ в MATLAB. Численные алгоритмы, (2009.1).
- ^ "L-образная мембрана" . MathWorks. 2003 . Проверено 7 февраля 2014 года .
- ^ «Системные требования и доступность платформы» . MathWorks . Проверено 14 августа 2013 года .
- ^ The MathWorks (февраль 2020 г.). «Обзор компании» (PDF) .
- ^ a b c d e f g h Chonacky, N .; Винч, Д. (2005). «Обзоры Maple, Mathematica и Matlab: скоро к публикации рядом с вами». Вычислительная техника в науке и технике . Институт инженеров по электротехнике и радиоэлектронике (IEEE). 7 (2): 9–10. DOI : 10.1109 / mcse.2005.39 . ISSN 1521-9615 .
- ^ a b c d e f g h Хей, Томас. "Клив Молер: пионер математического программного обеспечения и создатель Matlab" (PDF) . IEEE Annals of the History of Computing . Компьютерное общество IEEE.
- ^ a b c d e f g Молер, Клив; Литтл, Джек (12 июня 2020 г.). «История MATLAB». Труды ACM по языкам программирования . Ассоциация вычислительной техники (ACM). 4 (HOPL). DOI : 10.1145 / 3386331 . ISSN 2475-1421 .
- ^ a b Xue, D .; Пресса, ТУ (2020). Программирование в MATLAB: решение математических задач . De Gruyter STEM. Де Грюйтер. п. 21. ISBN 978-3-11-066370-9. Проверено 16 сентября 2020 года .
- ^ a b Press, CRC (2008). Решение прикладных математических задач с помощью MATLAB . CRC Press. п. 6. ISBN 978-1-4200-8251-7. Проверено 16 сентября 2020 года .
- ^ Вудфорд, C .; Филлипс, К. (2011). Численные методы с отработанными примерами: Matlab Edition . SpringerLink: Бюхер. Springer Нидерланды. п. 1. ISBN 978-94-007-1366-6. Проверено 16 сентября 2020 года .
- Перейти ↑ Tranquillo, JV (2011). MATLAB для инженерии и наук о жизни . Синтез электронная библиотека инженерии и информатики. Издатели Morgan & Claypool. ISBN 978-1-60845-710-6. Проверено 17 сентября 2020 года .
- ^ LoTurco, Lori (28 января 2020). «Ускорение темпов инженерии» . MIT News . Массачусетский технологический институт . Проверено 16 сентября 2020 года .
- ^ Гатто, Марино; Риццоли, Андреа (1993). «Обзор MATLAB, версия 4.0». Моделирование природных ресурсов . Вайли. 7 (1): 85–88. DOI : 10.1111 / j.1939-7445.1993.tb00141.x . ISSN 0890-8575 .
- ^ Чо, MJ; Мартинес, WL (2014). Статистика в MATLAB: A Primer . Чепмен и Холл / CRC Компьютерные науки и анализ данных. CRC Press. ISBN 978-1-4665-9657-3. Проверено 17 сентября 2020 года .
- ^ Ошибка цитирования: указанная ссылка
Bober 2013 p. 517
была вызвана, но не была определена (см. Страницу справки ). - ^ Сюэ, D .; Чен, Ю. (2013). Методы моделирования системы с помощью MATLAB и Simulink . Больше не используется. Вайли. п. 17. ISBN 978-1-118-69437-4. Проверено 15 октября, 2020 .
- ^ "Документация 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" . MathWorks . Проверено 1 ноября 2019 года .
- ^ "Интерфейсы прикладного программирования к MATLAB" . MathWorks . Проверено 14 августа 2013 года .
- ^ "Создать MEX-файлы" . MathWorks . Проверено 14 августа 2013 года .
- Перейти ↑ Spielman, Dan (10 февраля 2004 г.). «Соединение Си и 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. Архивировано из оригинала на 5 сентября 2015 года . Проверено 7 июня 2010 года .
- ^ Каплан, Джошуа. "matlabcontrol JMI" .
- ^ a b «MATLAB Engine API для Java» . MathWorks . Проверено 15 сентября 2016 года .
- ^ Germundsson, Роджер (30 сентября 1998). «MaMa: вызов MATLAB из системы Mathematica с помощью MathLink» . Wolfram Research . Архив библиотеки Wolfram.
- ^ rsmenon; сжорват (2013). «MATLink: общайтесь с MATLAB от Mathematica» . Проверено 14 августа 2013 года .
- ^ Weitzel, Майкл (1 сентября 2006). «Импорт / экспорт MathML» . MathWorks - Обмен файлами. Архивировано из оригинального 25 февраля 2011 года . Проверено 14 августа 2013 года .
- ^ «Военный запрет США запрещает доступ двух китайских университетов к популярному программному обеспечению» . Южно-Китайская утренняя почта . 12 июня 2020 . Проверено 6 ноября 2020 года .
- ^ Moler, Клив (январь 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 . Проверено 11 марта 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" . Проверено 22 января 2014 года .
- ^ Группа поддержки MathWorks (4 июня 2015 г.). "Поддерживается ли MATLAB в 32-битном Linux?" .
Версии MATLAB до R2012a полностью поддерживаются в 32-битном Linux.
После R2012a MATLAB больше не поддерживается в 32-битном Linux.
- Перейти ↑ Shure, Loren (сентябрь 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 . Проверено 11 марта 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" . 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 года .
- ^ a b «Больше не калеки: 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.
- Феррейра, AJM (2009). Коды MATLAB для конечно-элементного анализа . Springer. ISBN 978-1-4020-9199-5.
- Линч, Стивен (2004). Динамические системы с приложениями с использованием MATLAB . Birkhäuser. ISBN 978-0-8176-4321-8.
Внешние ссылки [ править ]
- Официальный веб-сайт
- MATLAB в Керли