Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика матлаб (Мет пособие).doc
Скачиваний:
101
Добавлен:
15.06.2014
Размер:
338.43 Кб
Скачать

Практическое занятие №2

1. Определите последовательность значений экспоненты eat при выбранном вами значении действительного параметраa(a < 0) и таком диапазоне изменения времениt, который позволит получить качественное представление о виде зависимостиeat при небольшом числе (не больше десяти) дискретных значений переменнойt.

2. Проделайте то же самое при чисто мнимом значении параметра a = i.

3. Проделайте то же самое для функции, представленной суммой двух экспонент с комплексно сопряженными показателями a1 = i, a2 = -i.

4. Проделайте то же самое для функции, представленной суммой двух экспонент с комплексно сопряженными показателями a1 = -b+ i, a2 =-b -i.

5. Проделайте то же самое для функций y = cost, y = e-bt cost.

Построение графиков

Одной из самых привлекательных черт системы MATLAB является визуализация вычислений. Покажем примеры построения графиков функций одной переменной и двух переменных. Ограничимся самыми простыми примерами. Следуя им, можно построить графики во многих практических ситуациях. Однако это не исключает необходимость знакомства со справочной документацией по графическим средствам системыMATLAB. Все сказанное здесь о графиках функций одной переменной заимствовано почти дословно из начальной части одной из глав (Graphics)руководстваGetting Started with MATLAB. Для более полного знакомства с возможностями графических средств системыMATLAB следует прочитать упомянутую главу этого руководства до конца, а для овладения всем арсеналом графических средств не обойтись без знакомства с другим документом -Using MATLAB Graphics.

Рассмотрим сначала простейший пример – построение графика с помощью функции plot.Она имеет различные формы в зависимости от набора входных аргументов. Если y - вектор, функцияplot(y) производит кусочно-линейный график элементов y в зависимости от индекса элементов y. Если функцияplot(x,y) имеет два векторных аргумента одинаковой размерности, то будет произведен график y в зависимости от x. Например, чтобы изобразить значения функции синуса от нуля до 2, достаточно ввести команды

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

» y = sin(t);

» plot(t,y)

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

Если бы вместо функции plot(t,y) была использована функция plot(y), то в результате был бы выведен тот же график со значением аргумента от 0 до 200.

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

y2 = sin(t-.25);

y3 = sin(t-.5);

plot(t,y,t,y2,t,y3)

то система изобразит три связанных функции t, кривыми разного цвета

Имеется возможность определять цвет, стиль линии и маркеры, такие как, например, знак плюс, кружек с помощью еще одного аргумента функции plot:

plot(x,y,'color_style_marker')

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

- строки цвета - 'c', 'm', 'y', 'r', 'g', 'b', 'w', и 'k'. Они соответствуют сиану, фуксину, желтому, красному, зеленому, синему, белому, и черному (cyan, magenta, yellow, red, green, blue, white, and black.).

- строки стиля линии - '-' для твердого, '- -' для пунктирного, ':' для точечного, '-.' для точки, и 'none' для пустой строки.

- наиболее общий тип маркера включают '+', 'o', '*', и 'x.

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

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

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

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

t=0:pi/50:1.5*pi;

y1=t.*cos(t);

plot(t,y1,'k-');

hold on

y2=t.*cos(2*t);

plot(t,y2,'r*');

title('Example 2');

Команда plot3(…) является аналогом команды plot(…), но относится не к функции одной переменной y(x), а к функции двух переменных z(x,y). Она строит аксонометрическое изображение (3D) поверхностей. В простейшем случае она является функцией трех аргументов X,Y,Z, которые должны быть векторами одинаковой размерности. Четвертый аргумент задает спецификацию линий и точек, аналогично команде plot.

Приведем простейший пример трехмерной графики для иллюстрации сказанного

t=0:pi/50:7*pi;

plot3(sin(t),2*cos(t),t,'k');

title('Example 3');

К сожалению, этот пример не показателен для 3Dграфики. Как правило, в трехмерном пространстве изображаются функции двух независимых переменных. Для генерации "сетки" (равноотстоящих) значений аргументов функции нескольких переменных используется функцияmeshgrid (x, y) в форме:

[X, Y] = meshgrid (x, y). Она преобразует область, заданную векторамиx, y в массивыX, Y, которые могут быть использованы в качестве значений аргументов для вычисления функции двух переменных и построения графиков трехмерных поверхностей.

Пример:

» [X, Y]= meshgrid(0:.25:1, 0:.25:1)

X =

0 0.2500 0.5000 0.7500 1.0000

0 0.2500 0.5000 0.7500 1.0000

0 0.2500 0.5000 0.7500 1.0000

0 0.2500 0.5000 0.7500 1.0000

0 0.2500 0.5000 0.7500 1.0000

Y =

0 0 0 0 0

0.2500 0.2500 0.2500 0.2500 0.2500

0.5000 0.5000 0.5000 0.5000 0.5000

0.7500 0.7500 0.7500 0.7500 0.7500

1.0000 1.0000 1.0000 1.0000 1.0000

Если вспомнить, что матрицы хранятся по столбцам, то станет очевидным, что совокупность матриц X и Y – есть совокупность равноотстоящих точек на плоскости (x, y) в квадрате со стороной [0, 1] и шагом 0,25.

Для построения графика функции z = x2 + y2 в квадрате со стороной [-1, 1] и шагом 0,05 достаточно ввести следующие команды:

» [X, Y]= meshgrid(-1:.05:1, -1:.05:1);

» Z=X.^2+Y.^2;

» plot3(X,Y,Z)