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

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

.docx
Скачиваний:
17
Добавлен:
05.06.2015
Размер:
53.95 Кб
Скачать

Отчет к упражнению 1

Прямая L задана т и направляющим вектором .

1.Записать каноническое уравнение прямой (см формулу (3)) и сделать его заголовком графика.

2.Теперь входными параметрами являются координаты направляющего вектора и координаты точки прямой = (X0, Y0). Выразить из канонического уравнения y, как функцию от x. Используя функцию plot(), построить прямую L, сплошную, фиолетового цвета, толщины 2. Значение абсцисс точек прямой – массив, состоящий из двух точек -6 и 9. Отметить на прямой точку круговым маркером черного цвета, толщины 3. Подписать точку. Провести с помощью функции line( ) оси координат черного цвета.

3. Построить направляющий вектор , берущим начало

а) из начала координат

б) из точки, в которой прямая L пересекает ось абсцисс.

clear all;close all;clc;

%запишем каноническое уравнение прямой

title('(x-1)/3=(y-2)/(-1)');

grid on;hold on;

m=[1;2];%задание точки

q=[3;-1];%задание вектора

x=[-6;9];

y=m(2)+q(2)*(x-m(1))/q(1);%определение ординат

plot(x,y,'-m','lineWidth',2);

%построим и подпишем точку M0

plot(m(1),m(2),'ko','lineWidth',3);

text(m(1),m(2)+0.2,'M_{0}');

%построим и подпишем оси

line([0 -6;0 10],[-1 0;5 0],'Color','black');

xlabel('x'),ylabel('y');

%построим q из начала координат

line([0,q(1),q(1);q(1),q(1)-0.2,q(1)-0.7],[0,q(2),q(2);q(2),q(2)+0.4,q(2)-0.1],'Color','blue','lineWidth',3);

%построим q из точки, в которой прямая пересекает ось абсцисс

x1=-m(2)*q(1)/q(2)+m(1);

x2=x1+q(1);

line([x1,x2,x2;x2,x2-0.2,x2-0.7],[0,q(2),q(2);q(2),q(2)+0.4,q(2)-0.1],'Color','green','lineWidth',3);

Отчет к упражнению 2

1. Прямая L1 задана двумя точками и .

Определиться с входными данными.

Выразить из канонического уравнения y, как функцию от x.

Используя функцию plot(), построить прямую L1.

Отметить и подписать на прямой точки и

Провести с помощью функции line( ) оси координат черного цвета.

Построить направляющий вектор , берущим начало

а) из начала координат

б) из точки, в которой прямая L1 пересекает ось абсцисс.

Напишем скрипт l1.m:

grid on;hold on;

m=m1;%задание точки

q=m2-m1;%задание вектора

x=[-6;9];

y=m(2)+q(2)*(x-m(1))/q(1);%определение ординат

plot(x,y,'-m','lineWidth',2);

%построим и подпишем точки M1 и М2

plot(m1(1),m1(2),'ko','lineWidth',3);

plot(m2(1),m2(2),'ko','lineWidth',3);

text(m1(1)-0.7,m1(2)+0.5,'M_{1}');

text(m2(1)-0.7,m2(2)+0.5,'M_{2}');

%построим и подпишем оси

line([0 -6;0 10],[-5 0;10 0],'Color','black');

xlabel('x'),ylabel('y');

%построим q из начала координат

line([0;q(1)],[0;q(2)],'Color','blue','lineWidth',3);

plot(q(1),q(2),'>b','lineWidth',2);

%построим q из точки, в которой прямая пересекает ось абсцисс

x1=-m(2)*q(1)/q(2)+m(1);

x2=x1+q(1);

line([x1;x2],[0;q(2)],'Color','green','lineWidth',3);

plot(x2,q(2),'>g','lineWidth',2);

Теперь вызовем скрипт:

>> m1=[1;2];m2=[-1;0];

>> l1

2. Используя готовую программу, сделать все тоже самое для прямой L2, проходящую через точки и .

>> m1=[2;1];m2=[0;-1];

>> l1

Отчет к упражнению 3

Построить прямую, заданную параметрическим уравнением . Найти ее направляющий вектор , найти нормальный вектор . Изобразить данные векторы исходящими из начала координат и из какой-нибудь точки, лежащей на прямой.

clear all;close all;clc;

grid on;hold on;axis equal;

m=[-1;3];%задание точки

q=[5;-2];n=[2;5];%задание векторов

x=[-10;20];

y=m(2)+q(2)*(x-m(1))/q(1);%определение ординат

plot(x,y,'-m','lineWidth',2);

%построим и подпишем оси

line([0 -10;0 20],[-10 0;15 0],'Color','black');

xlabel('x'),ylabel('y');

%построим векторы из начала координат

line([0,0;q(1),n(1)],[0,0;q(2),n(2)],'Color','blue','lineWidth',3);

plot(q(1),q(2),'>b','lineWidth',2);

plot(n(1),n(2),'^b','lineWidth',2);

%построим векторы из точки на прямой

x1=-m(2)*q(1)/q(2)+m(1);

x2=x1+q(1);x2n=x1+n(1);

line([x1,x1;x2,x2n],[0,0;q(2),n(2)],'Color','green','lineWidth',3);

plot(x2,q(2),'>g','lineWidth',2);

plot(x2n,n(2),'^g','lineWidth',2);

Задача 1

Найти уравнения сторон-катетов прямоугольного равнобедренного треугольника, если дана вершина прямого угла и уравнение гипотенузы . Изобразить все три прямые. При изображении прямых (катетов) использовать угловой коэффициент прямой как входящий параметр. При построении уравнения гипотенузы использовать пример 1 (набрав заново соответствующую программу). К прямым найти и построить направляющие векторы и нормальные векторы. Каждую группу (прямая, нормаль, направляющий вектор) выделить отдельным цветом. Точку С также выделить и подписать.

Пусть прямые l1 и l2 задаются уравнениями:

l1:y=k1*x+b1,

l2: y=k2*x+b2

Тогда тангенс угла между этими прямыми равен

Поскольку треугольник АВС равнобедренный и прямоугольный, то тангенсы углов между каждым катетом и гипотенузой равны 1. Пусть для АС y=k1*x+b1, для BC у=k2*x+b2.

Т.к. для AB y=3x+2, то получим:

=1 для угла между АС и АВ

=1 для угла между ВС и АВ.

Но k2 не равен k1 (иначе прямые совпадают или параллельны).

Значит, можно написать

3 - k1 = 1 + 3*k1 для прямой АС

3 - k2 = - (1 + 3*k2) для прямой BC.

Отсюда k1=0.5, k2=2.

Т.к. точка C=(3;-1) принадлежит обеим прямым, то ее координаты можно подставить уравнения этих прямых и найти b1 и b2:

-1=0.5*3+b1; b1=-2.5

-1=2*3+b2; b2=5.

Значит, уравнение АС: y=0.5*x-2.5, а уравнение BC: y=2*x+5.

clear all;close all;clc;

%построим АВ

A=3; B=-1; C=2;% задание коэффициентов уравнения

x=[-6 9];% формирование диапазона абсцисс

y=-(A*x +C)/B;% вычисление значений ординат

plot(x,y); % построение графика прямой АВ

grid on,hold on; % визуализация координатной сетки

title('A*x+B*y+C=0') % задание заголовка

xlabel('x'), ylabel('y') % обозначение осей

%построим АС и ВС

k1=0.5;k2=-2;b1=-2.5;b2=5;

y1=k1*x+b1;%прямая АС

y2=k2*x+b2;%прямая ВС

plot(x,y1,'r');

plot(x,y2,'g');

%построим точку C

clear C;

c=[3;-1];

plot(c(1),c(2),'ko','lineWidth',3);

text(c(1)+0.4,c(2)-0.2,'C');

%построим вектора

axis([-10 10 -10 10]);

axis equal;

line([-1;-2],[-1;-2/3],'color','blue','linewidth',3);%построим n1 для прямой АВ

plot(-2,-2/3,'<b','linewidth',3);

line([-1;-2/3],[-1;0],'color','blue','linewidth',3);%построим q1 для прямой АВ

plot(-2/3,0,'<b','linewidth',3);

line([1;3/2],[-2;-3],'color','red','linewidth',3);%построим n2 для прямой АС

plot(3/2,-3,'<r','linewidth',3);

line([1;0],[-2;-5/2],'color','red','linewidth',3);%построим q2 ждя поямлй АС

plot(0,-5/2,'^r','linewidth',3);

line([2;3],[1;3/2],'color','green','linewidth',3);%построим n3 для прямой ВС

plot(3,3/2,'<g','linewidth',3);

line([2;3/2],[1;2],'color','green','linewidth',3);%построим q3 для прямой ВС

plot(3/2,2,'^g','linewidth',3);

%оси

line([-11 0;11 0],[0 -10;0 10],'Color','black');

Задача 2.

Через точку построить прямую, отсекающую от осей координат треугольник площадью 2.

При построении прямой, полученной при ответе, использовать отрезки и из формулы (6) как входящие параметры. Найти и построить направляющий и нормальный векторы.

Т.к. M=(-1;3) находится во 2 четверти, то прямая, проходящая через М, может отсекать треугольник с катетами а и b только в 1,2 и 3 четвертях.

Площадь треугольника S=(1/2)|ab|.=2, откуда |ab|=4.

Но если треугольник расположен во 2 четверти, то его катеты будут больше 3 и 1, т.е. площадь треугольника будет больше 2. Значит, треугольник расположен в 1 или 3 четверти. Тогда ab>0, ab=4.

Уравнение прямой в отрезках: Подставив координаты точки М, получим

Получаем систему уравнений:

Отсюда получаем

a=2,b=2 или a=-2/3,b=-6.

Получаем уравнения прямых:

1) , откуда =[1,1], =[-1,1]

2) , откуда , =[-1/9,1]

clear all;close all;clc;

grid on;hold on;

m=[-1;3];

%построим первую прямую

a=2;b=2;

x=[-6 9];

y=(1-x/a)*b;

plot(x,y);

%построим вторую прямую

a=-2/3;b=-6;

y=(1-x/a)*b;

plot(x,y,'r');

%построим векторы

n1=[1;1];q1=[-1;1];

n2=[1;1/9];q2=[-1/9;1];

axis([-6 6 -6 6]);axis equal;

%n1

line([m(1);m(1)+n1(1)],[m(2);m(2)+n1(2)],'Color','blue','lineWidth',3);

plot(m(1)+n1(1),m(2)+n1(2),'<b','lineWidth',3);

%q1

line([m(1);m(1)+q1(1)],[m(2);m(2)+q1(2)],'Color','blue','lineWidth',3);

plot(m(1)+q1(1),m(2)+q1(2),'vb','lineWidth',3);

%n2

line([m(1);m(1)+n2(1)],[m(2);m(2)+n2(2)],'Color','red','lineWidth',3);

plot(m(1)+n2(1),m(2)+n2(2),'>r','lineWidth',3);

%q2

line([m(1);m(1)+q2(1)],[m(2);m(2)+q2(2)],'Color','red','lineWidth',3);

plot(m(1)+q2(1),m(2)+q2(2),'^r','lineWidth',3);

%оси

line([-5 0;9 0],[0 -6;0 6],'Color','black');

xlabel('x'),ylabel('y');

title('x/a+y/b=1');

text(-2.5,2.7,'M(-1,3)');

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