Скачиваний:
11
Добавлен:
05.12.2017
Размер:
205.71 Кб
Скачать

Лабораторная работа №6

Лабораторная работа №6

Упражнение 1.

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

а) верхняя и нижняя границы сплошные, б) обе границы пунктирные;

в), г) одна граница сплошная, другая пунктирная.

function u_1(f, g, x, a, b, n, type)

hold on;

grid on;

if (type == 'a')

s = ezplot(f, [a, b]);

set(s, 'LineStyle', '-');

s = ezplot(g, [a, b]);

set(s, 'LineStyle', '-');

dx = (b - a) / n;

for i = (1 : n + 1)

x1 = a + dx * (i - 1);

line([x1; x1], ...

[double(subs(f, x, x1)); double(subs(g, x, x1))]);

end

end

if (type == 'b')

s = ezplot(f, [a, b]);

set(s, 'LineStyle', '--');

s = ezplot(g, [a, b]);

set(s, 'LineStyle', '--');

dx = (b - a) / n;

for i = (1 : n + 1)

x1 = a + dx * (i - 1);

line([x1; x1], ...

[double(subs(f, x, x1)); double(subs(g, x, x1))]);

end

end

if (type == 'c')

s = ezplot(f, [a, b]);

set(s, 'LineStyle', '-');

s = ezplot(g, [a, b]);

set(s, 'LineStyle', '--');

dx = (b - a) / n;

for i = (1 : n + 1)

x1 = a + dx * (i - 1);

line([x1; x1], ...

[double(subs(f, x, x1)); double(subs(g, x, x1))]);

end

end

if (type == 'd')

s = ezplot(f, [a, b]);

set(s, 'LineStyle', '--');

s = ezplot(g, [a, b]);

set(s, 'LineStyle', '-');

dx = (b - a) / n;

for i = (1 : n + 1)

x1 = a + dx * (i - 1);

line([x1; x1], ...

[double(subs(f, x, x1)); double(subs(g, x, x1))]);

end

end

end

Упражнение 2

Используя М-функции из упр. 1, построить области определения функции .

>> syms x;

>> f = x^2 - 1;

>> g = x^2 + 1;

>> u_1(f, g, x, -5, 5, 100, 'a');

Упражнение 3

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

>> [x, y] = meshgrid([0.1 : 0.1 : 2], [0.1 : 0.1 : 2]);

>> z = 1 ./ x + 1 ./ y;

>> surf(x, y, z);

>> colorbar;

Упражнение 4

Для функции из упражнения 3 построить линии уровня и поверхности, состоящие из линий уровня.

>> [x, y] = meshgrid([0.1 : 0.1 : 2], [0.1 : 0.1 : 2]);

>> z = 1 ./ x + 1 ./ y;

>> meshc(x, y, z);

>> contour3(x, y, z);

Упражнение 5

Для функции из упр. 3 построить плоские линии уровня без нанесения и с нанесением значений функции с шагом 0.1. Нанести сетку.

>> [x, y] = meshgrid([0.1 : 0.1 : 2], [0.1 : 0.1 : 2]);

>> z = 1 ./ x + 1 ./ y;

>> contour(x, y, z);

>> grid on;

>> [CMatr, h] = contour(x, y, z);

>> clabel(CMatr, h);

>> grid on;

Упражнение 6.

Для функции из упр. 3 построить плоские линии уровня для 10 значений функции с заливкой промежутков между линиями уровня и шкалой соответствия цветов значениям функции.

>> [x, y] = meshgrid([0.1 : 0.1 : 2], [0.1 : 0.1 : 2]);

>> z = 1 ./ x + 1 ./ y;

>> contourf(x, y, z, 10);

>> grid on;

>> colorbar;

Упражнение 7

Для функции из упр. 3 построить в одном графическом окне каркасную поверхность с заливкой клеток с обзорами вдоль каждой из осей азимутом по умолчанию и углом возвышения 60.

>> [x, y] = meshgrid([0.1 : 0.1 : 2], [0.1 : 0.1 : 2]);

>> z = 1 ./ x + 1 ./ y;

>> surf(x, y, z);

>> view(-37.5, 60);

-8-

Соседние файлы в папке Лабораторные (использовать только в случае крайней необходимости)