Парадигма | мультипарадигма : функциональная , императивная , процедурная , объектно-ориентированная , массив |
---|---|
Разработано | Клив Молер |
Разработчик | MathWorks |
Впервые появился | конец 1970-х |
Стабильный выпуск | 9.10 (R2021a) / 11 марта 2021 г . |
Печатная дисциплина | динамичный , слабый |
Расширения имени файла | .m, .p, [1] .mex *, [2] .mat, [3] .fig, [4] .mlx, [5] .mlapp, [6] .mltbx, [7] .mlappinstall, [ 8] .mlpkginstall [9] |
Веб-сайт | mathworks.com |
Под влиянием | |
Под влиянием | |
|
Разработчики) | MathWorks |
---|---|
Начальная версия | 1984 |
Стабильный выпуск | R2021a / 11 марта 2021 г . |
Написано в | 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] Пользовательский интерфейс был переработан [ необходима ссылка ], а функциональность Simulink была расширена. [31] К 2016 году MATLAB представила несколько технических улучшений и улучшений пользовательского интерфейса, включая записную книжку MATLAB Live Editor и другие функции. [23]
Синтаксис [ править ]
Приложение MATLAB построено на языке программирования MATLAB. Обычное использование приложения MATLAB включает использование «Командного окна» в качестве интерактивной математической оболочки или выполнение текстовых файлов, содержащих код MATLAB. [32]
Переменные [ править ]
Переменные определяются с помощью оператора присваивания =
. MATLAB - это язык программирования со слабой типизацией, потому что типы неявно преобразуются. [33] Это предполагаемый типизированный язык, потому что переменные могут быть присвоены без объявления их типа, за исключением случаев, когда они должны рассматриваться как символьные объекты, [34] и что их тип может изменяться. Значения могут поступать из констант , из вычислений, включающих значения других переменных, или из выходных данных функции. Например:
>> х = 17 х = 17>> x = 'шляпа' x = шляпа>> x = [ 3 * 4 , пи / 2 ] х = 12,0000 1,5708>> у = 3 * грех ( х ) у = -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 ari = 1 2 3 4 5
присваивает переменной с именем ari
массив со значениями 1, 2, 3, 4 и 5, поскольку значение по умолчанию 1 используется в качестве приращения.
Индексирование основано на единице [35], что является обычным соглашением для матриц в математике, в отличие от индексирования с отсчетом от нуля, обычно используемого в других языках программирования, таких как 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 ) ans = 11
Наборы индексов можно указывать с помощью таких выражений, как 2:4
, который оценивается как [2, 3, 4]
. Например, подматрицу, взятую из строк со 2 по 4 и столбцов с 3 по 4, можно записать как:
>> А ( 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 ) А = 1 2B = 1 2 C = 1 2 >> D = [ 0 3 ; 1 5], Д. ' 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 ); A = mod ( I + J - ( n + 3 ) / 2 , n ); B = mod ( I + 2 * J - 2 , n ); М = п * А + В + 1 ;
Структуры [ править ]
MATLAB поддерживает типы данных структуры. [36] Поскольку все переменные в MATLAB являются массивами, более адекватным названием будет «массив структур», где каждый элемент массива имеет одинаковые имена полей. Кроме того, MATLAB поддерживает имена динамических полей [37] (поиск полей по имени, манипуляции с полями и т. Д.).
Функции [ править ]
При создании функции MATLAB имя файла должно совпадать с именем первой функции в файле. Допустимые имена функций начинаются с буквенного символа и могут содержать буквы, цифры или символы подчеркивания. Переменные и функции чувствительны к регистру. [38]
Дескрипторы функций [ править ]
MATLAB поддерживает элементы лямбда-исчисления , вводя дескрипторы функций [39] или ссылки на функции, которые реализованы либо в файлах .m, либо в анонимных [40] / вложенных функциях. [41]
Классы и объектно-ориентированное программирование [ править ]
MATLAB поддерживает объектно-ориентированное программирование, включая классы, наследование, виртуальную отправку, пакеты, семантику передачи по значению и семантику передачи по ссылке. [42] Однако синтаксис и соглашения о вызовах значительно отличаются от других языков. MATLAB имеет классы значений и ссылочные классы, в зависимости от того, имеет ли класс дескриптор как суперкласс (для ссылочных классов) или нет (для классов значений). [43]
Поведение вызова метода различается для классов значений и ссылочных классов. Например, вызов метода:
объект . метод ();
может изменить любой член объекта, только если объект является экземпляром ссылочного класса, в противном случае методы класса значений должны возвращать новый экземпляр, если ему необходимо изменить объект.
Ниже приведен пример простого класса:
classdef Привет методы функция приветствие ( объект ) disp ( 'Привет!' ) конец конецконец
При помещении в файл с именем 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 : | Этот код создает поверхностный трехмерный график двумерной ненормализованной функции sinc : | |
MATLAB поддерживает разработку приложений с графическим пользовательским интерфейсом (GUI). [44] Пользовательский интерфейс может быть создан программно или с использованием сред визуального дизайна, таких как GUIDE и App Designer . [45] [46]
MATLAB и другие языки [ править ]
MATLAB может вызывать функции и подпрограммы, написанные на языках программирования C или Fortran . [47] Создается функция-оболочка, позволяющая передавать и возвращать типы данных MATLAB. Файлы MEX (исполняемые файлы MATLAB) представляют собой динамически загружаемые объектные файлы, созданные путем компиляции таких функций. [48] [49] С 2014 года было добавлено увеличивающееся двустороннее взаимодействие с Python . [50] [51]
Библиотеки, написанные на Perl , Java , ActiveX или .NET, могут вызываться напрямую из MATLAB, [52] [53] и многие библиотеки MATLAB (например, поддержка XML или SQL ) реализованы как оболочки для библиотек Java или ActiveX. Вызов MATLAB из Java более сложен, но может быть выполнен с помощью набора инструментов MATLAB [54], который продается отдельно MathWorks , или с использованием недокументированного механизма под названием JMI (интерфейс Java-to-MATLAB), [55] [56] (который не следует путать с несвязанным интерфейсом метаданных Javaкоторый также называется JMI). Официальный MATLAB API для Java был добавлен в 2016 году. [57]
В качестве альтернативы Symbolic Math Toolbox на основе MuPAD, доступной в MathWorks, MATLAB может быть подключен к Maple или Mathematica . [58] [59]
Также существуют библиотеки для импорта и экспорта MathML . [60]
Хотя MATLAB является наиболее популярным программным пакетом для численных вычислений, [61] доступны и другие альтернативы, такие как язык вычислений с открытым исходным кодом GNU Octave , язык программирования статистики R , вычислительная среда Maple и язык вычислений Julia . [61] [62]
Выход из Китая [ править ]
В 2020 году китайские государственные СМИ сообщили, что MATLAB отозвала услуги из двух китайских университетов в результате санкций США, и заявили, что на это ответят более широкое использование альтернатив с открытым исходным кодом и разработка национальных альтернатив. [63]
История выпусков [ править ]
Версия [64] | Название выпуска | Число | Связанная JVM | Год | Дата выпуска | Ноты |
---|---|---|---|---|---|---|
MATLAB 1.0 | 1984 | |||||
MATLAB 2 | 1986 г. | |||||
MATLAB 3 | 1987 г. | |||||
MATLAB 3.5 | 1990 г. | Работает под DOS , но требует процессора как минимум 386 ; версия 3.5m требует математического сопроцессора . | ||||
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. [65] | ||||
MATLAB 7 | R14 | 14 | 1.4.2 | 2004 г. | Июнь 2004 г. | Введены анонимные и вложенные функции [66] Повторно введены для Mac (в Mac OS X) |
MATLAB 7.0.1 | R14SP1 | Октябрь 2004 г. | ||||
MATLAB 7.0.4 | R14SP2 | 1.5.0 | 2005 г. | 7 марта 2005 г. | Поддержка файлов с отображением памяти [67] | |
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 функция для поэлементной бинарной операции с включенным одноэлементным расширением [68] |
MATLAB 7.5 | R2007b | 18 | 1.6.0 | 1 сентября 2007 г. | Последний выпуск для Windows 2000 и PowerPC Mac. Поддержка сервера лицензий для Windows Vista. [69] Новый внутренний формат P-кода. | |
MATLAB 7.6 | R2008a | 19 | 1.6.0 | 2008 г. | 1 марта 2008 г. | Значительные улучшения возможностей объектно-ориентированного программирования с новым синтаксисом определения классов [70] и возможностью управления пространствами имен с помощью пакетов [71] |
MATLAB 7.7 | R2008b | 20 | 1.6.0_04 | 9 октября 2008 г. | Последний выпуск для процессоров без SSE2. Новая структура данных карты: [72] обновлены до генераторов случайных чисел [73] | |
MATLAB 7.8 | R2009a | 21 год | 1.6.0_04 | 2009 г. | 6 марта 2009 г. | Первый выпуск для 32- и 64-разрядной версии Windows 7. Новый внешний интерфейс к .NET Framework [74] |
MATLAB 7.9 | R2009b | 22 | 1.6.0_12 | 4 сентября 2009 г. | Первый выпуск для Intel 64-битный Mac . Последний выпуск для Solaris SPARC . Новое использование оператора тильды ( ~ ) для игнорирования аргументов в вызовах функций [75] [76] | |
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 г. | Добавить поддержку перечислений [77] | |
MATLAB 7.11.1 | R2010bSP1 | 1.6.0_17 | 2011 г. | 17 марта 2011 г. | исправления ошибок и обновления | |
MATLAB 7.11.2 | R2010bSP2 | 1.6.0_17 | 5 апреля 2012 г. [78] | исправление ошибок | ||
MATLAB 7.12 | R2011a | 25 | 1.6.0_17 | 8 апреля 2011 г. | Новая rng функция для управления генерацией случайных чисел [79] [80] [81] | |
MATLAB 7.13 | R2011b | 26 | 1.6.0_17 | 1 сентября 2011 г. | Доступ-изменение частей переменных прямо в MAT-файлах, без загрузки в память; [82] увеличено максимальное количество местных рабочих с Parallel Computing Toolbox с 8 до 12 [83] | |
MATLAB 7.14 | R2012a | 27 | 1.6.0_17 | 2012 г. | 1 марта 2012 г. | Последняя версия с поддержкой 32-битного Linux. [84] |
MATLAB 8 | R2012b | 28 год | 1.6.0_17 | 11 сентября 2012 г. | Первый выпуск с интерфейсом Toolstrip ; [85] Приложения MATLAB. [86] Переработана система документации. | |
MATLAB 8.1 | R2013a | 29 | 1.6.0_17 | 2013 | 7 марта 2013 г. | Новая среда модульного тестирования [87] |
MATLAB 8.2 | R2013b | 30 | 1.7.0_11 | 6 сентября 2013 [88] | Встроенная среда выполнения Java (JRE) обновлена до версии 7. [89] Новый тип данных таблицы [90] | |
MATLAB 8.3 | R2014a | 31 год | 1.7.0_11 | 2014 г. | 7 марта 2014 г. [91] | Поддержка веб-камеры USB в ядре MATLAB. Упрощенная настройка компилятора для построения MEX-файлов; количество местных рабочих больше не ограничивается двенадцатью с Parallel Computing Toolbox. |
MATLAB 8.4 | R2014b | 32 | 1.7.0_11 | 3 октября 2014 г. | Новый графический движок на основе классов (он же HG2); [92] функция табуляции в графическом интерфейсе; [93] улучшена упаковка пользовательских инструментов и файлы справки; [94] новые объекты для манипуляций временем и датой; [95] Git - интеграция Subversion в IDE; [96] возможности работы с большими данными с MapReduce (масштабируется до Hadoop ); [97] новый py пакет для использования Python изнутри MATLAB, [98] новый интерфейс движка для вызова MATLAB из Python; [99] несколько новых и улучшенных функций: 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 г. | Последняя версия с поддержкой 32-бит. MinGW-w64 как поддерживаемый компилятор в Windows. [100] Новый механизм выполнения MATLAB (он же LXE); [101] graph и digraph классы для работы с графами и сетями; [102] | |
MATLAB 9.0 | R2016a | 35 год | 1.7.0_60 | 2016 г. | 3 марта 2016 г. | Live Scripts: интерактивные документы, сочетающие текст, код и вывод (в стиле Literate programming ); [103] App Designer: новая среда разработки для создания приложений (с новыми типами фигур, осей и компонентов пользовательского интерфейса); [104] приостанавливать выполнение запущенных программ с помощью кнопки паузы. |
MATLAB 9.1 | R2016b | 36 | 1.7.0_60 | 15 сентября 2016 г. | Официальный API MATLAB Engine для Java. [57] Определять локальные функции в скриптах; [105] автоматическое расширение размеров (ранее предоставлялось через явный вызов bsxfun ); tall массивы для больших данных ; [106] новый string тип; [107] новые функции для кодирования / декодирования JSON ; [108] | |
MATLAB 9.2 | R2017a | 37 | 1.7.0_60 | 2017 г. | 9 марта 2017 г. | По умолчанию MEX нацелен на 64-разрядную версию. MATLAB Online: облачный рабочий стол MATLAB, доступ к которому осуществляется через веб-браузер; [109] Строки в двойных кавычках; новая memoize функция мемоизации ; расширенная проверка свойств объекта; [110] макет фреймворка для модульного тестирования; [111] Новая heatmap функция для создания диаграмм тепловых карт [112] |
MATLAB 9.3 | R2017b | 38 | 1.8.0_121 | 21 сентября 2017 г. | ||
MATLAB 9.4 | R2018a | 39 | 1.8.0_144 | 2018 г. | 15 марта 2018 г. [113] | |
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 г., | Введение блока аргументов для проверки ввода и включение точечной индексации в выходных данных функции | |
MATLAB 9.8 | R2020a | 2020 г. | 19 марта 2020 г. | Улучшена поддержка процессоров AMD (AVX2) [114] Удаление Mupad. | ||
MATLAB 9.9 | R2020b | 17 сентября 2020 г. | Улучшенная поддержка процессоров AMD (AVX2) [114] | |||
MATLAB 9.10 | R2021a | 2021 г. | 11 марта 2021 г. |
Номер (или номер выпуска) - это версия, которую сообщает программа FLEXlm Concurrent License Manager .
Для получения полного списка изменений как MATLAB, так и официальных наборов инструментов, обратитесь к примечаниям к выпуску MATLAB. [115]
См. Также [ править ]
- Сравнение программ численного анализа
- Список программного обеспечения для численного анализа
Заметки [ править ]
- ^ «Защитите свой исходный код» . 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 года .
- Перейти ↑ Eaton, John W. (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 года .
- ^ Сюэ, 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 года .
- ↑ Спилман, Дэн (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 года .
- ^ а б Попури, СК; Гобберт, МК (2017). «Сравнительная оценка Matlab, Octave, R и Julia на Maya» . Собрание факультета UMBC . DOI : 10.13016 / M2Q23R39S . Проверено 01.04.2021 . Проверить значения даты в:
|access-date=
( помощь ) - ^ Шаукат, Камран и др. «Сравнительное исследование пакетов численного анализа». Международный журнал компьютерной теории и инженерии 10.3 (2018): 67-72.
- ^ «Военный запрет США закрывает доступ к популярному программному обеспечению в двух китайских университетах» . Южно-Китайская утренняя почта . 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 . Проверено 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 года .
- ^ "Установить компилятор MinGW-w64" . MathWorks . Проверено 15 сентября 2016 года .
- ^ "MATLAB Execution Engine" . MathWorks . Проверено 15 сентября 2016 года .
- ^ «Графические и сетевые алгоритмы» . 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 в Curlie