Matlab

                                 Оглавление


       Вступление ………………………………………………………………. 2

       1. Матрицы ……………………………………………………………….. 3

       2. Выражения ……………………………………………………………. 6

       2.1 Числа …………………………………………………………………..7

       2.2 Операторы ……………………………………………………………7

       2.3 Специальные символы …………………………………………….7

       2.4 Функции ………………………………………………………………..7

       3. Графика …………………………………………………………………8

       3.1Создание графика …………………………………………………....9

       3.2 Подграфики …………………………………………………………...10

       3.3 Управление осями ………………………………………………..….11

       3.4 Подписи к осям и заголовки …………………………….………….12

       3.5 Функции mesh и surface …………………………………………..….12

       3.6 Визуализация функций двух переменных ……………………..…12

       4. Командное окно …………………………………………………........14

       5. Среда MATLAB ………………………………………………………...14

       5.1 Рабочее пространство ……………………………………………..15

       5.2 Команда save ………………………………………………………...15

       6. Справка и текущая документация ………………………………...15

       Литература ………………………………………………………………..18



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

* математические вычисления

* создание алгоритмов

* моделирование

* анализ данных, исследования и визуализация

* научная и инженерная графика

* разработка приложений, включая создание графического интерфейса


   MATLAB - это интерактивная система, в которой основным элементом  данных
является  массив.  Это  позволяет  решать  различные  задачи,  связанные   с
техническими  вычислениями,  особенно  в  которых  используются  матрицы   и
вектора,  в  несколько  раз  быстрее,   чем   при   написании   программ   с
использованием  "скалярных"  языков  программирования,  таких  как  Си   или
Фортран.

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

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

   Система MATLAB состоит из пяти основных частей.

   Язык MATLAB. Это язык матриц и массивов высокого  уровня  с  управлением
потоками, функциями,  структурами  данных,  вводом-выводом  и  особенностями
объектно-ориентированного программирования.

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

   Управляемая графика. Это графическая система MATLAB, которая включает  в
себя команды высокого уровня для визуализации  двух-  и  трехмерных  данных,
обработки  изображений,  анимации  и  иллюстрированной  графики.  Она  также
включает в себя команды низкого уровня, позволяющие полностью  редактировать
внешний вид графики, также как при создании  Графического  Пользовательского
Интерфейса (GUI) для MATLAB приложений.

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

   Программный  интерфейс.  Это  библиотека,   которая   позволяет   писать
программы на Си и Фортране, которые взаимодействуют с MATLAB.  Она  включает
средства для вызова программ из MATLAB (динамическая связь), вызывая  MATLAB
как вычислительный инструмент и для чтения-записи МАТ-файлов.

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

   Blocksets - это дополнения к Simulink, которые  обеспечивают  библиотеки
блоков  для  специализированных  приложений,  таких  как  связь,  обработка
сигналов, энергетические системы.

   Real-Time Workshop - это программа, которая позволяет генерировать С код
из блоков диаграмм и запускать  их  на  выполнение  на  различных  системах
реального времени.

   1. Матрицы

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



   Ввод матриц

   Вы можете вводить матрицы в MATLAB несколькими способами:

* вводить полный список элементов

* загружать матрицы из внешних файлов

* генерировать матрицы, используя встроенные функции

* создавать матрицы с помощью ваших собственных функций в М-файлах

Начтем с введения магической матрицы Дюрера (рис. 1) как списка  элементов.
Вы должны следовать нескольким основным условиям:

* отделять элементы строки пробелами или запятыми

* использовать точку с запятой ; для обозначения окончания каждой строки

* окружать весь список элементов квадратными скобками, [ ].

   Чтобы ввести матрицу Дюрера просто напишите:

     А =   [16  3  2   13;   5   10   11   8;   967    12;    4    15    14
  1]

   MATLAB отобразит матрицу, которую мы ввели,

                A =
                    16 3   2   13
                    5   10  11  8
                    9   6   7   12
                    4   15  14  1

   Если мы ввели матрицу, то она автоматически запоминается средой  MATLAB.
И мы можем к ней легко обратиться как к  А.  Сейчас,  когда  мы  имеем  А  в
рабочем пространстве MATLAB, посмотрим,  что  делает  её  такой  интересной.
Почему она называется магической?

   Операции суммирования элементов, транспонирования и диагонализации
матрицы

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

     sum (А)

   MATLAB выдаст ответ

     ans   =

              34  34  34  34

   Когда выходная переменная не определена,  MATLAB  использует  переменную
ans, коротко от answer - ответ,  для  хранения  результатов  вычисления.  Мы
подсчитали вектор-строку, содержащую сумму  элементов  столбцов  матрицы  А.
Действительно, каждый столбец  имеет  одинаковую  сумму,  магическую  сумму,
равную 34.

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

     sum(A') '

   вызывает результат вектор-столбец, содержащий суммы в строках

       ans   =   34

             34

             34

             34

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

     diag (A)

       ans   =  16

             10

             7

             1



   А функция

   sum (diag (А) ) вызывает

       ans   = 34

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

   sum(diag(fliplr(A)))

       ans = 34

   Индексы

   Элемент в строке i и столбце j матрицы А обозначается A(i,j).  Например,
А(4,2) -  это  число  в  четвертой  строке  и  втором  столбце.  Для  нашего
магического квадрата А(4,2) =  15.  Таким  образом,  можно  вычислить  сумму
элементов в четвертом столбце матрицы А, набрав

         A(1,4) + А(2,4) + А(3,4) + А(4,4)

   получим

         ans   =  34

   Однако это не самый лучший способ суммирования отдельной строки.

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

   Так, для нашего магического квадрата, А(8) - это другой способ ссылаться
на значение 15, хранящееся в А(4,2).

   Если вы пытаетесь использовать значение  элемента  вне  матрицы,  MATLAB
выдаст ошибку:

     t=A(4,5)

      ???  Index exceeds matrix dimensions.

   С другой стороны, если вы сохраняете значение  вне  матрицы,  то  размер
матрицы увеличивается.



        X=A;
        X(4,5) = 17
        X =
           16   3   2   13   0
            5   10  11  8    0
            9    6   7   12   0
            4   15  14  1    17

   Оператор двоеточия

   Двоеточие :  -  это  один  из  наиболее  важных  операторов  MATLAB.  Он
проявляется в различных формах. Выражение

     1:10

   - это вектор-строка, содержащая целые числа от 1 до 10

      123456789  10



   Для получения обратного интервала, опишем приращение. Например

   100:-7:50

   что дает

   100    93    86    79    72    65    58    51

    ИЛИ

    0:pi/4:pi

   что даст

   О    0.7854    1.5708    2.3562    3.1416

   Индексное выражение, включая двоеточие, относится к части матрицы.

   A(1:k, j)

   это первые k элементов j -го столбца матрицы А.

   Так

     sum(A(l:4,4))

   вычисляет сумму четвертой строки. Но есть и  лучший  способ.  Двоеточие,
само по себе, обращается ко всем элементам в строке и  столбце  матрицы,  а
слово end — к последней строке или столбцу. Так

     sum (А (:, end) )

   вычисляет сумму элементов в последнем столбце матрицы А

      ans   = 34



2. Выражения

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

* переменные

* числа

* операторы

* функции

   Переменные

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

     num_students = 25

   создает матрицу 1x1 с именем num_students и сохраняет значение 25  в  ее
единственном элементе.

   Имена переменных состоят  из  букв,  цифр  или  символов  подчеркивания.
MATLAB  использует  только  первые  31  символ  имени   переменной.   MATLAB
чувствителен к регистрам, он различает заглавные и строчные  буквы.  Поэтому
А и а - не одна и та  же  переменная.  Чтобы  увидеть  матрицу  связанную  с
переменной, просто введите название переменной.

   2.1 Числа

   MATLAB   использует   принятую   десятичную   систему    счисления,    с
необязательной десятичной точкой и знаками плюс-минус  для  чисел.  Научная
система счисления использует букву  е  для  определения  множителя  степени
десяти. Мнимые числа используют i или  j  как  суффикс.  Некоторые  примеры
правильных чисел приведены ниже

    3                       -99                      0.0001
    9.6397238         1.60210e-20      6.02252e23
    1i                      -3.14159j            3e5i

   Числа   с   плавающей   точкой   обладают   ограниченной   точностью   -
приблизительно 16 значащих цифр и ограниченным диапазоном  –  приблизительно
от 10-308 до 10308

   2.2 Операторы

   Выражения  используют  обычные   арифметические   операции   и   правила
старшинства.

     +       сложение

      –       вычитание

      *       умножение

      /        деление

       ?       степень

       '      комплексно сопряженное транспонирование

     ()      определение порядка вычисления

   2.3 Специальные символы

   [ ] – квадратные скобки используют для создания матриц и векторов;

      – пробел служит для разделения элементов матриц;

   , – запятая применяется для разделения элементов матриц и  операторов  в
       строке ввода;

   ; – точка с запятой отделяет строки матриц, а точка с  запятой  в  конце
       оператора (команды) отменяет вывод результата на экран;

   : – двоеточие используется для указания диапазона  (интервала  изменения
       величины) и  в  качестве  знака  групповой  операции  над  элементами
       матриц;

   % – знак процента обозначает начало комментария;

   ! – отмечает начало команды DOS

   ’ – апостроф указывает на символьные строки.

   2.4 Функции

   MATLAB  предоставляет  большое  количество  элементарных  математических
функций, таких как abs, sqrt, exp, sin.  Вычисление  квадратного  корня  или
логарифма  отрицательного  числа  не  является  ошибкой:   в   этом   случае
результатом  является  соответствующее  комплексное  число.   MATLAB   также
предоставляет и более сложные  функции,  включая  Гамма  функцию  и  функции
Бесселя. Большинство из этих  функций  имеют  комплексные  аргументы.  Чтобы
вывести список всех элементарных математических функций, наберите

   help elfun Для вывода более сложных математических и матричных  функций,
наберите

        help specfun

        help elmat

   соответственно.

   Некоторые функции, такие как sqrt и  sin,  -  встроенные.  Они  являются
частью MATLAB, поэтому они очень эффективны,  но  их  вычислительные  детали
трудно доступны. В то время как другие функции,  такие  как  gamma  и  sink,
реализованы в М-файлах. Поэтому вы можете легко увидеть их код и,  в  случае
необходимости, даже модифицировать его.

   Несколько специальных функций предоставляют значения часто  используемых
констант.

     pi    3.14159265...

     i     мнимая единица, ?-1

     j      то же самое, что и i

     realmin     наименьшее число с плавающей точкой, 2-1022

     realmax     наибольшее число с плавающей точкой, (2-?)21023

     Inf   бесконечность

     NaN   не число



   Бесконечность  появляется  при  делении  на  нуль  или  при   выполнении
математического выражения, приводящего к  переполнению,  т.е.  к  превышению
realmax. Не число (NaN) генерируется при вычислении выражений типа  О/О  или
Inf- Inf, которые не имеют определенного математического значения.

   Имена функций не являются зарезервированными, поэтому возможно  изменять
их значения на новые, например

     eps = 1.e-6

   и далее использовать это значение в последующих  вычислениях.  Начальное
значение может быть восстановлено следующим образом

     clear eps



   3. Графика

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



   3.1Создание графика

   Функция plot имеет различные формы, связанные  с  входными  параметрами,
например plot(y) создает кусочно-линейный график зависимости элементов у  от
их индексов. Если вы задаете два вектора в  качестве  аргументов,  plot(x,y)
создаст график зависимости у от х.

   Например, для построения графика значений функции sin  от  нуля  до  2?,
сделаем следующее

     t  =   0:pi/100:2*pi;

     у  =  sin(t);

     plot(t,у)



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

     у2   =  sin(t-.25);

     уЗ  =  sin(t-.5);

     plot(  t,   у,   t,   y2,   t,   уЗ)



   Возможно изменение цвета, стиля линий и маркеров, таких как  знаки  плюс
или кружки, следующим образом

     plot(x, у, 'цвет_стиль_маркер')

   цвет_стиль_маркер это 1-,  2-,  3-х  символьная  строка  (заключенная  в
одинарные кавычки), составленная из типов цвета, стиля линий и маркеров:

Символы, относящие к цвету:  'с', 'т', 'у', 'r', 'g', b',  'w'  и  'k'.  Они
обозначают голубой, малиновый, желтый,  красный,  зеленый,  синий,  белый  и
черный

цвета соответственно.

Символы, относящиеся к типу линий:  ' - ' для сплошной, ' — ' для разрыв

ной, ': ' для пунктирной, ' -. ' для штрихпунктирной линий и '  попе  '  для
её от

сутствия.

* Наиболее часто встречающиеся маркеры '+','о','*'и'х'.

   Например, выражение

     plot(x,y,'y:+')

   строит желтый пунктирный график и помещает маркеры ' + ' в каждую  точку
данных. Если вы определяете только тип маркера, но не определяете тип  стиля
линий, то MATLAB выведет только маркеры.

   Окна изображений

   Функция plot  автоматически  открывает  новое  окно  изображения  (далее
окно), если до этого его не было на экране. Если же оно существует, то plot
использует его по умолчанию. Для открытия  нового  окна  и  выбора  его  по
умолчанию, наберите

   figure

   Для того, чтобы сделать существующее окно текущим -

   figure(n)

   где n - это номер в  заголовке  окна.  В  этом  случае  результаты  всех
последующих команд будут выводиться в это окно.

   Добавление кривых на существующий график

   Команда hold позволяет добавлять кривые на существующий график. Когда вы
набираете

     hold on

   MATLAB не стирает существующий график, а добавляет в него новые  данные,
изменяя оси, если это необходимо. Например, следующий элемент  кода  вначале
создает контурные линии функции peaks,  а  затем  накладывает  псевдоцветной
график той же функции:

     [x,y,z] = peaks;

     contour(?,у,z,20,'k')

     hold on

     pcolor(x,y,z) shading interp

   Команда hold on является причиной того, что график pcolor  комбинируется
с графиком contour в одном окне

   3.2 Подграфики

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

     subplot(m,n,p)

   разбивает окно изображений на матрицу m на n подграфиков и выбирает n-ый
подграфик текущим. Графики нумеруются вдоль первого в верхней строке,  потом
во второй и т.д. Например, для того, чтобы представить графические данные  в
четырех разных подобластях окна необходимо выполнить следующее:

     t = 0:pi/10:2*pi;

     [X,?,?] = cylinder(4*cos(t));

     subplot(2,2,1)

     mesh(X)

     subplot(2,2,2); mesh(Y)

     subplot(2,2,3);mesh(Z)

     subplot(2,2,4); mesh(X,Y,Z)



   3.3 Управление осями

   Функция  axis  имеет  несколько  возможностей  для  настройки  масштаба,
ориентации и коэффициента сжатия.

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

     axis( [xmin xmax ymin ymax] )

   В функции axis можно также использовать ключевые  слова  для  управления
внешним видом осей. Например

     axis square

     создает ? и у оси равной длины, а

     axis equal

   создает отдельные отметки приращений для ? и у  осей  одинаковой  длины.
Так функция

     plot(exp(i*t))

   следующая либо за axis square, либо за  axis  equal  превращает  овал  в
правильный круг.

      axis auto

   возвращает значения по умолчанию и переходит в автоматический режим.

     axis on

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

      axis off

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

      grid off

   выключает сетку координат, а

      grid on

   включает её заново.

   3.4 Подписи к осям и заголовки

   Функции xlabel, ylabel, zlabel добавляют подписи к соответствующим осям,
функция title добавляет заголовок в  верхнюю  часть  окна,  а  функция  text
вставляет текст в  любое  место  графика.  Использование  ТЕХ  представления
позволяет применять греческие  буквы,  математические  символы  и  различные
шрифты. Следующий пример демонстрирует эту возможность.

     t  = -pi:pi/100:pi;

     у = sin(t) ;

     plot(t,у)

     axis([-pi pi -1 1])

     xlabel( ' -\pi \leq \itt \leq \pi ' )

     ylabel( ' sin(t) ' )

     title( ' График функции sin ' )

     text(-l, -1/3, ' \it{отметьте нечетную симметрию} ' )


                                    [pic]



   3.5 Функции mesh и surface

   MATLAB определяет поверхность как ? координаты  точек  над  координатной
сеткой плоскости х-у, используя прямые линии для соединения соседних точек.
Функции mesh и surface отображают поверхность в трех измерениях. При этом

   mesh создает каркасную поверхность, где цветные линии  соединяют  только
заданные точки, а функция surface вместе с линиями  отображает  в  цвете  и
саму поверхность.

   3.6 Визуализация функций двух переменных

   Для отображения функции двух переменных, z = f (x,y), создаются  матрицы
X и Y, состоящие из повторяющихся строк и  столбцов  соответственно,  перед
использованием функции. Затем  используют  эти  матрицы  для  вычисления  и
отображения функции.  Функция  meshgrid  преобразует  область  определения,
заданную через один вектор или два вектора x и у,  в  матрицы  X  и  ?  для
использования при вычислении функции  двух  переменных.  Строки  матрицы  X
дублируют вектор х, а столбцы ? - вектор у.

   Для  вычисления  двумерной  функции  sinc  ,  sin(r)/r,  в  области  х-у
поступают следующим образом

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

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

      ? = sin(R)./R; mesh (X, ?, ?)

   В  этом  примере  R  -  это  рассояние  от  начала  координат,  которому
соответствует   центр   матрицы.   Добавление   eps   позволяет    избежать
неопределенности О/О в начале координат.

   Изображения

   Двумерные массивы могут отображать как изображения, где элементы массива
определяют их яркость и цвет. Например

      load durer whos

   покажет, что  файл  durer.mat  в  директории  demo  состоит  из  матрицы
размером 648 на 509 (матрицы X) и матрицы размером 128 на 3 (матрицы  тар).
Элементы матрицы  X  -  это  целые  числа  от  1  до  128,  которые  служат
индикаторами в цветном отображении, тар. Следующие строки

      imag(X)

      colormap(map)

      axis image

   Воспроизводят гравюру Дюрера. Высокое разрешение  магического  квадрата,
находящегося в правом верхнем углу, доступно в другом файле. Наберите

      load detail

   и используйте стрелку  'вверх'  на  клавиатуре  для  повторного  запуска
команд image, colormap и axis.

   colormap(hot)

   добавит цветовую гамму двадцатого века на гравюру шестнадцатого.

   3.6 Печать графики

   Опция Print в меню File и команда print печатают  графику  MATLAB.  Меню
Print  вызывает  диалоговое  окно,   которое   позволяет   выбирать   общие
стандартные варианты печати. Команда print  обеспечивает  большую  гибкость
при выводе выходных данных и позволяет контролировать печать  из  М-файлов.
Результат может быть послан прямо на принтер, выбранный по  умолчанию,  или
сохранен в заданном файле. Возможно широкое варьирование  формата  выходных
данных, включая использование PostScript.

   Например,  следующая  команда  сохранит  текущее  окно  изображения  как
цветной PostScript Level 2 Encapsulated в файле magicsquare.eps:

      print -depsc2 magicsquare.eps

   Важно знать возможности вашего  принтера  перед  использованием  команды
print. Например, файлы Postscript Level 2 обычно  меньше  и  воспроизводятся
намного быстрее, чем Postscript Level 1. Однако, не все Postscript  принтеры
поддерживают Level  2,  таким  образом  вам  необходимо  узнать,  что  может
обрабатывать ваше устройство вывода.  MATLAB  использует  дифференцированный
подход для вывода графики и текста, даже для черно-белых устройств.



   4. Командное окно

   До сих пор, мы использовали  только  командную  строку  MATLAB,  печатая
команды и выражения и наблюдая результаты. В этой  главе  описано  несколько
способов  изменения  внешнего  вида  командного  окна.  Если  ваша   система
позволяет вам выбирать  шрифт,  то  мы  рекомендуем  использовать  шрифты  с
фиксированной шириной, такие  как  Fixedsys  или  Courier,  для  обеспечения
правильного межстрочного интервала.

   Если самый большой элемент матрицы больше 103 или самый маленький меньше
10-3, MATLAB применяет общий масштабный коэффициент для  форматов  short  и
long. В добавление к командам format, рассмотренным выше

     format compact

   убирает много пустых линий, появляющихся на выходе.  Это  позволяет  вам
видеть больше информации на экране. Если вы  хотите  изменить  контроль  над
форматом выходных данных, используйте функции sprint/ и /print/.

   Сокращение выходных данных

   Если  вы  наберете  выражение  и  нажмете  Return  или   Enter,   MATLAB
автоматически выведет результат на экран. Однако  если  в  конце  строки  вы
поставите точку с запятой, MATLAB проведет вычисления, но не  отобразит  их.
Это часто бывает нужно при создании больших матриц. Например,

     A = magic(100);

   Длинные командные строки

   Если выражение не умещается на одной строке, используйте троеточие, а за
ним Return или Enter, для обозначения того, что  выражение  продолжается  на
следующей строке. Например

        s = l -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7 . . . -1/8 + 1/9  -  1/10  +
     1/11 - 1/12;

   Пробелы вокруг знаков =, +, - не  обязательны,  но  улучшают  читаемость
текста.

   Редактор командной строки

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

     rho  =   (1  +  sqt(5))/2

   Вы ошиблись в написании sqrt. MATLAB ответит вам предупреждением

     Undefined function or variable 'sqt'.

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



   5. Среда MATLAB

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

   5.1 Рабочее пространство

   Рабочее пространство - это область памяти, доступная из командной строки
MATLAB. Две команды, who и  whos,  показывают  текущее  содержание  рабочего
пространства. Команда who выдает краткий список, а  команда  whos  размер  и
используемую память.

   Ниже  представлен  вывод,  осуществленный  командой  whos,  на   рабочем
пространстве, содержащем результаты из некоторых  примеров  этой  книги.  Он
показывает  различия  в  структуре  данных  MATLAB.  В  качестве  упражнения
попробуйте  найти  сегмент  кода,  который  соответствует  каждой  из   ниже
приведенных переменных.

     whos

        Name         Size       Bytes Class

        A   4x4   128  double array

        D   5x3   120  double array

        ?   10x1  3816 cell array

        S   1x3   442  struct array

        h   1x11  22   char array

        ?   1x1   8    double array

        s   1x5   10   char array

        ?   2x5   20   char array

     Grand total is 471 elements using 4566 bytes.

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

     clear

   5.2 Команда save

   Команда save сохраняет содержание  рабочего  пространства  в  МАТ-файле,
который может быть прочитан  командой  load  в  последующих  сеансах  работы
MATLAB. Например,

     save Augustl7th

   сохраняет содержание всего рабочего пространства в файле Augustl7th.mat.
Если нужно, вы можете сохранить только определенные переменные, указывая  их
имена после имени файла.



                      6. Справка и текущая документация

   Есть  несколько  способов  получить  текущую  документацию  по  функциям
MATLAB.

       . Команда help

       . Окно справки

       . MATLAB Help Desk

       . Текущие справочные страницы

       . Связь с The MathWorks, Inc.

   Команда help

   Команда help -  это  самый  основной  способ  определения  синтаксиса  и
поведения отдельных функций.  Информация  отображается  прямо  в  командном
окне. Например

   help magic

   выдаст

   MAGIC  Magic square.

   MAGIC(?) is an N-by-N matrix constructed from the integers 1 through ??2
with equal row, column, and diagonal sums. Produces valid magic squares for
N = 1,3,4,5,...

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

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

   help matfun

     Matrix functions - numerical linear algebra.

     Matrix analysis.

        norm        - Matrix or vector norm,

        normest     - Estimate the matrix 2-norm.

   Команда lookfor

   Команда  lookfor  позволяет  искать  функции  по  ключевому  слову.  Она
просматривает первую строку текста  справки,  называемую  строкой  H1,  для
каждой функции MATLAB и возвращает строки H1, содержащие заданное  ключевое
слово. Например, MATLAB не имеет функции с именем inverse. Поэтому ответ на
запрос

     help inverse

   будет

      inverse.m not found.

   В то время как

        lookfor inverse

   найдет множество согласованных ответов. В  зависимости  от  того,  какие
toolboxes вы установили, вы получите соответствующие записи. Например

     INVHILB Inverse Hubert matrix.

     ACOS   Inverse cosine.

     ACOSH Inverse hyperbolic cosine.

     ACOT   Inverse cotangent.

     ACOTH Inverse hyperbolic cotangent.

     ACSC   Inverse cosecant.

     ACSCH Inverse hyperbolic cosecant.

     ASEC   Inverse secant.

     ASECH Inverse hyperbolic secant.

     ASIN  Inverse sine.

     ASINH Inverse hyperbolic sine.

     ATAN  Inverse tangent.

   Добавление ключа -all в команду lookfor, как, например,

     lookfor -all

   позволяет искать ключевое слово во всех записях справки, а не  только  в
строке H1.

   Печать текущих справочных страниц

   Версии текущих справочных страниц, как и большинство документации, также
доступно в формате PDF (Portable  Document  Format)  через  Help  Desk.  Эти
страницы обрабатываются с помощью Adobe's Acrobat reader. Они  воспроизводят
внешний  вид  страниц  после  печати,  полностью  с  шрифтами,  графикой,  с
заданным форматом и рисунками. Это лучший  способ  получить  печатные  копии
справочных материалов.

                                 Литература
   1. Getting Started with MATLAB,  pdf  документ,   перевод  с  английского
      Конюшенко В.В konushenko@afrodita.phys.msu.su
   2. Компьтер в математическом исследовании, pdf документ, В. Говорухин, Б.
      Цибулин.