Matlab

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

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

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, в области х-у поступают следующим образом

[Χ, Υ] = meshgrid(-8:.5:8);

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

Ζ = sin(R)./R; mesh (Χ, Υ, Ζ)

В этом примере 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, введите


Страница: