Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab / 3. MATLAB.doc
Скачиваний:
146
Добавлен:
20.02.2016
Размер:
473.09 Кб
Скачать

MATLAB

MATLAB — одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы — MATrix LABoratory — матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления.

Матрицы широко применяются в сложных математических расчетах, например при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Примером может служить расширение MATLAB — Simulink. Это существенно повышает интерес к системе MATLAB, вобравшей в себя лучшие достижения в области быстрого решения матричных задач.

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

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

Система MATLAB была разработана Молером (С. В. Moler) и с конца 70-х гг. широко использовалась на больших ЭВМ.

В начале 80-х гг. Джон Литл (John Little) из фирмы MathWorks, Inc. разработал версии системы PC MATLAB для компьютеров класса IBM PC, VAX и Macintosh. В дальнейшем были созданы версии для рабочих станций Sun, компьютеров с операционной системой UNIX и многих других типов больших и малых ЭВМ. Сейчас свыше десятка популярных компьютерных платформ могут работать с системой MATLAB. К расширению системы были привлечены крупнейшие научные школы мира в области математики, программирования и естествознания.

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

Возможности MATLAB весьма обширны, а по скорости выполнения задач система нередко превосходит своих конкурентов. Она применима для расчетов практически в любой области науки и техники. Например, очень широко используется при математическом моделировании механических устройств и систем, в частности в динамике, гидродинамике, аэродинамике, акустике, энергетике и т. д. Этому способствует не только расширенный набор матричных и иных операций и функций, но и наличие пакета расширения (toolbox) Simulink, специально предназначенного для решения задач блочного моделирования динамических систем и устройств, а также десятков других пакетов расширений.

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

Важными достоинствами системы являются ее открытость и расширяемость. Большинство команд и функций системы реализованы в виде текстовых m-файлов (с расширением .m) и файлов на языке Си, причем все файлы доступны для модификации. Пользователю дана возможность создавать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Поразительная легкость модификации системы и возможность ее адаптации к решению специфических задач науки и техники привели к созданию десятков пакетов прикладных программ (toolbox), намного расширивших сферы применения системы.

Возможности MATLAB 6

  • доведенное до более чем 600 число встроенных функций и команд;

  • новый интерфейс с набором инструментов для управления средой, включающий в себя окно команд (Command Window), окно истории команд (Command History), браузер рабочей области (Workspace Browser) и редактор массивов (Array Editor);

  • новые инструменты, позволяющие при помощи мыши интерактивно редактировать и форматировать графики, оптимизировать их коды и затраты памяти на графические команды и атрибуты;

  • улучшенные алгоритмы на основе оптимизированной библиотеки LAPACK;

  • новая библиотека FFTW (быстрых преобразований Фурье) Массачусетского технологического института Кембриджского университета (США);

  • ускоренные методы интегральных преобразований;

  • новые, более мощные и точные, алгоритмы интегрирования дифференциальных уравнений и квадратур;

  • новые современные функции визуализации: вывод на экран двумерных изображений, поверхностей и объемных фигур в виде прозрачных объектов;

  • новые, современные инструменты проектирования графического пользовательского интерфейса;

  • обработка (регрессия, интерполяция, аппроксимация и вычисление основных статистических параметров) графических данных прямо из окна графики;

  • новое приложение MATLAB для системы разработки Visual Studio, позволяющее автоматически, непосредственно из Microsoft Visual Studio, преобразовывать Си и Си++ коды в выполняемые MATLAB файлы (МЕХ-файлы);

  • новый интерфейс (последовательный порт) для обмена данными с внешним оборудованием из MATLAB;

  • новый пакет управления измерительными приборами (Instrument Control ToolBox) для обмена информацией с приборами, подключенными к Каналу общего пользования (GPIB, HP-IB, IEEE-488). Существует аналогичные международные МЭК (IEC) 625.1 и российские государственные стандарты.

  • существенно обновленные пакеты расширения, в частности новые версии пакета моделирования динамических систем Simulink 4 и Real Time Workshop 4;

    • и др.

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

В MATLAB особое значение имеют файлы двух типов — с расширениями .mat и .m. Первые являются бинарными файлами, в которых могут храниться значения переменных. Вторые представляют собой текстовые файлы, содержащие внешние программы, определения команд и функций системы. Именно к ним относится большая часть команд и функций, в том числе задаваемых пользователем для решения своих специфических задач. Нередко встречаются и файлы с расширением .с (коды на языке Си), файлы с откомпилированными кодами MATLAB с расширением .mex и другие. Исполняемые файлы имеют расширение .exe.

Особое значение имеет папка MATLAB/TOOLBOX/MATLAB. В ней содержится набор стандартных m-файлов системы. Ниже перечислены основные подпапки с этими файлами (деление на категории условно, на самом деле все подпапки находятся в общей папке MATLAB/TOOLBOX/MATLAB).

Подпапка команд общего назначения:

  • General — команды общего назначения: работа со справкой, управление окном MATLAB, взаимодействие с операционной системой и т. д.

Подпапки операторов, конструкций языка и системных функций:

  • ops — операторы и специальные символы;

  • tang — конструкции языка программирования;

  • strfun — строковые функции;

  • Iofun — функции ввода/вывода;

  • timefun — функции времени и дат;

  • datatypes — типы и структуры данных.

Подпапки основных математических и матричных функций:

  • elmat — команды создания элементарных матриц и операций с ними;

  • elfun — элементарные математические функции;

  • specfun — специальные математические функции;

  • matfun — матричные функции линейной алгебры;

  • datafun — анализ данных и преобразования Фурье;

  • polyfun — полиномиальные функции и функции интерполяции;

  • funfun — функции функций и функции решения обыкновенных дифференциальных уравнений;

  • soarfun — функции разреженных матриц. 

Подпайки команд графики: 

  • graph2d — команды двумерной графики; 

  • graph3d — команды трехмерной графики; 

  • specgraph — команды специальной графики; 

  • graphics — команды дескрипторной графики; 

  • uitools — графика пользовательского интерфейса.

Полный состав файлов каждой подпапки (их список содержится в файле соntents.m) можно вывести на просмотр с помощью команды help имя, где имя — название соответствующей подпапки.

Общие принципы работы с пакетом Matlab

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

По умолчанию открыто три окна. Окно Command Window предназначено для ввода команд, в окне Workspace отображаются переменные, хранящиеся в памяти. Окно Command History протоколирует вводимые команды. Операторы MatLab могут вводиться в командном окне или из файлов с именами *.m (звездочка обозначает произвольное имя).

Например, если в директории е:\bvv\matlab имеется файл name.m c набором операторов Matlab, то для его выполнения необходимо выполнить следующие действия:

1. Ввести в командном окне Matlab команду path(path,'e:\bvv\matlab'); . Эта команда добавляет к пути поиска m-файлов путь e:\bvv\matlab.

2. После добавления пути к переменной path можно запускать программу, набрав в командном окне name (без .m).

При вводе команды name Matlab выполняет следующие действия.

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

2. Если переменная с именем name не найдена, далее просматриваются все файлы в текущей директории. Текущая директория определена в окне Current Directory среды разработки. Сменить текущую директорию можно командой cd. Например, cd e:\bvv\matlab. Вывести текущую директорию на экран можно командой pwd. Если файл name.m найден, он запускается на выполнение.

3. Если в текущей директории файл name.m не обнаружен, тогда просматриваются все пути из переменной path и первый найденный файл name.m запускается на выполнение. Следует обратить особое внимание на имена создаваемых m-файлов. Дело в том, что в Matlab в директории %MATLAB\toolbox (%MATLAB - путь к директории, где инсталлирован Matlab) содержится очень большое количество файлов с именами *.m, а пути на все поддиректории директории toolbox содержатся в переменной path. Команда path(path,'e:\bvv\matlab') добавляет путь e:\bvv\matlab в конец переменной path, поэтому возникает опасность дублирования имен, а я уже отмечал, что Matlab запускает на исполнение первый найденный файл. Можно добавлять свой путь поиска в начало или в конец переменной path командой addpath. Например, чтобы добавить путь e:\bvv\matlab в начало переменной path нужно ввести команду addpath e:\bvv\matlab -begin, а команда addpath e:\bvv\matlab -end поставит этот путь в конец переменной path. Удалить путь из переменной path можно командой rmpath e:\bvv\matlab.

В любой момент можно получить справку о любой функции matlab с помощью команды help. Например, чтобы получить информацию о синтаксисе команды addpath, необходимо ввести команду help addpath. Получить список переменных, хранящихся в памяти, позволяет команда whos (или ее короткая форма who). Удалить переменную var из памяти можно командой clear var, а удалить все переменные из памяти clear all.

Средства контроля рабочей области и файловой системы Браузер рабочей области .Векторы и матрицы могут занимать большой объем памяти. Конечно, речь не идет о векторах или матрицах, содержащих несколько элементов или даже несколько десятков элементов. Хотя и в этом случае оценка их размеров полезна при разработке алгоритмов матричных вычислений и оценке их эффективности в части использования памяти. Как отмечалось, в левой части окна системы MATLAB 6.0 имеется окно специального браузера рабочей области — Workspace Browser. Он служит для просмотра ресурсов рабочей области памяти. Браузер дает наглядную визуализацию содержимого рабочей области. Окно браузера рабочей области выполняет и другие важные функции — позволяет просматривать существующие в памяти объекты, редактировать их содержимое и удалять объекты из памяти. Для вывода содержимого объекта достаточно выделить его имя с помощью мыши и щелкнуть на кнопке Open (Открыть). Объект можно открыть и двойным щелчком на его имени в списке. Окно редактирования матрицы дает удобный доступ для редактирования любого элемента матрицы по правилам, принятым при работе с электронными таблицами. Основное из них — быстрый доступ к любому элементу матрицы. Можно также менять тип значений элементов, выбирая его из списка, предоставляемого меню Numeric format (Формат чисел). В окне также выводятся данные о числе строк и столбцов матрицы.

Соседние файлы в папке Matlab
  • #
    20.02.2016473.09 Кб1463. MATLAB.doc
  • #
    20.02.201635.74 Mб82Инженерные расчеты в Mathcad Макаров 2005.djvu