Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
23.11.2024
Размер:
1.23 Mб
Скачать

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

clc

clear

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

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

surf(x,y,z);

colorbar

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

clc; clear

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

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

figure(1);

surfc(x,y,z); colorbar;

figure(2);

contour3(x,y,z); colorbar;

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

clc; clear

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

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

figure(1);

contour(x,y,z); colorbar;

figure(2);

V = 0.1:0.1:2; %Дальше некрасиво

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

clabel(CMatr,h); colorbar; grid on

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

clc; clear

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

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

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

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

Упражнение 6. Построить пунктирную линию красного цвета, задаваемую уравнениями

clear; clc

hold on; grid on

t = 0:0.01:100;

x = exp(-abs(t-50)-50) .* cos(t);

y = exp(-abs(t-50)-50) .* sin(t);

z = t;

plot3(x,y,z,'r:');

Упражнение 7. Построить прозрачную каркасную поверхность

clear; clc

u = [-pi/2:0.1:pi/2]';

v = 0:0.1:2*pi;

x = cos(u) * cos(v);

y = 2 * cos(u) * sin(v);

z = sin(u) * ones(size(v));

surf(x,y,z); colorbar; hidden off

Индивидуальные задания

Задание 1. Построить каркасную поверхность, залитую цветом, с указанием соответствия цветов значениям функции из Вашего варианта большого домашнего задания (БДЗ, часть 2), №№ 4.1 – 4.29.

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

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

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

clear; clc;

x = 0:0.01:2; y = 0:0.1:2;

[x,y]=meshgrid(x,y);

z = x.^4+y.^4-x.^2-2.*x.*y-y.^2;

figure(1)

title('#1')

hold on; surf(x,y,z); colorbar

figure(2)

title('#2.1')

hold on; meshc(x,y,z); colorbar

figure(3)

title('#2.2')

hold on; contour3(x,y,z); colorbar

figure(4)

title('#3.1')

hold on; contour(x,y,z); colorbar

figure(5)

title('#3.2')

hold on; V = -1.5:0.1:0;%Дальше некрасиво

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

clabel(CMatr,h); colorbar; grid on

figure(6)

hold on; title('#4') ;surf(x,y,z); view([60, 30]);

colorbar

clear; clc;

x = 0:0.1:2; y = 0:0.1:2;

[x,y]=meshgrid(x,y);

z = x.^3+6.*x.^2.*y+9*x.*y.^2-8.*y.^3+2.*x.^2+12.*x.*y+24.*y.^2;

figure(1)

title('#1')

hold on; surf(x,y,z); colorbar

figure(2)

title('#2.1')

hold on; surfc(x,y,z); colorbar

figure(3)

title('#2.2')

hold on; contour3(x,y,z); colorbar

figure(4)

title('#3.1')

hold on; contour(x,y,z); colorbar

figure(5)

title('#3.2')

hold on; V = -1.5:0.1:0;%Дальше некрасиво

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

clabel(CMatr,h); colorbar; grid on

figure(6)

hold on; title('#4') ;surf(x,y,z); view([60, 30]);

colorbar

Как можно построить область пересечения двух поверхностей, отрезав лишние части поверхностей? Приведите пример.

clear; clc;

X = 0:0.05:2; Y = 0:0.05:2;

[x,y]=meshgrid(X,Y);

z1 = x.^3+6.*x.^2.*y+9*x.*y.^2-8.*y.^3+2.*x.^2+12.*x.*y+24.*y.^2;

% surf(x,y,z1);

z2 = x.^4+y.^4-x.^2-2.*x.*y-y.^2+50;

hold on; view([30, 30]);axis([0 2 0 2 0 250]); grid on;

% surf(x,y,z2);

dz = z1 - z2;

C = contours(x, y, dz, [0 0]);

xN = C(1, 2:end);

yN = C(2, 2:end);

zN = interp2(x, y, z1, xN, yN);

line(xN, yN, zN, 'Color', 'm', 'LineWidth', 4);

Соседние файлы в папке 6