Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВЕДЕНИЕ В КУРС.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.82 Mб
Скачать

4. Моделированиепроцессовисистем

4.1 Использованиекомпьютерныхтехнологийвматематическихвычислениях.

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

Сегмент современного рынка программного обеспечения отвечающий за математические пакеты обширен. Самые распространенные на российском рынке среди математических пакетов Mathematica,Mathcad,Matlab, Statistica.

Mathematica и Mathcad являются системами компьютерной алгебры. Statistica это специализированый программный продукт для статистического анализа. Matlab является продвинутым программным продуктом для математического моделирования.

Рассмотрим более подробно возможности Mathcad и Matlab.

    1. Mathcad

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

MathcadбылзадуманипервоначальнонаписанАлленомРаздовомизМассачусетскоготехнологическогоинститута(MIT),соучредителемкомпанииMathsoft,котораяс2006годаявляетсячастьюкорпорацииPTC(ParametricTechnologyCorporation).

Mathcadимеетинтуитивныйипростойдляиспользованияинтерфейспользователя.Длявводаформулиданныхможноиспользоватькакклавиатуру,такиспециальныепанелиинструментов.

НекоторыеизматематическихвозможностейMathcad(версиидо13.1включительно)основанынаподмножествесистемыкомпьютернойалгебрыMaple(MKM,MapleKernelMathsoft).Начинаяс14версии—используетсимвольноеядроMuPAD.

Работаосуществляетсявпределахрабочеголиста,накоторомуравненияивыраженияотображаютсяграфически,впротивовестекстовойзаписивязыкахпрограммирования.Присозданиидокументов-приложенийиспользуетсяпринципWYSIWYG(WhatYouSeeIsWhatYouGet—«чтовидишь,тоиполучаешь»).

Несмотрянато,чтоэтапрограммавосновномориентировананапользователей-непрограммистов,Mathcadтакжеиспользуетсявсложныхпроектах,чтобывизуализироватьрезультатыматематическогомоделирования,путемиспользованияраспределённыхвычисленийитрадиционныхязыковпрограммирования.ТакжеMathcadчастоиспользуетсявкрупныхинженерныхпроектах,гдебольшоезначениеимееттрассируемостьисоответствиестандартам.

Mathcadдостаточноудобноиспользоватьдляобучения,вычисленийиинженерныхрасчетов.Открытаяархитектураприложениявсочетаниисподдержкойтехнологий.NETиXMLпозволяютлегкоинтегрироватьMathcadпрактическивлюбыеИТ-структурыиинженерныеприложения.Естьвозможностьсозданияэлектронныхкниг(e-Book).[10]

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

СредивозможностейMathcadможновыделить:

  • Решениедифференциальныхуравнений,втомчислеичисленнымиметодами

  • Построениедвумерныхитрёхмерныхграфиковфункций(вразныхсистемахкоординат,контурные,векторныеит.д.)

  • Использованиегреческогоалфавитакаквуравнениях,такивтексте

  • Выполнениевычисленийвсимвольномрежиме

  • Выполнениеоперацийсвекторамииматрицами

  • Символьноерешениесистемуравнений

  • Аппроксимациякривых

  • Выполнениеподпрограмм

  • Поисккорнеймногочленовифункций

  • Проведениестатистическихрасчётовиработасраспределениемвероятностей

  • Поисксобственныхчиселивекторов

  • Вычислениясединицамиизмерения

  • ИнтеграциясСАПРсистемами,использованиерезультатоввычисленийвкачествеуправляющихпараметров

СпомощьюMathcadинженерымогутдокументироватьвсевычислениявпроцессеихпроведения.

Сравнительнаяхарактеристика.Назначение.Mathcadотноситсяксистемамкомпьютернойалгебры,тоестьсредствавтоматизацииматематическихрасчетов.Вэтомклассепрограммногообеспечениясуществуетмногоаналоговразличнойнаправленностиипринципапостроения.НаиболеечастоMathcadсравниваютстакимипрограммнымикомплексами,какMaple,Mathematica,MATLAB,атакжесиханалогамиMuPAD,Scilab,Maximaидр.Впрочем,объективноесравнениеосложняетсявсвязисразнымназначениемпрограммиидеологиейихиспользования.

СистемаMaple,например,предназначенаглавнымобразомдлявыполненияаналитических(символьных)вычисленийиимеетдляэтогоодинизсамыхмощныхвсвоемклассеарсеналспециализированныхпроцедурифункций(более3000).Такаякомплектациядлябольшинствапользователей,которыесталкиваютсяснеобходимостьювыполненияматематическихрасчетовсреднегоуровнясложности,являетсяизбыточным.ВозможностиMapleориентированынапользователей—профессиональныхматематиков;решениязадачвсредеMapleтребуетнетолькоуменияоперироватькакой-либофункции,ноизнанияметодоврешения,внеёзаложенных:вомногихвстроенныхфункцияхMapleфигурируетаргумент,задающийметодрешения.

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

РазработчикиMathcadсделалиставкунарасширениесистемывсоответствииспотребностямипользователя.Дляэтогоназначеныдополнительныебиблиотекиипакетырасширения,которыеможноприобрестиотдельноикоторыеимеютдополнительныефункции,встраиваемыевсистемуприустановке,атакжеэлектронныекнигисописаниемметодоврешенияспецифическихзадач,спримерамидействующихалгоритмовидокументов,которыеможноиспользоватьнепосредственновсобственныхрасчетах.Крометого,вслучаенеобходимостииприусловииналичиянавыковпрограммированиявC,естьвозможностьсозданиясобственныхфункцийиихприкреплениякядрусистемычерезмеханизмDLL.

Mathcad,вотличиеотMaple,изначальносоздавалсядлячисленногорешенияматематическихзадач,онориентированнарешениезадачименноприкладной,анетеоретическойматематики,когданужнополучитьрезультатбезуглублениявматематическуюсутьзадачи.Впрочем,длятех,комунужнысимвольныевычисленияипредназначеноинтегрированноеядроMaple(сверсии14—MuPAD).Особенноэтополезно,когдаречьидетосозданиидокументовобразовательногоназначения,когданеобходимопродемонстрироватьпостроениематематическоймодели,исходяизфизическойкартиныпроцессаилиявления.СимвольноеядроMathcad,вотличиеоторигинальногоMaple(MuPAD),искусственноограничено(доступнооколо300функций),ноэтоговбольшинствеслучаеввполнедостаточнодлярешениязадачинженерногохарактера.

Болеетого,опытныепользователиMathcadобнаружили,чтовверсияхдо13включительноестьвозможностьнеслишкомсложнымспособомзадействоватьпочтивесьфункциональныйарсеналядраMaple(такназываемые«недокументированныевозможности»),чтоприближаетвычислительнуюмощностьMathcadкMaple.

Интерфейс.ОсновноеотличиеMathcadотаналогичныхпрограмм—этографический,анетекстовыйрежимвводавыражений.Длянаборакоманд,функций,формулможноиспользоватькакклавиатуру,такикнопкинамногочисленныхспециальныхпанеляхинструментов.Влюбомслучае—формулыбудутиметьпривычный,аналогичныйкнижному,вид.Тоестьособойподготовкидлянабораформулненужно.Вычислениясвведеннымиформуламиосуществляютсяпожеланиюпользователяилимгновенно,одновременноснабором,либопокоманде.Обычныеформулывычисляютсяслеванаправоисверхувниз(подобночтениютекста).Любыепеременные,формулы,параметрыможноизменять,наблюдаявоочиюсоответствующиеизменениярезультата.Этодаетвозможностьорганизациидействительностиинтерактивныхвычислительныхдокументов.

Вдругихпрограммах(Maple,MuPAD,Mathematica)вычисленияосуществляютсяврежимепрограммногоинтерпретатора,которыйтрансформируетвформулывведенныеввидетекстакоманды.Mapleсвоиминтерфейсомориентированнатехпользователей,ктоужеимеетнавыкипрограммированиявсредетрадиционныхязыковсвведениемсложныхформулвтекстовомрежиме.ДляпользованияMathcadможновообщенебытьзнакомымспрограммированиемвтомилииномвиде.

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

ОтдельноследуетотметитьвозможностьиспользованияврасчетахMathcadвеличинсразмерностями,причемможновыбратьсистемуединиц:СИ,СГС,МКС,английскую,илипостроитьсобственную.Результатывычислений,разумеется,такжеполучаютсоответствующуюразмерность.Пользуоттакойвозможноститруднопереоценить,посколькузначительноупрощаетсяотслеживаниеошибокврасчетах,особенновфизическихиинженерных.

Графика.ВсредеMathcadфактическинетграфиковфункцийвматематическомпониманиитермина,аестьвизуализацияданных,находящихсяввекторахиматрицах(тоестьосуществляетсяпостроениекаклинийтакиповерхностейпоточкамсинтерполяцией),хотяпользовательможетобэтоминезнать,посколькуунегоестьвозможностьиспользованиянепосредственнофункцийоднойилидвухпеременныхдляпостроенияграфиковилиповерхностейсоответственно.Такилииначе,механизмвизуализацииMathcadзначительноуступаеттаковомууMaple,гдедостаточноиметьтольковидфункции,чтобыпостроитьграфикилиповерхностьлюбогоуровнясложности.ПосравнениюсMaple,графикаMathcadимеетещётакиенедостатки,как:невозможностьпостроенияповерхностей,заданныхпараметрически,снепрямоугольнойобластьюопределениядвухпараметров;созданиеиформатированиеграфиковтолькочерезменю,чтоограничиваетвозможностипрограммногоуправленияпараметрамиграфики.

ОднакоследуетпомнитьобосновнойобластипримененияMathcad—длязадачинженерногохарактераисозданиеучебныхинтерактивныхдокументов,возможностейвизуализациивполнедостаточно.ОпытныепользователиMathcadдемонстрируютвозможностьвизуализациисложнейшихматематическихконструкций,нообъективноэтоужевыходитзарамкиназначенияпакета.[10]

4.3 MATLAB

MATLAB(сокращениеотангл.«MatrixLaboratory»,врусскомязыкепроизноситсякакМатла́б)—пакетприкладныхпрограммдлярешениязадачтехническихвычисленийиодноимённыйязыкпрограммирования,используемыйвэтомпакете.

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

ЯзыкMATLAB.Описаниеязыка.ЯзыкMATLABявляетсявысокоуровневыминтерпретируемымязыкомпрограммирования,включающимоснованныенаматрицахструктурыданных,широкийспектрфункций,интегрированнуюсредуразработки,объектно-ориентированныевозможностииинтерфейсыкпрограммам,написаннымнадругихязыкахпрограммирования.

Программы,написанныенаMATLAB,бываютдвухтипов—функцииискрипты.Функцииимеютвходныеивыходныеаргументы,атакжесобственноерабочеепространстводляхраненияпромежуточныхрезультатоввычисленийипеременных.Скриптыжеиспользуютобщеерабочеепространство.Какскрипты,такифункциинекомпилируютсявмашинныйкодисохраняютсяввидетекстовыхфайлов.Существуеттакжевозможностьсохранятьтакназываемыеpre-parsedпрограммы—функцииискрипты,обработанныеввид,удобныйдлямашинногоисполнения.Вобщемслучаетакиепрограммывыполняютсябыстрееобычных,особенноеслифункциясодержиткомандыпостроенияграфиков.

ОсновнойособенностьюязыкаMATLABявляютсяегоширокиевозможностипоработесматрицами,которыесоздателиязыкавыразиливлозунге«думайвекторно»(англ.Thinkvectorized).

Примеры

Примеркода,являющегосячастьюфункцииmagic.m,генерирующегомагическийквадратMдлянечётныхзначенийразмерастороныn:

[J,I]=meshgrid(1:n);

A=mod(I+J-(n+3)/2,n);

B=mod(I+2*J-2,n);

M=n*A+B+1;

Примеркода,загружающегоодномерныймассивAзначениямимассиваBвобратномпорядке(толькоесливекторAопределен,ичислоегоэлементовсовпадаетсчисломэлементоввектораB):

A(1:end)=B(end:-1:1);

Примеркода,рисующегографикsinc-функции :

[X,Y] = meshgrid(-8:.5:8);

R=sqrt(X.^2+Y.^2);

Z=sin(R)./R;

Z(R==0) = 1;

mesh(X,Y,Z);

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

  • Матрицыилинейнаяалгебра—алгебраматриц,линейныеуравнения,собственныезначенияивектора,сингулярности,факторизацияматрицидругие.

  • Многочленыиинтерполяциякорнимногочленов,операциинадмногочленамииихдифференцирование,интерполяцияиэкстраполяциякривыхидругие.

  • Математическаястатистикаианализданных—статистическиефункции,статистическаярегрессия,цифроваяфильтрация,быстроепреобразованиеФурьеидругие.

  • Обработкаданных—наборспециальныхфункций,включаяпостроениеграфиков,оптимизацию,поискнулей,численноеинтегрирование(вквадратурах)идругие.

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

  • Разреженныематрицы—специальныйклассданныхпакетаMATLAB,использующийсявспециализированныхприложениях.

  • Целочисленнаяарифметика—выполнениеоперацийцелочисленнойарифметикивсредеMATLAB.

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

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

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

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

COM

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

.NET

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

DDE

ПакетMATLABсодержитфункции,которыепозволяютемуполучатьдоступкдругимприложениямсредыWindows,равнокакиэтимприложениямполучатьдоступкданнымMATLAB,посредствомтехнологиидинамическогообменаданными(DDE).Каждоеприложение,котороеможетбытьDDE-сервером,имеетсвоёуникальноеидентификационноеимя.ДляMATLABэтоимя—Matlab.

Веб-сервисы

ВMATLABсуществуетвозможностьвызыватьметодывеб-сервисов.Специальнаяфункциясоздаёткласс,основываясьнаметодахAPIвеб-сервиса.

MATLABвзаимодействуетсклиентомвеб-сервисаспомощьюпринятияотнегопосылок,ихобработкиипосылокответа.Поддерживаютсяследующиетехнологии:SimpleObjectAccessProtocol(SOAP)иWebServicesDescriptionLanguage(WSDL).

COM-порт

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

MEX-файлы

ПакетMATLABвключаетинтерфейсвзаимодействиясвнешнимиприложениями,написанныминаязыкахCиФортран.ОсуществляетсяэтовзаимодействиечерезMEX-файлы.Существуетвозможностьвызоваподпрограмм,написанныхнаCилиФортранеизMATLAB,какбудтоэтовстроенныефункциипакета.MEX-файлыпредставляютсобойдинамическиподключаемыебиблиотеки,которыемогутбытьзагруженыиисполненыинтерпретатором,встроеннымвMATLAB.MEX-процедурыимеюттакжевозможностьвызыватьвстроенныекомандыMATLAB.

DLL

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

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

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

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

  • Цифроваяобработкасигналов,изображенийиданных:DSPToolbox,ImageProcessingToolbox,WaveletToolbox,CommunicationToolbox,FilterDesignToolbox—наборыфункций,позволяющихрешатьширокийспектрзадачобработкисигналов,изображений,проектированияцифровыхфильтровисистемсвязи.

  • Системыуправления:ControlSystemsToolbox,µ-AnalysisandSynthesisToolbox,RobustControlToolbox,SystemIdentificationToolbox,LMIControlToolbox,ModelPredictiveControlToolbox,Model-BasedCalibrationToolbox—наборыфункций,облегчающиханализисинтездинамическихсистем,проектирование,моделированиеиидентификациюсистемуправления,включаясовременныеалгоритмыуправления,такиекакробастноеуправление,H∞-управление,ЛМН-синтез,µ-синтезидругие.

  • Финансовыйанализ:GARCHToolbox,Fixed-IncomeToolbox,FinancialTimeSeriesToolbox,FinancialDerivativesToolbox,FinancialToolbox,DatafeedToolbox—наборыфункций,позволяющиебыстроиэффективнособирать,обрабатыватьипередаватьразличнуюфинансовуюинформацию.

  • Анализисинтезгеографическихкарт,включаятрёхмерные:MappingToolbox.

  • Сборианализэкспериментальныхданных:DataAcquisitionToolbox,ImageAcquisitionToolbox,InstrumentControlToolbox,LinkforCodeComposerStudio—наборыфункций,позволяющихсохранятьиобрабатыватьданные,полученныевходеэкспериментов,втомчислевреальномвремени.Поддерживаетсяширокийспектрнаучногоиинженерногоизмерительногооборудования.

  • Визуализацияипредставлениеданных:VirtualRealityToolbox—позволяетсоздаватьинтерактивныемирыивизуализироватьнаучнуюинформациюспомощьютехнологийвиртуальнойреальностииязыкаVRML.

  • Средстваразработки:MATLABBuilderforCOM,MATLABBuilderforExcel,MATLABBuilderforNET,MATLABCompiler,FilterDesignHDLCoder—наборыфункций,позволяющихсоздаватьнезависимыеприложенияизсредыMATLAB.

  • Взаимодействиесвнешнимипрограммнымипродуктами:MATLABReportGenerator,ExcelLink,DatabaseToolbox,MATLABWebServer,LinkforModelSim—наборыфункций,позволяющиесохранятьданныевразличныхвидовтакимобразом,чтобыдругиепрограммымоглиснимиработать.

  • Базыданных:DatabaseToolbox—инструментыработысбазамиданных.

  • Научныеиматематическиепакеты:BioinformaticsToolbox,CurveFittingToolbox,Fixed-PointToolbox,FuzzyLogicToolbox,GeneticAlgorithmandDirectSearchToolbox,OPCToolbox,OptimizationToolbox,PartialDifferentialEquationToolbox,SplineToolbox,StatisticToolbox,RFToolbox—наборыспециализированныхматематическихфункций,позволяющиерешатьширокийспектрнаучныхиинженерныхзадач,включаяразработкугенетическихалгоритмов,решениязадачвчастныхпроизводных,целочисленныепроблемы,оптимизациюсистемидругие.

  • Нейронныесети:NeuralNetworkToolbox—инструментыдлясинтезаианализнейронныхсетей.

  • Нечёткаялогика:FuzzyLogicToolbox—инструментыдляпостроенияианализанечёткихмножеств.

  • Символьныевычисления:SymbolicMathToolbox—инструментыдлясимвольныхвычисленийсвозможностьювзаимодействияссимвольнымпроцессоромпрограммыMaple.

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

Интересныефакты

  • ЕслинапечататьвкоманднойстрокеMATLABслово«toilet»(туалет),будетзапущенасистема,моделирующаядинамикуработысливногобачкатуалета.

  • Есливкоманднойстрокенапечатать«why»(почему),MATLABответитнаэтотвопрос.Ответывыбираютсяизограниченногомножестваответовслучайнымобразомвсякийраз,когдавводитсяэтакоманда.

  • ВMATLABвстроенапрограммавиртуальноймашиныvrcar.[11]