1 семестр_1 / ЛА / Модуль3 / МП-12_Николаев_Олег_lab2_m3
.docxОтчет к упражнению 1
Создать 6 графических подобластей.
figure
subplot(3,2,1), axis equal, axis([-1 1 -1 1]), grid on, hold on
subplot(3,2,2), axis equal, axis([-1 1 -1 1]), grid on, hold on
итд subplot(3,2,3), subplot(3,2,4), subplot(3,2,5), subplot(3,2,6),
В первой построить эллипс, a>b, отметить фокусы, директрисы, изобразить описывающий его прямоугольник,
во второй области построить эллипс, в котором b>a, отметить фокусы, директрисы,
далее гиперболу, сопряженную гиперболу, у гипербол построить асимптоты, отметить фокусы, директрисы
параболу, отметить фокус, директрису.
В шестой подобласти изобразить на одном графике эллипс, a>b и гиперболу, a>b.
subplot(3,2,1);axis equal;grid on;hold on;
ezplot('x^2/9+y^2/4=1');
line([-6 0;6 0],[0 -3;0 3],'Color','black');
a=3;b=2;c=sqrt(a^2-b^2);
plot(-c,0,'*r');text(-c,0.5,'F_1');
plot(c,0,'*r');text(c,0.5,'F_2');
line([-a -a -a a;a a -a a],[b -b -b -b;b -b b b],'Color','blue');
x=-a^2/c;y=-3:0.1:3;
plot(x,y,'r');text(x-1.2,1,'D_1');
plot(-x,y,'r');text(-x+0.5,1,'D_2');
%----------------------------------------------------------------
%----------------------------------------------------------------
subplot(3,2,2);axis equal;grid on;hold on;
ezplot('x^2/4+y^2/9=1');
line([-12 0;12 0],[0 -6;0 6],'Color','black');
a=2;b=3;c=sqrt(b^2-a^2);
plot(0,-c,'*r');text(0.5,-c,'F_2');
plot(0,c,'*r');text(0.5,c,'F_1');
line([-a -a -a a;a a -a a],[b -b -b -b;b -b b b],'Color','blue');
y=-b^2/c;x=-12:0.1:12;
plot(x,y,'r');text(1,y-1.2,'D_2');
plot(x,-y,'r');text(1,-y+0.5,'D_1');
%----------------------------------------------------------------
%----------------------------------------------------------------
subplot(3,2,3);axis equal;grid on;hold on;
ezplot('x^2/9-y^2/4=1');
line([-8 0;8 0],[0 -4;0 4],'Color','black');
a=3;b=2;c=sqrt(a^2+b^2);
plot(-c,0,'*r');text(-c,0.5,'F_1');
plot(c,0,'*r');text(c,0.5,'F_2');
x=-a^2/c;y=-4:0.1:4;
plot(x,y,'r');text(x-1.2,3,'D_1');
plot(-x,y,'r');text(-x+0.5,3,'D_2');
x=-6:0.1:6;y=b/a.*x;
plot(x,y,'m');
plot(x,-y,'m');
%----------------------------------------------------------------
%----------------------------------------------------------------
subplot(3,2,4);axis equal;grid on;hold on;
ezplot('x^2/9-y^2/4=-1');
line([-8 0;8 0],[0 -4;0 4],'Color','black');
a=3;b=2;c=sqrt(a^2+b^2);
plot(0,-c,'*r');text(0.5,-c,'F_2');
plot(0,c,'*r');text(0.5,c,'F_1');
y=-a^2/c;x=-8:0.1:8;
plot(x,y,'r');text(8,y-1.2,'D_2');
plot(x,-y,'r');text(8,-y+0.5,'D_1');
x=-6:0.1:6;y=b/a.*x;
plot(x,y,'m');
plot(x,-y,'m');
%----------------------------------------------------------------
%----------------------------------------------------------------
subplot(3,2,5);axis equal;grid on;hold on;
ezplot('y^2=8*x');
line([-10 0;10 0],[0 -5;0 5],'Color','black');
p=4;
plot(p/2,0,'*r');text(p/2,1,'F');
y=-5:0.1:5;x=-p/2;
plot(x,y,'r');text(x-2,4,'D');
%----------------------------------------------------------------
%----------------------------------------------------------------
subplot(3,2,6);axis equal;grid on;hold on;
ezplot('x^2/9+y^2/4=1');
ezplot('x^2/9-y^2/4=1');
Отчет к упражнению 2
Для уравнения кривой второго порядка реализовать m-функцию get_canonical, которая приводит уравнение данной кривой к каноническому виду
, используя поворот осей координат на определенный угол.
function [u,v,phi]= get_canonical(a,b,c)
phi=acot((a-c)/b)/2;
u=a*cos(phi)^2+b*cos(phi)*sin(phi)+c*sin(phi)^2;
v=a*sin(phi)^2-b*sin(phi)*cos(phi)+c*cos(phi)^2;
end
Отчет к упражнению 3
Нарисовать кривую, заданную уравнением .
С помощью реализованной ранее функции get_canonical привести уравнение данной кривой к каноническому виду, отметить фокусы, отобразить директрисы. Сравнить результат.
grid on;hold on;axis equal;
ezplot('x^2+x*y+2*y^2=1');
figure;
grid on;hold on;axis equal;
[u,v,phi]=get_canonical(1,1,2);
syms x y;
[x,y]=rotate(x,y,phi);
ezplot(u*x^2+v*y^2-1);
a=sqrt(1/u);b=sqrt(1/v);c=sqrt(a^2-b^2);
title('0.7929*x^2+2.2071*y^2=1');
[x,y]=rotate(a^2/c,[-3 3],-phi);
plot(x,y,'b',-x,-y,'b');
[x,y]=rotate(-c,0,-phi);
plot(x,y,'*r');text(x+0.1,y,'F_1');
[x,y]=rotate(c,0,-phi);
plot(x,y,'*r');text(x-0.2,y+0.1,'F_2');
Грфики получились одинаковыми.
Отчет к упражнению 4
Используя данную программу изобразите часть эллипсоида лежащего в первом октанте (, верхнюю часть эллипсоида , изобразите также эллипсоид в декартовых координатах, используя «meshgrid» и «mesh» или «plot3». Сравните полученные результаты.
a=1;b=4;c=1;
theta=(0:pi/200:pi/2)';
phi=0:pi/100:pi/2;
x=a*cos(theta)*cos(phi);
y=b*cos(theta)*sin(phi);
z=c*sin(theta)*ones(size(phi));
figure ('Color','w')
mesh(x,y,z);
xlabel('x'), ylabel('y'),zlabel('z')
a=1;b=4;c=1;
theta=(0:pi/200:pi/2)';
phi=0:pi/100:2*pi;
x=a*cos(theta)*cos(phi);
y=b*cos(theta)*sin(phi);
z=c*sin(theta)*ones(size(phi));
figure ('Color','w')
mesh(x,y,z);
xlabel('x'), ylabel('y'),zlabel('z')
a=1;b=4;c=1;
x=-1:0.1:1;y=-4:0.1:4;
[X Y]=meshgrid(x,y);
z=(1-(X.^2/a^2)-(Y.^2/b^2))*c^2;
figure, hold on, grid on, box on
mesh(X, Y, real(sqrt(z)));
mesh(X, Y, real(-sqrt(z)));
Отчет к упражнению 5
Провести исследование поверхностей второго порядка методом сечений.
Однополосного гиперболоида, двуполостного гиперболоида, гиперболического параболоида, эллиптического параболоида.
Например, по однополостному параболоиду должно быть примерно такое исследование:
разбиваем графическое окно на несколько подобластей
в первом рисуем все, что касается сечений параллельных плоскости УОХ,
во втором ... ZOX,
в третьей ZOY
Прокомментировать, как получаемые сечения связаны с непосредственным названием фигуры.
a=1;b=4;c=1;
subplot(1,3,1);
hold on;grid on;box on;
title('YOX');
x=-1.5:0.1:1.5;
for z=-1:0.1:1
y=real(sqrt((1+z.^2/c^2-x.^2./a^2)*b^2));
z1=z*ones(size(y));
plot3(x,y,z1);
plot3(x,-y,z1);
end
view(-30,30)
subplot(1,3,2);
hold on;grid on;box on;
title('ZOX');
for y=-4:0.5:4;
z=real(sqrt((x.^2/a^2+y.^2/b-1)*c^2));
y1=y*ones(size(z));
plot3(x, y1, z);
plot3(x, y1, -z);
end
view(-30,30)
subplot(1,3,3);
hold on;grid on;box on;
title('ZOY');
z=-1:0.1:1;
for x=-1.5:0.1:1.5
y=real(sqrt((1-x.^2/a^2+z.^2/c)*b^2));
x1=x*ones(size(y));
plot3(x1, y, z);
plot3(x1, -y, z);
end
view(-30,30)
a=1;b=4;c=1;
subplot(1,3,1);
hold on;grid on;box on;
title('YOX');
x=-10:0.1:10;
for z=-10:1:10
y=real(sqrt((-1+z.^2/c^2-x.^2./a^2)*b^2));
z1=z*ones(size(y));
plot3(x,y,z1);
plot3(x,-y,z1);
end
view(-30,30)
subplot(1,3,2);
hold on;grid on;box on;
title('ZOX');
x=-1.5:0.1:1.5;
for y=-4:0.5:4;
z=real(sqrt((x.^2/a^2+y.^2/b^2+1)*c^2));
y1=y*ones(size(z));
plot3(x, y1, z);
plot3(x, y1, -z);
end
view(-30,30)
subplot(1,3,3);
hold on;grid on;box on;
title('ZOY');
z=-10:1:10;
for x=-10:1:10;
y=real(sqrt((-1-x.^2/a^2+z.^2/c^2)*b^2));
x1=x*ones(size(y));
plot3(x1, y, z);
plot3(x1, -y, z);
end
view(-30,30)
a=1;b=4;
subplot(1,3,1);
hold on;grid on;box on;
title('YOX');
x=-1.5:0.1:1.5;
for z=-2:0.1:2
y=real(sqrt((z-x.^2./a^2)*b^2));
z1=z*ones(size(y));
plot3(x,y,z1);
plot3(x,-y,z1);
end
view(-30,30)
subplot(1,3,2);
hold on;grid on;box on;
title('ZOX');
x=-1.5:0.1:1.5;
for y=-4:0.5:4;
z=x.^2/a^2+y.^2/b^2;
y1=y*ones(size(z));
plot3(x, y1, z);
end
view(-30,30)
subplot(1,3,3);
hold on;grid on;box on;
title('ZOY');
z=-1:0.1:1;
for x=-1:0.1:1;
y=real(sqrt((z-x.^2/a^2)*b^2));
x1=x*ones(size(y));
plot3(x1, y, z);
plot3(x1, -y, z);
end
view(-30,30)
a=1;b=4;
subplot(1,3,1);
hold on;grid on;box on;
title('YOX');
x=-1.5:0.1:1.5;
for z=-2:0.1:2
y=real(sqrt((x.^2./a^2-z)*b^2));
z1=z*ones(size(y));
plot3(x,y,z1);
plot3(x,-y,z1);
end
view(-30,30)
subplot(1,3,2);
hold on;grid on;box on;
title('ZOX');
x=-2:0.1:2;
for y=-4:0.5:4;
z=x.^2/a^2-y.^2/b^2;
y1=y*ones(size(z));
plot3(x, y1, z);
end
view(-30,30)
subplot(1,3,3);
hold on;grid on;box on;
title('ZOY');
z=-1:0.1:1;
for x=-1:0.1:1;
y=real(sqrt((x.^2/a^2-z)*b^2));
x1=x*ones(size(y));
plot3(x1, y, z);
plot3(x1, -y, z);
end
view(-30,30)
Отчет к упражнению 6
Сделать анимацию, вращения прямой вокруг параллельной ей прямой.
grid on, hold on, box on, axis equal
view(2,17)
t=[-10 10]; M=[0;0;0]; V=[1;1;0];
os=M*ones(size(t))+V*t;
plot3(os(1,:),os(2,:),os(3,:),'Color','blue','LineWidth',5);
os=[-10 10;-10 10;5 5];
L=plot3(os(1,:),os(2,:),os(3,:),'color','red','linewidth',2);
for i=1:10:360
L=plot3(os(1,:),os(2,:),os(3,:),'color','red','linewidth',3);
rotate(L,[1 1 0],1+i);
pause(0.01);
end
Получился цилиндр
Задание на 5 баллов
*Задание 1*. Составить уравнения двух пересекающихся прямых в пространстве, скрещивающихся с осью OZ, их вращением получить однополостный гиперболоид, с осью симметрии OZ.
*Задание 2*. Аналитически привести уравнение кривой к каноническом виду. Нарисовать график полученной кривой, отметить фокусы, отобразить директрисы.
а)
б) доказать, что уравнение определяет параболу, привести к каноническом виду, построить кривую, провести ось симметрии, директрису, отметить фокус.