Лабораторная
работа №4
Компьютерный
практикум по математическому анализу
никитина
дарья пин-21д
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 1 (Upr_5_1.m)
% Программа вызова функции строящей области
n=10;
% График 1
G=@(x) 3*x-x.^2;
F=@(x) -x;
a=0.5;b=3.5;
Graph(F,G,a,b,n); % Вызов функции
% График 2
figure
G=@(x) -x.^2+1.5;
F=@(x) x.^3;
a=-1; b=1.5;
Graph(F,G,a,b,n);% Вызов функции
% График 3
figure
G=@(x) 1./(1+x.^2);
F=@(x) x.^2/2;
a=-0.8; b=0.8;
Graph(F,G,a,b,n);% Вызов функции
function Graph(F,G,a,b,n)
% Функция построения области, ограниченной графиками и прямыми
% F и G - функции, определяющие нижнюю и верхнюю границы области
% a, b - границы области.
x=a:0.1:b;
c=(b-a)/n;
plot(x,F(x),'b',x,G(x),'r','LineWidth',2);grid
xlim([a-c, b+c])
%line([a,a], [F(a), G(a)],'LineWidth',2)
line([a,a], [F(a), G(a)],'LineStyle','--','LineWidth',1.5)
%line([b,b], [F(b), G(b)],'LineWidth',2)
line([b,b], [F(b), G(b)],'LineStyle','--','LineWidth',1.5)
h=(b-a)/n;
for i=1: n-1
x=a+i*h;
line([x,x], [F(x), G(x)],'LineStyle','--','LineWidth',1) ;
end
xlabel('x'); ylabel('F(x), G(x)')
legend('F(x)','G(x)')
а)
-
Область между двумя параболами
б)
-
Полукруг в положительной части оси Оу
в)
Кольцо с внутренним радиусом 1 и внешним 2.
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 2 (Upr_5_2.m)
%% Область определения функции f(x,y)=sqrt(y+1-x^2)*sqrt(1+x^2-y);
a=-3;b=3; n=50;
c=-2; d=6;
ff1=@(x,y) sqrt(y+1-x.^2).*sqrt(1+x.^2-y);
% Задание уравнений кривых, ограничивающих область допустимых значений
x=a:0.1:b;
f1= x.^2-1;
f2=1+x.^2;
% Заливка области Д.З.
fill(x,f1,'y',x,f2,'w');
axis([-3,3,-2,6])
grid
title('Область определения функции sqrt(y+1-x^2)*sqrt(1+x^2-y)')
legend('y= x^2-1',' y=1+x^2','Location','southwest')
%% Область определения функции f(x,y)=log(1-x.^2).*log(y)
figure
ff2=@(x,y) log(1-x.^2).*log(y);
% Задание уравнений кривых, ограничивающих область допустимых значений
a=-1;b=1;
x=a:0.01:b;
G= sqrt(1-x.^2);
F= 0*x;
plot(x,G,x,0)
hold on
% Заливка области Д.З.
fill(x, G,'c');
axis equal
grid
title('Область определения функции ln(1-x^2)*ln(y)')
legend('y=sqrt(1- x^2)',' y=0')
hold off
%% Область определения функции f(x,y)=sqrt((4-x^2-y^2)./(x^2+y^2-1));
figure
ff3=@ (x,y)sqrt((4-x.^2-y.^2)./(x.^2+y.^2-1));
% Задание области Д.З параметрически заданными кривыми
a=-4; b=4;
t=0:0.01:2*pi;
X1= 2*cos(t); Y1= 2*sin(t);
X2= cos(t); Y2= sin(t);
plot(X1,Y1,X2,Y2);grid
axis equal
hold on
% Заливка области Д.З
fill(X1,Y1,'g',X2,Y2,'w');
title('Область определения функции sqrt((4-x^2-y^2)/(x^2+y^2-1))')
hold off
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 3 (Upr_5_3.m)
%% Поверхность 1
figure(1)
[X, Y]=meshgrid(0.1:0.05:2, 0.1:0.05:2);
Z=1./X+1./Y;
mesh(X,Y,Z) ;
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=1./X+1./Y')
colorbar
view(107,27)
colormap(parula(7))% Задание палитры
%% Поверхность 2
figure(2)
[X, Y]=meshgrid(-pi:0.05:pi,-pi:0.05:pi);
Z=cos(X.*Y);
mesh(X,Y,Z) ;
view(-20,65)
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=cos(X*Y)')
colorbar
colormap(winter)
%% Поверхность 3
figure(3)
[X, Y]=meshgrid(-pi/2:0.091:pi/2,-pi/2:0.091:pi/2);
Z=1./(sin(X).*sin(Y));
mesh(X,Y,Z) ;
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=1/(sin(X)*sin(Y))')
colorbar
colormap(spring)
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 4 (Upr_5_4.m)
%% Поверхность 1
figure(1)
[X, Y]=meshgrid(0.1:0.05:2, 0.1:0.05:2);
Z=1./X+1./Y;
[C,h]=contour(X,Y,Z); grid
v = [-2,0,2,4,8];% Вектор значений функции на линий уровня
clabel(C,h,v,'FontSize',12, 'Color',[0 0 1])
set(h,'LevelStep',1, 'TextStep',1)
title ('Линии уровней функции Z=1./X+1./Y');
xlabel('x'); ylabel('y')
y2=linspace(0.1,2,20);
x2=linspace(0.1,2,20);
[X, Y] = meshgrid(x2, y2);
Z=1./X+1./Y;
figure(2)
[C,h]=contour3(X,Y,Z);
set(h,'LineWidth',1,'LevelStep',0.5, 'TextStep',1)
clabel(C,h,'FontSize',9)
xlabel('x'); ylabel('y'); zlabel('z')
title ('Поверхность линий уровней функции Z=1./X+1./Y ');
colorbar
view(107,27)
colormap(parula)% Задание палитры
%% Поверхность 2
figure(3)
[X, Y]=meshgrid(-pi:0.05:pi,-pi:0.05:pi);
Z=cos(X.*Y);
[C,h]=contour(X,Y,Z); grid
clabel(C,h,'FontSize',8)
set(h,'LevelStep',0.4, 'TextStep',0.1)
title ('Линии уровней функции Z=cos(X*Y)');
xlabel('x'); ylabel('y')
figure(4)
[C,h]=contour3(X,Y,Z);
set(h,'LineWidth',1,'LevelStep',0.05)
xlabel('x'); ylabel('y'); zlabel('z')
title ('Поверхность линий уровней функции Z=cos(X*Y) ');
colorbar
view(-27,65)
colormap(parula)% Задание палитры
xlabel('x');ylabel('y');zlabel('z')
%% Поверхность 3
figure(5)
[X, Y]=meshgrid(-pi/2:0.091:pi/2,-pi/2:0.091:pi/2);
Z=1./(sin(X).*sin(Y));
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',10)
title ('Линии уровней функции 1./(sin(X).*sin(Y));');
xlabel('x');ylabel('y');
figure(6)
y2=linspace(-pi/2,pi/2,20);
x2=linspace(-pi/2,pi/2,20);
[X, Y] = meshgrid(x2, y2);
Z=1./(sin(X).*sin(Y));
[C,h]=contour3(X,Y,Z);
set(h,'LineWidth',1,'LevelStep',4)
xlabel('x'); ylabel('y'); zlabel('z')
title ('Поверхность линий уровней функции 1./(sin(X).*sin(Y)); ');
colorbar
view(-75,38)
colormap(parula)% Задание палитры
xlabel('x');ylabel('y');zlabel('z')
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 5 (Upr_5_5.m)
%% Линии уровней функции Z=1/X+1/Y
figure('Position',[100 50 500 550])
subplot(2,1,1)
y1=linspace(1,2,10);
x1=linspace(1,2,10);
[X, Y]=meshgrid(x1,y1);
Z=1./X+1./Y;
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1, 'TextStep',0.1)
clabel(C,h);
xlabel('x'); ylabel('y');
title ('Плоские линии уровней функции Z=1/X+1/Y с шагом 0,1 ')
subplot(2,1,2)
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1)
xlabel('x'); ylabel('y')
title ('Плоские линии уровней с шагом 0,1 без нанесения значений функции ')
%% Линии уровней функции Z=cos(X*Y)
figure('Position',[100 50 500 550])
subplot(2,1,1)
y2=linspace(-pi/2,pi/2,20);
x2=linspace(-pi/2,pi/2,20);
[X, Y]=meshgrid(x2,y2);
Z=cos(X.*Y);
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1, 'TextStep',0.2)
clabel(C,h,'FontSize',8);
xlabel('x'); ylabel('y');
title ('Плоские линии уровней функции Z=cos(X*Y) с шагом 0,1 ')
subplot(2,1,2)
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1)
xlabel('x'); ylabel('y');
title ('Плоские линии уровней с шагом 0,1 без нанесения значений функции ')
%% Линии уровней функции 1./(sin(X).*sin(Y))
figure('Position',[100 50 500 550])
subplot(2,1,1)
y3=linspace(pi/4,pi/2,10);
x3=linspace(-pi/2,-pi/4,10);
[X, Y]=meshgrid(x3,y3);
Z=1./(sin(X).*sin(Y));
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1, 'TextStep',0.2)
clabel(C,h,'FontSize',8);
xlabel('x'); ylabel('y');
title ('Плоские линии уровней функции Z=1/(sin(X)*sin(Y)) с шагом 0,1 ')
subplot(2,1,2)
[C,h]=contour(X,Y,Z); grid
set(h,'LevelStep',0.1)
xlabel('x'); ylabel('y');
title ('Плоские линии уровней с шагом 0,1 без нанесения значений функции ')
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 6 (Upr_5_6.m)
%% Линии уровней функции Z=1/X+1/Y
figure('Position',[100 50 800 550])
subplot(2,2,1)
y1=linspace(1,2,10);
x1=linspace(1,2,10);
[X, Y]=meshgrid(x1,y1);
Z=1./X+1./Y;
contourf(X,Y,Z,10); grid
colorbar
xlabel('x'); ylabel('y');
title (' Z=1/X+1/Y ')
%% Линии уровней функции Z=cos(X.*Y)
subplot(2,2,2)
y2=linspace(-pi/2,pi/2,20);
x2=linspace(-pi/2,pi/2,20);
[X, Y]=meshgrid(x2,y2);
Z=cos(X.*Y);
contourf(X,Y,Z,10); grid
colorbar
xlabel('x'); ylabel('y');
title (' Z=cos(X*Y) ')
%% Линии уровней функции 1./(sin(X).*sin(Y))
subplot(2,2,[3,4])
y3=linspace(pi/4,pi/2,10);
x3=linspace(-pi/2,-pi/4,10);
[X, Y]=meshgrid(x3,y3);
Z=1./(sin(X).*sin(Y));
contourf(X,Y,Z,10); grid
colorbar
xlabel('x'); ylabel('y');
title (' Z=1/(sin(X)*sin(Y)) ')
clear;clc;close all
% Практикум 5. Функции многих переменных. Графики
% Упражнение 7 (Upr_5_7.m)
%% Поверхность 1
figure('Position',[100 50 800 550])
subplot(2,2,1)
[X, Y]=meshgrid(0.1:0.1:2, 0.1:0.1:2);
Z=1./X+1./Y;
surf(X,Y,Z) ;
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=1./X+1./Y')
[az,el] = view;% Значения текущих азимута и угла возвышения
view(az,60); %Задание угла возвышения равного 60 градусов
%% Поверхность 2
[X, Y]=meshgrid(-pi:0.2:pi,-pi:0.2:pi);
subplot(2,2,[3,4])
Z=cos(X.*Y);
surf(X,Y,Z) ;
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=cos(X*Y)')
[az,el] = view;% Значения текущих азимута и угла возвышения
view(az,60); %Задание угла возвышения равного 60 градусов
%% Поверхность 3
subplot(2,2,2)
[X, Y]=meshgrid(-pi/2:0.21:pi/2,-pi/2:0.21:pi/2);
Z=1./(sin(X).*sin(Y));
surf(X,Y,Z) ;
xlabel('x');ylabel('y');zlabel('z')
title('График функции Z=1/(sin(X)*sin(Y))')
[az,el] = view;% Значения текущих азимута и угла возвышения
view(az,60); %Задание угла возвышения равного 60 градусов