Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %1.1
- % Написать скрипт, в первом блоке которого генерируются случайные координаты двух точек в декартовых осях (в диапазоне от -10 до 10 по каждой координате)
- clear
- clc
- close all % закрывает все графические окна перед запуском нового окна
- cordA = floor(rand (1,2)*20-10);
- cordB = floor(rand (1,2)*20-10);
- % cordA=[7,7];
- % cordB=[7,7];
- %построить в графическом окне обе точки и прямую, проходящую через них;
- grid on % включает сетку
- hold on % включает наложение графиков
- plot([-10:0.01:10],0,'.k'); % ось X
- plot(0,[-10:0.01:10],'.k'); % ось Y
- text(0,10,' Y'); % надпись на оси
- text(10,0,' X'); % надпись на оси
- plot(cordA(1),cordA(2), '*r'); % первая точка
- text(cordA(1),cordA(2),' A'); % надпись на оси A
- plot(cordB(1),cordB(2), '*b'); % вторая точка
- text(cordB(1),cordB(2),' B'); % надпись на оси B
- % вывести в командное окно уравнение этой прямой (в виде y = 4*x - 0.75);
- tangens = (cordA(2) - cordB(2))/(cordA(1) - cordB(1));
- shift = cordA(2) - (cordA(1) * tangens);
- PrX = -10:(0.1):10;
- PrY = PrX*(tangens)+shift;
- chek1=cordA(1)==cordB(1);
- if (chek1 && chek2)
- PrX=-10:(0.1):10;
- shift = cordA(1);
- PrX=(PrX-PrX)+shift;
- PrY=PrX;
- end
- if (chek1)
- shift = cordA(1);
- PrX=(PrX-PrX)+shift;
- PrY=-10:(0.1):10;
- end
- chek2=cordA(2)==cordB(2);
- if (chek2)
- shift = cordA(2);
- PrX=-10:(0.1):10;
- PrY=(PrY-PrY)+shift;
- end
- plot(PrX,PrY,'.m-');
- Mark = '+';
- if (shift < 0)
- Mark = '-';
- end
- disp(['Уравнение y = ', num2str(tangens),'*x',Mark,num2str(abs(shift))]);
Add Comment
Please, Sign In to add comment