Матричная математическая система MATLAB
Назначение и особенности системы MATLAB. Запуск программы, работа в режиме диалога, понятие о сессии, операции строчного редактирования. Формирование векторов и матриц. Графики ряда функций. Знакомство с трехмерной графикой. Интерфейс основного окна.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 17.03.2011 |
Размер файла | 65,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
69
Введение
Среди бурно развивающихся систем компьютерной математики СКМ, в первую очередь ориентированных на численные расчеты, особо выделяется матричная математическая система MATLAB. Из-за большого числа поставляемых с системой пакетов расширения MATLAB (в новейшей реализации MATLAB R2009,b их уже 82) эта система является и самой большой из СКМ, ориентированных на персональные компьютеры. Объем ее файлов уже превышает 3 Гб. Система фактически стала мировым стандартом в области современного математического и научно-технического программного обеспечения.
Эффективность MATLAB обусловлена прежде всего ее ориентацией на матричные вычисления с программной эмуляцией параллельных вычислений и упрощенными средствами задания циклов. Последние версии системы поддерживают 64-разрядные микропроцессоры и многоядерные микропроцессоры, например Intel Core 2 Duo и Quad, что обеспечивает высочайшие показатели по скорости вычислений и скорости математического имитационного моделирования.
В MATLAB удачно реализованы средства работы с многомерными массивами, большими и разреженными матрицами и многими типами данных. Система прошла многолетний путь развития от узко специализированного матричного программного модуля, используемого только на больших ЭВМ, до универсальной интегрированной СКМ, ориентированной на массовые персональные компьютеры класса IBM PC, AT и Macintosh, рабочие станции UNIX и даже суперкомпьютеры. MATLAB имеет мощные средства диалога, графики и комплексной визуализации вычислений.
Система MATLAB предлагается разработчиками (корпорация The MathWorks Inc.) как лидирующий на рынке, в первую очередь на предприятиях военно-промышленного комплекса, в энергетике, в аэрокосмической отрасли и в автомобилестроении язык программирования высокого уровня для технических вычислений, расширяемый большим числом пакетов прикладных программ - расширений.
Самым известным из них стало расширение Simulink, обеспечивающее блочное имитационное моделирование различных систем и устройств. Но и без пакетов расширения MATLAB представляет собой мощную операционную среду для выполнения огромного числа математических и научно-технических расчетов и вычислений и создания пользователями своих пакетов расширения и библиотек процедур и функций. Новые версии системы имеют встроенный компилятор и позволяют создавать исполняемые файлы.
Типовой комплекс MATLAB + Simulink содержит инструментальные «ящики» Toolboxes с большим числом пакетов расширения MATLAB и Bloсksets для расширения возможностей системы визуально ориентированного блочного имитационного моделирования динамических систем Simulink. Они приобретаются избранно и отдельно от системы MATLAB + Simulink. В разработке пакетов расширения для MATLAB принимают участие многие научные школы мира и ведущие университеты. Многие пакеты охватывают крупные направления науки и техники, такие как оптимизация отклика нелинейных систем, моделирование устройств и систем механики и энергетики, обработка сигналов и изображений, вейвлеты, биоинформатика, генные алгоритмы, нечеткая логика, нейронные сети и т. д.
Назначение и особенности системы MATLAB
Начальные сведения о матрицах
Поскольку MATLAB - матричная система, разумно начать ее описание с начальных сведений о векторах и матрицах.
Двумерный массив чисел или математических выражений принято называть матрицей. А одномерный массив называют вектором. Векторы могут быть двух типов: вектор-строка и вектор-столбец.
Векторы и матрицы характеризуются размерностью и размером. Размерность определяет структурную организацию массивов в виде строки (размерность 1), страницы (размерность 2), куба (размерность 3) и т. д. Так что вектор является одномерным массивом, а матрица представляет собой двумерный массив с размерностью 2. MATLAB допускает задание и использование многомерных массивов, но здесь мы ограничимся пока только описанием одномерных и двумерных массивов - векторами и матрицами.
Размер вектора - это число его элементов, а размер матрицы определяется произведением числа ее строк m и столбцов n. Обычно размер матрицы указывают как mЧn. Матрица называется квадратной, если m = n, то есть число строк матрицы равно числу ее столбцов.
Векторы и матрицы могут иметь имена, например V - вектор или M - матрица.
Элементы векторов и матриц рассматриваются как индексированные переменные, например:
* V2 - второй элемент вектора V;
* M2,3 - третий элемент второй строки матрицы M.
Индексы у векторов и матриц в MATLAB имеют целочисленные номера, которые начинаются с 1. Даже обычные числа рассматриваются в MATLAB как матрицы размера 1Ч1.
Назначение матричной системы MATLAB
MATLAB - одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических и научно-технических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы - MATrix LABoratory - матричная лаборатория. Применение матриц как основных объектов системы способствует резкому уменьшению числа циклов, которые очень распространены при выполнении матричных вычислений на обычных языках программирования высокого уровня, и облегчению реализации параллельных вычислений.
Одной из основных задач при создании системы MATLAB всегда было предоставление пользователям мощного языка программирования, ориентированного на технические и математические расчеты и способного превзойти возможности традиционных языков программирования, которые многие годы использовались для реализации численных методов. При этом особое внимание уделялось как повышению скорости вычислений, так и адаптации системы к решению самых разнообразных задач пользователей.
MATLAB реализует три важные концепции программирования:
* процедурное модульное программирование, основанное на создании модулей - процедур и функций;
* объектно-ориентированное программирование, особенно ценное в реализации графических средств системы;
* визуально-ориентированное программирование, направленное на создание средств графического интерфейса пользователя GUI (Graphics User Interface).
Язык программирования MATLAB относится к классу интерпретаторов. Это значит, что любая команда системы распознается (интерпретируется) по ее имени (идентификатору) и немедленно исполняется в командной строке, что обеспечивает легкую проверку по частям любого программного кода. Одновременно интерпретирующий характер языка программирования MATLAB означает, что с первых строк описания средств этой системы фактически описывается ее язык программирования.
Важными достоинствами системы являются ее открытость и расширяемость.
Большинство команд и функций системы реализованы в виде m файлов текстового формата (с расширением .m) и файлов на языке C/C++, причем все файлы доступны для модификации. Пользователю дана возможность создавать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Любой набор команд в справке можно тут же исполнить с помощью команды Evaluate Selection контекстного меню правой клавиши мыши.
Системные требования к установке
Новые версии системы MATLAB - весьма громоздкий программный комплекс, который требует до 5000 Мб дисковой памяти (в зависимости от конкретной поставки, полноты справочной системы и числа устанавливаемых пакетов прикладных программ). Поэтому система на DVD. К сожалению, из поставки новых версий исключены PDF_файлы англоязычной документации, но доступ к ним открыт через Интернет. Однако получение их при низкой скорости доступа (до 56 Кбит/c) в наших условиях весьма проблематично. Это усиливает роль русскоязычной литературы по системе MATLAB.
Для успешной установки новых версий MATLAB необходимы следующие минимальные средства:
* компьютер с микропроцессором не ниже Pentium и математическим сопроцессором, рекомендуются процессоры Pentium III, Pentium IV, Pentium M или AMD Athlon, Athlon XP, Athlon MP (последние версии MATLAB поддерживают двухъядерные (например серий Intel Core 2 Duo) и четырехъядерные процессоры (Intel Core 2 Quad);
* устройство считывания компакт-дисков (привод DVD), мышь, 8-разрядный графический адаптер и монитор, поддерживающие не менее 256 цветов;
* операционная система Windows XP/2000/NT/Vista (допускается Windows NT4 с сервис-пакетами 5 или 6a);
* ОЗУ емкостью 256Мб для минимального варианта системы (рекомендуется иметь память 512 Мб и выше);
* до 5000 Мб дискового пространства при полной установке всех расширений и всех справочных систем (345 Мб при установке только MATLAB со справкой);
* свободный USB-порт для подключения ключа, открывающего доступ к системе.
Для использования расширенных возможностей системы нужны графический ускоритель, Windows-совместимые звуковая карта и принтер, текстовый процессор Microsoft Word 97/2000/XP для реализации Notebook, компиляторы языков Cи/Cи++ и/или ФОРТРАН для подготовки собственных файлов расширения и браузер Netscape Navigator 4.0 и выше или Microsoft Internet Explorer 5.0 и выше. Для просмотра файлов справочной системы в формате PDF нужна программа Adobe Reader или Adobe Acrobat 5.0 и выше.
Далее рассматриваются только реализации системы, работающие с операционными системами класса Windows. Все примеры даны для систем класса MATLAB, запущенных в среде Windows XP.
Инсталляция системы MATLAB + Simulink
Система MATLAB + Simulink поставляется на одном DVD. Для инсталляции ее с другими пакетами расширения достаточно установить DVD и дождаться его автоматического запуска (или запустить его, как обычно). После распаковки и установки файлов инсталлятора на короткое время появляется окно с эмблемой MATLAB, а затем первое окно инсталлятора.
В первом окне инсталлятора надо установить опцию Install для инсталляции или опцию обновления лицензии и получения кода PLP (Personal License Pasword). Этот код является группой из 20 цифр. Установим Install и нажмем мышью кнопку Next>. Появится окно для ввода данных пользователя (имени и названия организации) и, главное, кода PLP. Этот код записывается в виде длинного числа и указывается на диске при продаже MATLAB или запрашивается у MathWorks по Интернету. Каждый легальный пользователь MATLAB ныне имеет свои страницы на этом Интернет-сайте с данными о лицензии, ее сроках и комплекте поставки MATLAB. С этой страницы можно получить и коды PLP.
Дальнейшие операции производятся в соответствии с простыми указаниями окон инсталлятора. Инсталляция занимает немало времени - около получаса даже на современных ПК.
Файловая система MATLAB
MATLAB состоит из многих тысяч файлов, находящихся во множестве папок. Полезно иметь представление о содержании основных папок, поскольку это позволяет быстро оценить возможности системы. Кроме того, нередко надо обеспечить путь к нужным для работы файлам системы, иначе содержащиеся в них команды не будут работать.
В MATLAB особое значение имеют файлы двух типов - с расширениями .mat и .m. Первые являются бинарными файлами, в которых могут храниться значения переменных. Вторые представляют собой текстовые файлы, содержащие внешние программы, определения команд и функций системы. Именно к ним относится большая часть команд и функций, в том числе задаваемых пользователем для решения своих специфических задач. Нередко встречаются и файлы с расширением .c (коды на языке Cи), файлы с откомпилированными кодами MATLAB с расширением .mex и др. Исполняемые файлы имеют расширение .exe.
Особое значение имеет папка MATLAB/TOOLBOX/MATLAB. В ней содержится набор стандартных m-файлов системы. Просмотр этих файлов позволяет детально оценить возможности поставляемой конкретной версии системы.
Полный состав файлов каждой папки (их список содержится в файле contents.m) можно вывести на просмотр с помощью команды help имя, где имя - название соответствующей подпапки. Ознакомиться с файловой системой MATLAB несложно с помощью Проводника Windows или любого файлового менеджера.
Начало работы с MATLAB
Запуск MATLAB и работа в режиме диалога
MATLAB обычно запускается из главного меню операционной системы Windows XP или активизацией ярлыка с логотипом системы на рабочем столе Windows. После запуска MATLAB на экране появляется основное окно системы MATLAB. Оно имеет обычные средства управления размерами, скрытия и закрытия. В окне командного режима показано окно About MATLAB, которое выводится одноименной командой в позиции Help меню и позволяет уточнить версию системы.
Система готова к проведению вычислений в командном режиме. Полезно знать, что в начале запуска автоматически выполняется команда matlabrc, которая исполняет загрузочный файл matlabrc.m и файл startup.m, если таковой существует. Эти файлы текстового формата выполняют начальную настройку терминала системы и задают ряд ее параметров.
Понятие о сессии работы с системой MATLAB
Сеанс работы с MATLAB принято именовать сессией (session). Сессия в сущности является текущим документом, отражающим работу пользователя с системой MATLAB. В ней имеются строки ввода, вывода и сообщений об ошибках. Входящие в сессию определения переменных и функций, расположенные в рабочей области памяти, но не саму сессию можно записать на диск (файлы формата .mat), используя команду save (Сохранить). Команда load (Загрузить) позволяет считать с диска данные рабочей области. Фрагменты сессии можно оформить в виде дневника с помощью команды diary (Дневник).
Полезно обратить внимание на возможность использования контекстного меню правой клавиши мыши в момент выделения той или иной позиции рабочего меню. Как и во всех приложениях операционных систем Windows XP/2000/NT4, это меню дает доступ ко всем возможным в данный момент операциям.
Новый и старый облики системы MATLAB
Вид окна системы MATLAB, выводимого изначально, вполне отвечает канонам современного интерфейса Windows-приложений. Пользовательский интерфейс многооконный и имеет ряд средств прямого доступа к различным компонентам системы. В панели инструментов имеется меню просмотра файловой системы с кнопкой его открытия.
В левой части общего окна системы имеются окна доступа к компонентам системы Launch Pad/Workspace (Панель запуска/Рабочая область) и окно Current Directory (текущей папки). Под ними расположено окно Command History, содержащее список выполненных команд. Щелкнув мышью по любой команде, ее можно перенести в текущую строку окна командного режима MATLAB.
Изменение внешнего вида интерфейса отведено командам позиции Desktop меню. Если оставить только командное окно, то интерфейс MATLAB будет иметь упрощенный вид. Такой вид интерфейса был характерен для старых версий системы. Многие пользователи находят его наиболее приемлемым.
Операции строчного редактирования
При работе с MATLAB в командном режиме действует простейший строчный редактор. Его работа знакома любому пользователю ПК еще со времен работы с приложениями под операционную систему MS_DOS и в детальном описании не нуждается. Ограничимся указанием команд строчного редактирования:
>?или Ctrl+b ___ Перемещение курсора вправо на один символ
<?или Ctrl+f ___ Перемещение курсора влево на один символ
Ctrl+>?или Ctrl+r ___ Перемещение курсора вправо на одно слово
Ctrl+<?или Ctrl+l ___ Перемещение курсора влево на одно слово
Home или Ctrl+a ___ Перемещение курсора в начало строки
End или Ctrl+e ___ Перемещение курсора в конец строки
^?и v?или Ctrl+p и Ctrl+n ___ Перелистывание предыдущих команд вверх или вниз для подстановки в строку ввода
Del или Ctrl+d ___ Стирание символа справа от курсора
<?или Ctrl+h ___ Стирание символа слева от курсора
Ctrl+k ___ Стирание до конца строки
Esc ___ Очистка строки ввода
Ins ___ Включение/выключение режима вставки
PgUp ___ Перелистывание страниц сессии вверх
PgDn ___ Перелистывание страниц сессии вниз
Обратите особое внимание на применение клавиш ^?и v. Они используются для подстановки после маркера строки ввода >> ранее введенных строк, например для их исправления, дублирования или дополнения. При этом указанные клавиши обеспечивают перелистывание ранее введенных строк снизу вверх или сверху вниз. Такая возможность существует благодаря организации специального стека, хранящего строки с исполненными ранее командами.
Команды управления окном
Полезно сразу усвоить некоторые команды управления окном командного режима:
* clс - очищает экран и размещает курсор в левом верхнем углу пустого экрана;
* home - возвращает курсор в левый верхний угол окна;
* echo <file_name> on - включает режим вывода на экран текста Script-файла (файла-сценария);
* echo <file_name> off - выключает режим вывода на экран текста
Script-файла;
* echo <file_name> - меняет режим вывода на противоположный;
* echo on all - включает режим вывода на экран текста всех m-файлов;
* echo off all - отключает режим вывода на экран текста всех m-файлов;
* more on - включает режим постраничного вывода (полезен при просмотре больших m-файлов);
* more off - отключает режим постраничного вывода (в этом случае для просмотра больших фалов надо пользоваться линейкой прокрутки).
В новых версиях MATLAB обе команды clc и home действуют аналогично - очищают экран и помещают курсор в левый верхний угол окна командного режима работы.
Простые вычисления в MATLAB
MATLAB в роли мощного научного калькулятора
Интерпретирующий язык программирования системы MATLAB создан таким образом, что любые (подчас весьма сложные) вычисления можно выполнять в режиме прямых вычислений, то есть без подготовки программы пользователем. При этом MATLAB выполняет функции суперкалькулятора и работает в режиме командной строки.
Работа с системой носит диалоговый характер и происходит по правилу «задал вопрос - получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши ENTER. В качестве примера на рисунке показаны простейшие и вполне очевидные вычисления.
Даже из таких простых примеров можно сделать некоторые поучительные выводы:
* для указания ввода исходных данных используется символ >>;
* данные вводятся с помощью простейшего строчного редактора;
* для блокировки вывода результата вычислений некоторого выражения после него надо установить знак ; (точка с запятой);
* если не указана переменная для значения результата вычислений, то MATLAB назначает такую переменную с именем ans;
* знаком присваивания является привычный математикам знак равенства =, а не комбинированный знак :=, как во многих других языках программирования и математических системах;
* встроенные функции (например, sin) записываются строчными буквами, и их аргументы указываются в круглых скобках;
* результат вычислений выводится в строках вывода (без знака >>);
* диалог происходит в стиле «задал вопрос - получил ответ».
Следующие примеры иллюстрируют применение системы MATLAB для выполнения еще ряда простых векторных операций. На рисунке представлено также окно браузера файловой системы, который имеется на вкладке Current Directory. В командном режиме вызов окна браузера файловой системы удобнее производить из панели инструментов активизацией кнопки после списка директорий системы MATLAB. Возможны случаи отказа от вычислений при неправильно установленной текущей директории, если нужные для вычислений m-файлы не обнаруживаются.
В большинстве математических систем вычисление sin(V) или exp(V), где V - вектор, сопровождалось бы выдачей ошибки, поскольку функции sin и exp должны иметь аргумент в виде скалярной величины. Однако MATLAB - матричная система, а вектор является разновидностью матрицы с размером 1Чn или nЧ1. Поэтому в нашем случае результат вычислений будет вектором того же размера, что и аргумент V, но элементы возвращаемого вектора будут синусами или экспонентами от элементов вектора V.
Матрица задается в виде ряда векторов, представляющих ее строки и заключенных в квадратные скобки. Для разделения элементов векторов используется пробел или запятая, а для отделения одного вектора от другого - точка с запятой. Для выделения отдельного элемента матрицы M используется выражение вида M(j,i), где M - имя матрицы, j - номер строки и i - номер столбца.
Для просмотра содержимого массивов удобно использовать браузер рабочего пространства Workspace. Каждый вектор и матрица в нем представляются в виде квадратика с ячейками, справа от которого указывается размер массива. Двойной щелчок по квадратику мышью ведет к появлению окна редактора массивов Array Editor. Работа с редактором массивов вполне очевидна - возможен не только просмотр элементов массивов, но и их редактирование и замена.
Как видно из приведенных примеров, ввод исходных выражений для вычислений в системе MATLAB осуществляется в самом обычном текстовом формате. В этом же формате выдаются результаты вычислений, за исключением графических. Приведем примеры записи вычислений, выполненных системой MATLAB в командной строке:
Работа с редактором массивов
To get started, select "MATLAB Help" from the Help menu.
>> 2+3
ans =
5
>> sin(1)
ans =
0.8415
>> type sin
sin is a built-in function.
>> help sin
SIN Sine.
SIN(X) is the sine of the elements of X.
Overloaded methods
help sym/sin.m
>> V=[1 2 3 4]
V =
1 2 3 4
>> sin(V)
ans =
0.8415 0.9093 0.1411 -0.7568
>> 3*V
ans =
3 6 9 12
>> V^2
??? Error using ==> ^
Matrix must be square.
>> V.^2
ans =
1 4 9 16
>> V+2
ans =
3 4 5 6
>>
Можно обратить внимание на форму ответов при выполнении простых операций без указания переменной, которой присваивается результат. В таких случаях MATLAB сам назначает переменную ans, которой присваивается результат и значение которой затем выводится на экран.
Форма вывода и перенос строки в сессии
Следует отметить особенности вывода в системе MATLAB. Вывод начинается с новой строки, причем числовые данные выводятся с отступом, а текстовые - без него. Для экономии места в данной книге в дальнейшем вывод будет даваться без перевода на новую строку. Например, вывод вектора-строки
ans =
3 4 5 6
будет дан в виде:
ans = 3 4 5 6
Исключением является вывод векторов столбцов и матриц - тут будет сохранена более наглядная и присущая MATLAB по умолчанию форма вывода.
В некоторых случаях вводимое математическое выражение может оказаться настолько длинным, что для него не хватит одной строки. Тогда часть выражения можно перенести на новую строку с помощью знака многоточия «...» (3 или более точек), например:
s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ...
1/8 + 1/9 - 1/10 + 1/11 - 1/12;
Максимальное число символов в одной строке командного режима - 4096, а в m-файле - не ограничено, но со столь длинными строками работать неудобно. В ранних версиях в одной строке было не более 256 символов.
Запуск примеров применения MATLAB из командной строки
MATLAB имеет множество примеров применения, часть из которых можно запускать прямо из командной строки. Например, команда
>> bench
запускает m-файл bench.m демонстрационного примера тестирования системы.
Основные объекты MATLAB
Понятие о математическом выражении
Центральным понятием всех математических систем является математическое выражение. Оно задает то, что должно быть вычислено в численном (реже символьном) виде. Вот примеры простых математических выражений, записанных в MATLAB и в математике.
В MATLAB: В математике:
2+3; 2+3
2^3* sqrt(y)/2; 2+3*003********/2
2.301*sin(x) 2,301sin(x)
4+exp(3)/5 4+e3/5
Разница в записи вполне очевидна. В MATLAB выражения записываются
в виде одной строки и вместо разделительной запятой в числах применяется разделительная точка. Математические выражения строятся на основе чисел, констант, переменных, операторов, функций и разных спецзнаков. Ниже даются краткие пояснения сути этих понятий. Специфика MATLAB в том, что математические выражения задаются в виде одной строки. Например, 23 записывается как 2^3. Знак ; (точка с запятой) в конце строки ввода блокирует вывод результата вычислений, например:
>> 2^3;
Однако специальная переменная ans (от answer - ответ) позволяет вывести результат вычислений:
>> ans
ans = 8
Действительные и комплексные числа
Число - простейший объект языка MATLAB, представляющий количественные данные. Числа можно считать константами. Числа используются в общепринятом представлении о них. Они могут быть целыми, дробными, с фиксированной и плавающей точкой. Возможно представление чисел в хорошо известном научном формате с указанием мантиссы и порядка числа. Ниже приводятся примеры представления действительных чисел:
0
-3
2.301
123.456e-24
-234.456e10
Как нетрудно заметить, в мантиссе чисел целая часть отделяется от дробной не запятой, а точкой, как принято в большинстве языков программирования. Для отделения порядка числа от мантиссы используется символ e. Знак «плюс» у чисел не проставляется, а знак «минус» у числа называют унарным минусом. Пробелы между символами в числах не допускаются.
Числа могут быть комплексными: z=Re(x)+Im(x)*i. Такие числа содержат действительную Re(z) и мнимую Im(z) части. Мнимая часть имеет множитель i или j, означающий корень квадратный из -1:
3i
2j
2+3i
-3.141i
-123.456+2.7e-3i
Функция real(z) возвращает действительную часть комплексного числа,
Re(z), а функция imag(z) - мнимую, Im(z). Для получения модуля комплексного числа используется функция abs(z), а для вычисления фазы - angle(Z). Ниже даны простейшие примеры работы с комплексными числами:
>> i
ans = 0 + 1.0000i
>> j
ans = 0 + 1.0000i
>> z=2+3i
z = 2.0000 + 3.0000i
>> abs(z)
ans = 3.6056
>> real(z)
ans = 2
>> imag(z)
ans = 3
>> angle(z)
ans = 0.9828
Операции над числами по умолчанию выполняются в формате, который принято считать форматом с двойной точностью (правильнее сказать с двойной разрядностью).
Форматы чисел
Для установки определенного формата представления чисел используется команда
>> format name
где name - имя формата. Для иллюстрации различных форматов рассмотрим вектор, содержащий два элемента-числа: x=[4/3 1.2345e-6]
В различных форматах их представления будут иметь следующий вид:
format short 1.3333 0.0000
format short e 1.3333E+000 1.2345E-006
format long 1.333333333333338 0.000001234500000
format long e 1.333333333333338E+000 1.234500000000000E-006
format bank 1.33 0.00
Задание формата сказывается только на форме вывода чисел. Вычисления все равно происходят в формате двойной точности, а ввод чисел возможен в любом удобном для пользователя виде.
Константы и системные переменные
Константа - это предварительно определенное числовое или символьное значение, представленное уникальным именем (идентификатором). Числа (например, 1, -2 и 1.23) являются безымянными числовыми константами.
Другие виды констант в MATLAB принято называть системными переменными, поскольку, с одной стороны, они задаются системой при ее загрузке, а с другой - могут переопределяться. Основные системные переменные, применяемые в системе MATLAB, указаны ниже:
* i или j -мнимая единица (корень квадратный из -1);
* pi - число p = 3,1415926…;
* eps - погрешность операций над числами с плавающей точкой (2-52);
* realmin - наименьшее число с плавающей точкой (2-1022);
* realmax - наибольшее число с плавающей точкой (21023)
* inf - значение машинной бесконечности;
* ans - переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;
* NaN - указание на нечисловой характер данных (Not-a-Number).
Вот примеры применения системных переменных:
>> 2*pi
ans = 6.2832
>> eps
ans = 2.2204e-016
>> realmin
ans = 2.2251e-308
>> realmax
ans = 1.7977e+308
>> 1/0
Warning: Divide by zero.
ans = Inf
>> 0/0
Warning: Divide by zero.
ans = NaN
Как отмечалось, системные переменные могут переопределяться. Можно задать системной переменной eps иное значение, например eps=0.0001. Однако важно то, что их значения по умолчанию задаются сразу после загрузки системы.Поэтому неопределенными, в отличие от обычных переменных, системные переменные не могут быть никогда.
Символьная константа - это цепочка символов, заключенных в апострофы, например:
'Hello my friend!'
'Привет'
'2+3'
Если в апострофы помещено математическое выражение, то оно не вычисляется и рассматривается просто как цепочка символов. Так что '2+3' не будет возвращать число 5. Однако с помощью специальных функций преобразования символьные выражения могут быть преобразованы в вычисляемые.
Текстовые комментарии в программах
Поскольку MATLAB используется для достаточно сложных вычислений, важное значение имеет наглядность их описания. Она достигается, в частности, с помощью текстовых комментариев. Текстовые комментарии в программах вводятся с помощью символа %, например так:
% It is factorial function
В новых версиях MATLAB отпала проблема ввода комментариев с символами кириллицы. Так что подобный комментарий также вполне приемлем:
% Это функция вычисления факториала
Обычно первые строки m-файлов служат для описания их назначения, которое выводится на экран дисплея после команды
>> help Имя_файла
Считается правилом хорошего тона вводить в m-файлы достаточно подробные текстовые комментарии. Без таких комментариев даже разработчик программных модулей быстро забывает о сути собственных решений.
Переменные и присваивание им значений
Переменные - это имеющие имена объекты, способные хранить некоторые, обычно разные по значению, данные. В зависимости от этих данных переменные могут быть числовыми или символьными, векторными или матричными. Переменные являются широко распространенными объектами в математике и программировании. На языке программирования MATLAB можно задавать переменным определенные значения. Для этого используется операция присваивания, вводимая знаком равенства:
Имя_переменной = Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Так, если это выражение - вектор или матрица, то переменная будет векторной или матричной. Переменная, имеющая единственное значение, рассматривается как матрица размера 1Ч1.
Имя переменной (ее идентификатор) может содержать сколько угодно символов, но запоминается и идентифицируется только 31 начальный символ. Имя любой переменной не должно совпадать с именами других переменных, функций и процедур системы, то есть оно должно быть уникальным. Имя должно начинаться с буквы, может содержать буквы, цифры и символ подчеркивания _. Недопустимо включать в имена переменных пробелы и специальные знаки, например +, -, *, / и т. д., поскольку в этом случае правильная интерпретация выражений становится невозможной.
Желательно использовать содержательные имена для обозначений переменных, например speed_1 для переменной, обозначающей скорость первого объекта. Переменные могут быть обычными и индексированными, то есть элементами векторов или матриц (см. выше). Могут использоваться и символьные переменные, причем символьные значения заключаются в апострофы, например s='Demo'. Имена переменных рекомендуется задавать только латинскими буквами, цифрами и различными символами (не допускается применение символов операторов).
Уничтожение определений переменных
В памяти компьютера переменные занимают определенное место, называемое рабочей областью (workspace). Для очистки рабочей области используется функция clear в разных формах, например:
* clear - уничтожение определений всех переменных;
* clear x - уничтожение определения переменной x;
* clear a, b, c - уничтожение определений нескольких переменных.
Уничтоженная (стертая в рабочей области) переменная становится неопределенной. Использовать неопределенные переменные нельзя, и такие попытки будут сопровождаться выдачей сообщений об ошибке. Приведем примеры задания и уничтожения переменных:
>> x=2*pi
x = 6.2832
>> V=[1 2 3 4 5]
V = 1 2 3 4 5
>> MAT??? Undefined function or variable 'MAT'.
>> MAT=[1 2 3 4; 5 6 7 8]
MAT =
1 2 3 4
5 6 7 8
>> clear V
>> V
??? Undefined function or variable 'V'.
>> clear
>> x
??? Undefined function or variable 'x'.
>> M
??? Undefined function or variable 'M'.
Обратите внимание на то, что сначала выборочно стерта переменная V, а затем командой clear без параметров стерты все остальные переменные.
Неопределенные переменные используются при выполнении символьных вычислений. Специально система MATLAB для выполнения таких вычислений не предназначена. Однако они возможны с помощью пакета расширения символьной математики Symbolic Math.
Операторы и встроенные функции MATLAB
Оператор - это специальное обозначение для определенной операции над данными - операндами. Например, простейшими арифметическими операторами являются знаки суммы +, вычитания -, умножения * и деления /. Операторы используются совместно с операндами. Например, в выражении 2+3 знак + является оператором сложения, а числа 2 и 3 - операндами. Операторы также являются распространенными объектами математических выражений и языков программирования.
Следует отметить, что большинство операторов относятся к матричным операциям, что может служить причиной серьезных недоразумений. Например, операторы умножения * и деления / вычисляют произведение и частное от деления двух массивов, векторов или матриц. Есть ряд специальных операторов, например оператор \ означает деление справа налево, а операторы .* и ./ означают, соответственно, поэлементное умножение и поэлементное деление массивов.
Следующие примеры поясняют сказанное на примере операций с векторами:
>> V1=[2 4 6 8]
V1 = 2 4 6 8
>> V2=[1 2 3 4]
V2 = 1 2 3 4
>> V1/V2
ans = 2
>> V1.*V2
ans = 2 8 18 32
>> V1./V2
ans = 2 2 2 2
Полный список операторов можно получить, используя команду help ops.
Приведем начало обширного полного списка операторов, содержащего арифметические операторы:
>> help ops
Operators and special characters.
Arithmetic operators.
Plus - Plus +
Uplus - Unary plus +
Minus - Minus -
Uminus - Unary minus -
Mtimes - Matrix multiply *
times - Array multiply .*
mpower - Matrix power ^
power - Array power .^
mldivide - Backslash or left matrix divide \
mrdivide - Slash or right matrix divide /
ldivide - Left array divide .\
rdivide - Right array divide ./
kron - Kronecker tensor product
Функции - это имеющие уникальные имена объекты, выполняющие определенные преобразования своих аргументов и при этом возвращающие результаты этих преобразований. Возврат результата - отличительная черта функций. При этом результат вычисления функции с одним выходным параметром подставляется на место ее вызова, что позволяет использовать функции в математических выражениях, например функцию sin в 2*sin(pi/2).
Функции в общем случае имеют список аргументов (параметров), заключенный в круглые скобки. Например, функция Бесселя записывается как bessel(NU,X). В данном случае список параметров содержит два аргумента - NU в виде скаляра и X в виде вектора. Многие функции допускают ряд форм записи, отличающихся списком параметров. Если функция возвращает несколько значений, то она записывается в виде
[Y1, Y2,...]=func(X1, X2,...), где Y1, Y2,... - список выходных параметров и X1, X2,... - список входных аргументов (параметров).
Со списком элементарных функций можно ознакомиться, выполнив команду help elfun, а со списком специальных функций - с помощью команды help specfun. Функции могут быть встроенными (внутренними) и внешними, или m-функциями. Так, встроенными являются наиболее распространенные элементарные функции, например sin(x) и exp(y), тогда как функция sinh(x) является внешней функцией. Внешние функции содержат свои определения в m-файлах. Задание таких функций возможно с помощью специального редактора m-файлов, который мы рассмотрим чуть позже. Встроенные функции хранятся в откомпилированном ядре системы MATLAB, в силу чего они выполняются предельно быстро.
Применение оператора : (двоеточие)
Очень часто необходимо произвести формирование упорядоченных числовых последовательностей. Такие последовательности нужны, например, для создания векторов со значениями абсциссы при построении графиков или при создании таблиц. Для этого в MATLAB используется оператор : (двоеточие) в виде:
Начальное_значение:Шаг:Конечное_значение
Данная конструкция порождает возрастающую последовательность чисел, которая начинается с начального значения, идет с заданным шагом и завершается конечным значением. Применение этой конструкции резко уменьшает потребность в задании программных циклов.
Если Шаг не задан, то он принимает значение 1. Если конечное значение указано меньшим, чем начальное значение, - выдается сообщение об ошибке. Примеры применения оператора : даны ниже:
>> 1:5
ans = 1 2 3 4 5
>> i=0:2:10
i = 0 2 4 6 8 10
>> j=10:-2:2
j = 10 8 6 4 2
>> V=0:pi/2:2*pi;
>> V
V = 0 1.570 3.141 4.712 6.2832
>> X=1:-.2:0
X = 1.000 0.800 0.600 0.400 0.200 0
>> 5:2
ans =
Empty matrix: 1-by-0
Как отмечалось, принадлежность MATLAB к матричным системам вносит коррективы в назначение операторов и приводит, при неумелом их использовании, к казусам. Рассмотрим следующий характерный пример:
>> x=0:5
x = 0 1 2 3 4 5
>> cos(x)
ans = 1.000 0.54 -0.416 -0.99 -0.653 0.2837
>> sin(x)/x
ans = -0.0862
Вычисление массива косинусов здесь прошло корректно. А вот вычисление массива значений функции sin(x)/x дает неожиданный, на первый взгляд, эффект - вместо массива с шестью элементами вычислено единственное значение!
Причина «парадокса» здесь в том, что оператор / вычисляет отношение двух матриц, векторов или массивов. Если они одной размерности, то результат будет одним числом, что в данном случае и выдала система. Чтобы действительно получить вектор значений sin(x)/x, надо использовать специальный оператор поэлементного деления массивов - ./. Тогда будет получен массив чисел:
>> sin(x)./x
Warning: Divide by zero.
ans = NaN 0.841 0.454 0.047 -0.1892 -0.1918
Впрочем, и тут без особенностей не обошлось. Так, при x = 0 значение sin(x)/x дает устранимую неопределенность вида 0/0 - 1. Однако, как и всякая численная система, MATLAB классифицирует попытку деления на 0 как ошибку и выводит соответствующее предупреждение. А вместо ожидаемого численного значения выводится символьная константа NaN, означающая, что неопределенность 0/0 - это все же не обычное число.
Выражения с оператором : могут использоваться в качестве аргументов функций для получения множественных их значений. Например, в приводимом ниже примере вычислены функции Бесселя порядка от 0 до 5 со значением аргумента 0,5:
>> bessel(0:1:5,1/2)
ans = 0.938 0.242 0.030 0.002 0.0002 0.0000
А в следующем примере вычислено шесть значений функции Бесселя нулевого порядка для значений аргумента от 0 до 5 с шагом 1:
>> bessel(0,0:1:5)
ans = 1.0000 0.7652 0.2239 -0.2601 -0.3971 -0.1776
Таким образом, оператор : является весьма удобным средством задания регулярной последовательности чисел. Он широко используется при работе со средствами построения графиков. В дальнейшем мы расширим представление о возможностях этого оператора.
Функции пользователя
matlab график матрица функция
Хотя ядро новых версий системы MATLAB содержит уже более 1000 встроенных функций (не считая функций, определенных в десятках пакетов расширения), всегда может понадобиться какая-то нужная пользователю функция. Язык программирования системы MATLAB предоставляет ряд возможностей для задания функций пользователя. Одна из таких возможностей заключается в применении функции inline, аргументом которой надо в апострофах задать выражение, задающее функцию одной или нескольких переменных. В приведенном ниже примере задана функция двух переменных - суммы квадратов sin(x) и cos(y):
>> sc2=inline('sin(x).^2+cos(y)^.2')
sc2 =
Inline function:
sc2(x,y) = sin(x).^2+cos(y).^2
Можно также задавать свои функции в виде m-файлов. Например, можно в окне редактора m-файлов (открывается командой New в меню File) создать m-файл с именем sc2 и листингом:
function y=sc2(x,y)
y=sin(x).^2+cos(y).^2
Записав его на диск, можно командой type sc2 вывести листинг созданной функции:
>> type sc2
function y=sc2(x,y)
y=sin(x).^2+cos(y).^2
Обращение к функции, созданной описанными методами, задается как
sc2(x,y), где на место x и y подставляются значения переменных - аргументов функции пользователя. Например:
>> sc2(1,2)
ans = 0.8813
>> sc2(2,1)
y = 1.1187
ans = 1.1187
Можно также создать так называемую handle-функцию (именуемую также анонимной функцией) с помощью оператора @:
>> fh=@sc2;
К такой функции можно обращаться с помощью функции исполнения функций feval(fh,x,y):
>> feval(fh,1,2)
y = 0.8813
ans = 0.8813
>> feval(fh,2,1)
y = 1.1187
ans = 1.1187
Сообщения об ошибках и исправление ошибок
Большое значение при диалоге с системой MATLAB и отладке программ в ней имеет диагностика ошибок. Рассмотрим ряд примеров, поясняющих технику диагностики. Введем, к примеру, ошибочное выражение
>> sqr(2)
и нажмем клавишу ENTER. Система сообщит об ошибке:
??? Undefined function or variable 'sqr'.
Это сообщение говорит о том, что не определена переменная или функция, и указывает, какая именно, - sqr. В данном случае, разумеется, можно просто набрать правильное выражение. Однако в случае громоздкого выражения лучше воспользоваться редактором. Для этого достаточно нажать клавишу v для перелистывания предыдущих строк. В результате в строке ввода появится выражение
>> sqr(2)
с курсором в его конце. В MATLAB можно теперь нажать клавишу Tab. Система введет подсказку, анализируя уже введенные символы. Из предложенных системой трех операторов выбираем sqrt. Теперь c помощью клавиши v ?вновь выбираем нужную строку и, пользуясь клавишей <, устанавливаем курсор после буквы r. Теперь нажмем клавишу T, а затем клавишу ENTER. Выражение примет следующий вид:
>> sqrt(2)
ans = 1.4142
Если бы был только один вариант окончания введенных символов, то после нажатия клавиши Tab система бы закончила наш ввод без перевода строки.
Вычисления дают ожидаемый результат - значение квадратного корня из двух.
В системе MATLAB внешние определения используются точно так же, как и встроенные функции и операторы. Никаких дополнительных указаний на их применение делать не надо. Достаточно лишь позаботиться о том, чтобы используемые определения действительно существовали в виде файлов с расширением .m.
Впрочем, если вы забудете об этом или введете имя несуществующего определения, то система отреагирует на это звуковым сигналом (звонком) и выводом сообщения об ошибке:
>> hsin(1)
??? Undefined function or variable 'hsin'.
>> sinh(1)
ans = 1.1752
В этом примере мы забыли (нарочно), какое имя имеет внешняя функция, вычисляющая гиперболический синус. Система подсказала, что функция или переменная с именем hsin не определена - ни как внутренняя, ни как m-функция.
Зато далее мы видим, что функция с именем sinh есть в составе функций системы MATLAB - она задана в виде M_функции, хранящейся на жестком диске. Между тем в последнем примере мы не давали системе никаких указаний на то, что следует искать именно внешнюю функцию! И это вычисление прошло так же просто, как вычисление встроенной функции, такой как sin.
Иногда в ходе вывода результатов вычислений появляется сокращение NaN (от слов Not a Number - не число). Оно обозначает неопределенность, например вида 0/0 или Inf/Inf, где Inf - системная переменная со значением машинной бесконечности. Могут появляться и различные предупреждения об ошибках (на английском языке). Например, при делении на 0 конечного числа появляется предупреждение «Warning: Devide by Zero.» («Внимание: деление на нуль»). Диапазон чисел, представимых в системе, лежит от 10-308 до 10+308.
Вообще говоря, в MATLAB надо отличать предупреждение об ошибке от сообщения о ней. Предупреждения (обычно после слова Warning) не останавливают вычисления и лишь предупреждают пользователя о том, что диагностируемая ошибка способна повлиять на ход вычислений. Сообщение об ошибке (после знаков ???) останавливает вычисления. Система контроля за ошибочными ситуациями в MATLAB 2009 была существенно переработана и стала более корректной.
Формирование векторов и матриц
Задания векторов и матриц и доступ к их элементам
MATLAB - система, специально предназначенная для проведения сложных вычислений с векторами, матрицами и массивами. При этом она по умолчанию предполагает, что каждая заданная переменная - это вектор, матрица или массив. Все определяется конкретным значением переменной. Например, если задано X=1, то это значит, что X - это вектор с единственным элементом, имеющим значение 1, а точнее даже матрица с размером 1Ч1. Если надо задать вектор из трех элементов, то их значения следует перечислить в квадратных скобках, разделяя пробелами или запятыми. Так, например, присваивание
>> V=[1 2 3]
V = 1 2 3
задает вектор V, имеющий три элемента со значениями 1, 2 и 3 (его можно считать и матрицей размера 3Ч1). После ввода вектора система выводит его на экран дисплея. Заметим, для вектора столбца нужно разделять элементы знаками «;» (точка с запятой):
>> V=[1; 2; 3]
V =
1
2
3
Задание матрицы требует указания нескольких строк и нескольких столбцов.
Для разграничения строк используется знак ; (точка с запятой). Этот же знак в конце ввода предотвращает вывод матрицы или вектора (и вообще любой операции) на экран дисплея. Так, ввод
>> M=[1 2 3; 4 5 6; 7 8 9];
задает квадратную матрицу, которую можно вывести:
>> M
M =
1 2 3
4 5 6
7 8 9
Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих любые доступные системе функции, например:
>> V= [2+2/(3+4),exp(5),sqrt(10)];
>> V
V = 2.2857 148.4132 3.1623
Для указания отдельного элемента вектора или матрицы используются выражения вида V(i) или M(i, j). Например, если задать
>> М(2, 2)
ans = 5
то результат будет равен 5. Если нужно присвоить элементу M(i, j) новое значение x, следует использовать выражение
M(ij)=x
Например, если элементу M(2, 2) надо присвоить значение 10, следует записать
>> M(2, 2)=10
Вообще говоря, в тексте программ MATLAB лучше не использовать i и j как индексы, так как i и j - обозначение квадратного корня из -1. Но можно использовать I и J.
Выражение M(i) с одним индексом дает доступ к элементам матрицы, развернутым в один столбец. Такая матрица образуется из исходной, если подряд выписать ее столбцы. Следующий пример поясняет подобный доступ к элементам матрицы M:
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
>> M(2)
ans = 4
>> M(8)
ans = 6
>> M(9)
ans = 9
>> M(5)=100;
>> M
M =
1 2 3
4 100 6
7 8 9
Здесь уместно отметить, что размер векторов и матриц в данной книге учебного характера ограничен. Однако система MATLAB способна работать с очень большими векторами и матрицами. Например, последняя версия MATLAB может работать с матрицами размера nЧn, где максимальное значение n = 248 - 1, тогда как предшествующие версии имели максимальное значение n = 231. При этом размеры файла, который может хранить матрицу, могут достигать 18 Гб.
Задание векторов и матриц с комплексными элементами
Из курса математики известно о существовании комплексных чисел вида a + b * i, где a - действительная часть числа, b - мнимая часть и i - мнимая единица (корень квадратный из -1). Возможно задание векторов и матриц с комплексными элементами, например:
>> i=sqrt(-1);
>> CM = [1 2; 3 4] + i*[5 6; 7 8]
или
>> CM = [1+5*i 2+6*i; 3+7*i 4+8*i]
Это создает матрицу:
CM =
1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i
Возможно разделение элементов не только пробелами, но и запятыми.
Понятие о матричных операциях и магические матрицы
Наряду с операциями над отдельными элементами матриц и векторов система позволяет производить операции умножения, деления и возведения в степень сразу над всеми элементами, то есть над массивами. Для этого перед знаком операции ставится точка. Например, оператор * означает умножение для векторов или матриц, а оператор .* - поэлементное умножение всех элементов массива. Так, если M - матрица, то M.*2 даст матрицу, все элементы которой умножены на скаляр - число 2. Впрочем, для умножения матрицы на скаляр оба выражения - M*2 и M.*2 - оказываются эквивалентными.
Имеется также ряд особых функций для задания векторов и матриц. Например, функция magic(n) задает магическую матрицу размера nЧn, у которой сумма всех столбцов, всех строк и даже диагоналей равна одному и тому же числу:
>> M=magic(4)
M =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> sum(M)
ans = 34 34 34 34
>> sum(M')
ans = 34 34 34 34
>> sum(diag(M))
ans = 34
>> M(1,2)+M(2,2)+M(3,2)+M(4,2)
ans = 34
Уже сама по себе возможность создания такой матрицы с помощью простой функции magic заинтересует любителей математики. Но векторных и матричных функций в системе множество, и мы их детально рассмотрим в дальнейшем. Для стирания переменных из рабочей области памяти служит команда clear.
Конкатенация (объединение) матриц
Описанный способ задания матриц позволяет выполнить операцию конкатенации - объединения малых матриц в большую матрицу. Например, создадим вначале магическую матрицу размера 3Ч3:
>> A=magic(3)
A =
8 1 6
3 5 7
4 9 2
Теперь можно построить матрицу, содержащую четыре матрицы:
>> B=[A A+16;A+32 A+16]
B =
8 1 6 24 17 22
3 5 7 19 21 23
4 9 2 20 25 18
40 33 38 24 17 22
35 37 39 19 21 23
36 41 34 20 25 18
Полученная матрица имеет уже размер 6Ч6. Вычислим сумму ее столбцов:
>> sum(B)
ans = 126 126 126 126 126 126
Любопытно, что она одинакова для всех столбцов. А для вычисления суммы строк используем команду
>> sum(B.')
ans = 78 78 78 174 174 174
Здесь запись B.' означает транспонирование матрицы B, то есть замену строк столбцами. На этот раз сумма оказалась разной. Это отвергает изначально возникшее предположение, что матрица B тоже является магической. Для истинно магической матрицы суммы столбцов и строк должны быть одинаковыми:
Подобные документы
MATLAB – матричная лаборатория – наиболее развитая система программирования для научно-технических расчетов. Переменные и элементы xy-графики. Простые примеры, иллюстрирующие эффективность MATLAB. Системы линейных алгебраических уравнений и полиномы.
методичка [47,2 K], добавлен 26.01.2009Зарождение и развитие системы MatLab. Порядок выполнения простых вычислений. Построение логической области в графическом окне. Работа с символьными массивами. Написание функции, выполняющей требуемое задание для матриц и векторов любой размерности.
отчет по практике [761,4 K], добавлен 21.10.2015Язык и среда Matlab. Управляемая графика. Библиотека математических функций. Программный интерфейс. Использование операторов при составлении выражений. Работа в командной строке. Команды save, load и clear. Рабочий каталог. Сохранение рабочей сессии.
презентация [413,6 K], добавлен 14.11.2013Особенности графики системы MATLAB и ее основные отличительные черты. Построение графика функций одной переменной. Графики в логарифмическом масштабе, построение диаграмм, гистограмм, сфер, поверхностей. Создание массивов данных для трехмерной графики.
реферат [1,4 M], добавлен 31.05.2010Matlab - матричная лаборатория - система программирования для научно-технических расчетов. Особенности ввода векторов. Специальные матрицы, простые команды. Простые примеры, иллюстрирующие эффективность Matlab. Графический способ решения уравнений.
реферат [46,3 K], добавлен 05.01.2010Программный комплекс MATLAB как мощное средство для высокоточного цифрового моделирования системы автоматического управления. Основные особенности построения временных характеристик с помощью пакета Control System и моделирования в системе Simulink.
контрольная работа [2,3 M], добавлен 14.11.2012Создание матриц специального вида в Matlab: использование функций и анализ основного синтаксиса. Проведение вычислений с элементами массивов. Логические функции, поиск в массиве. Матричные и поэлементные операции. Операции "деления" слева и справа.
презентация [189,4 K], добавлен 24.01.2014Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами.
дипломная работа [1,9 M], добавлен 30.07.2015Изучение программирования в MATLAB. Использование команд Save и Load, операторы ввода и вывода для работы в командном окне. Отладка собственных программ. Интерфейс MATLAB. Отличия поздней версии MATLAB от более ранних. Средство Source Control Interface.
контрольная работа [43,0 K], добавлен 25.12.2011Назначение и возможности пакета MATLAB, его основные составляющие. Набор вычислительных функций. Роль интерполяции функций в вычислительной математике. Пример интерполяции с четырьмя узлами. Интерполирование и сглаживание, схемы решения задач в MATLAB.
курсовая работа [594,5 K], добавлен 28.12.2012