1386-1 (MatLab), страница 2
Описание файла
Документ из архива "MatLab", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "1386-1"
Текст 2 страницы из документа "1386-1"
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;
[Χ,Υ,Ζ] = 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{отметьте нечетную симметрию} ' )
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 размер и используемую память.