Материал: Никитина Дарья ПИН-21Д ЛР4

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лабораторная работа №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 градусов

Результат