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

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

Лабораторная работа №2 Упражнение 1.

Построить график функции на отрезкеВычислить площадь фигуры, ограниченной графиком функции и линиями,

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

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

f = 'x*cos(x)'; ezplot(f);

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

xmin = -1; xmax = 2.5;

ymin = -1; ymax = 1.5;

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

x1 = 0; x2 = pi/2;

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

dx = 0.05;

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

XY(xmin, xmax, ymin, ymax);

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

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

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

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

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

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

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

fori=x1:dx:x2

if f(i) > 0

line([i i],[0, f(i)]);

else

line([i i],[f(i), 0]);

end;

end;

% Вычисляем площадь

S = int(f,x,x1,x2);

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

S = 0.5708

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

Построить графики функций иНайти точки пересечения графиков. Вычислить площадь фигуры, ограниченной графиками.

clear;clc;clf;gridon;holdon;axisequal;symsx;

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

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

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

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

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

g = '7-4*x-x^2'; set(ezplot(g), 'Color', g_color);

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

xmin = -7; xmax = 5;

ymin = -2; ymax = 12;

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

dx = 0.25;

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

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]);

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

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

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

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

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

x1 = -3.8979

x2 = 0.89792

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

S = 36.768

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

Построить графики функций, заданные параметрически. Вычислить площадь фигуры, ограниченной графиками. Упражнение проделать с использованием MatLab

а) ,;

б) ,.

clear;clc;clf;gridon;holdon;axisequal;

% Задаём границы изменения параметра

t1 = 0; t2 = 2*pi;

% Задаём параметрическую функцию

x = 'cos(t)';

y = 'sin(t)';

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

xmin = -1.5; xmax = 1.5;

ymin = -1.5; ymax = 1.5;

% Вычисляем площадь

S = abs(int(y*diff(x),t1,t2));

disp('Площадь фигуры:');

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

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

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

y = str2func(strcat('@(t)',y));

% Рисуем график

t = t1 : pi/100 : t2;

X = x(t); Y = y(t);

plot(X,Y,'LineWidth',2)

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

XY(xmin, xmax, ymin, ymax);

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

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

Площадь фигуры:

S = 3.1416

...

% Задаём границы изменения параметра

t1 = 0; t2 = 2*pi;

% Задаём параметрическую функцию

x = '2*cos(t)';

y = '3*sin(t)';

...

Площадь фигуры:

S = 18.8496

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