Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр_1 / ЛА / Модуль3 / МП-12_Николаев_Олег_lab2_m3

.docx
Скачиваний:
18
Добавлен:
05.06.2015
Размер:
3.69 Mб
Скачать

Отчет к упражнению 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*. Аналитически привести уравнение кривой к каноническом виду. Нарисовать график полученной кривой, отметить фокусы, отобразить директрисы.

а)

б) доказать, что уравнение определяет параболу, привести к каноническом виду, построить кривую, провести ось симметрии, директрису, отметить фокус.

Соседние файлы в папке Модуль3