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

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

Вычислить объем тела, полученного при вращении криволинейной трапеции, ограниченной графиком функции и прямой():

а) относительно оси б) относительно оси

clear; clc; syms x;

% Задаём функцию

y = sin(x);

% Задаём нужный промежуток

x1 = 0; x2 = 2*pi;

% Вычисляем объём тела вращения

V1 = abs(pi*int(y^2,x1,x2));

disp('Объём тела вращения относительно OX:');

disp(['V = ', num2str(double(V1))]);

V2 = abs(2*pi*int(x*y,x1,x2));

disp('Объём тела вращения относительно OY:');

disp(['V = ', num2str(double(V2))]);

% Отрисовка тела вращения относительно OX

clf; grid on; hold on; axis equal;

x = 0:pi/10:2*pi;

y = sin(x);

z = 0*x;

% Задаём границы отрисовки

xmin = -0.5; xmax = 6.5;

ymin = -2.0; ymax = 2.0;

zmin= -1.0;zmax= 2.0

% Рисуем оси координат X и Y

XY(xmin, xmax, ymin, ymax);

% Рисуем ось Z

quiver3(0,0,zmin, 0,0,zmax-zmin, 1, 'black', 'lineWidth', 2);

% Подписываем оси координат

xlabel('X'); ylabel('Y'); zlabel('Z')

% Устанавливаем границы отображения

axis([xmin, xmax, ymin, ymax, zmin zmax]);

for i=1:5:360

L=plot3(x,y,z);

rotate(L,[1 0 0],10+i);

pause(0.01);

end

Объём тела вращения относительно OX:

V = 9.8696

Объём тела вращения относительно OY:

V = 39.4784

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

В пакете MatLab построить графики функций ,,. Вычислить площадь фигуры, ограниченной графиками всех трех функций. График оформить: сделать одинаковый масштаб по осям, нанести сетку, пометить оси координат, сделать заголовок.

clear; clc; clf; grid on; hold on; axis equal;

% Задаём цвет графиков и линий штриховки

f_color = 'blue'; g_color = 'red'; l_color = 'magenta';

% Задаём функцию f, рисуем искиз

f = 'x^2+1'; set(ezplot(f), 'Color', f_color);

% Задаём функцию g, рисуем искиз

g = '3-x'; set(ezplot(g), 'Color', g_color);

% Задаём границы отрисовки

xmin = -4; xmax = 4;

ymin = -1; ymax = 7;

% Задаём шаг штриховки площади

dx = 0.2;

% Находим точки пересечения функций

X = solve(strcat(f,'=',g));

disp('Точки пересечния функций:');

for i=1:1:length(X)

disp(['x',num2str(i),' = ',num2str(double(vpa(X(i))))]);

end

% Определяем нужный промежуток

x1 = double(vpa(X(1))); x2 = double(vpa(X(2)));

% Рисуем заданную часть графика f

set(ezplot(f,[x1, x2]), 'LineWidth', 2, 'Color', 'blue');

% Рисуем заданную часть графика f

set(ezplot(g,[x1, x2]), 'LineWidth', 2, 'Color', 'red');

% Подписываем название графика

title(strcat('y=',f,' и y=',g));

% Подписываем оси координат

xlabel('x'); ylabel('y');

% Преобразуем строки f и g в функции

f=str2func(strcat('@(x)',f));

g=str2func(strcat('@(x)',g));

% Рисум точки пересечения

plot(x1,f(x1),'.','Color','black');

plot(x2,f(x2),'.','Color','black');

line([x1,x1],[0,f(x1)],'LineStyle','--','Color','black')

line([x2,x2],[0,f(x2)],'LineStyle','--','Color','black')

% Заштриховываем площадь

fori=x1:dx:x2

if f(i) > g(i)

line([i i],[g(i), f(i)], 'Color', l_color);

else

line([i i],[f(i), g(i)], 'Color', l_color);

end;

end;

% Рисуем оси координат

XY(xmin, xmax, ymin, ymax);

% Устанавливаем границы отображения

axis([xmin, xmax, ymin, ymax]);

syms x;

% Считаем площадь

S = abs(int(f,x,x1,x2)-int(g,x,x1,x2));

disp('Площадь полученной фигуры:');

disp(['S = ', num2str(double(vpa(S)))]);

Точки пересечния функций:

x1 = -2

x2 = 1

Площадь полученной фигуры:

S = 4.5

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