Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% https://base-n.de/matlab/code_beautifier.html
- %1.1
- % Написать скрипт, в первом блоке которого генерируются случайные координаты
- % двух точек в декартовых осях (в диапазоне от -10 до 10 по каждой координате)
- clear
- clc
- close all % закрывает все графические окна перед запуском нового окна
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
- % cord1 = fix(-rand (1,2)*20+10); % rand (1,2)= 0-1, 0-1
- % cord2 = fix(-rand (1,2)*20+10);% rand (1,2)= 0-1, 0-1
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Kord1 = (-floor(rand(1,2)*20)+10); % rand (1,2)= 0-1, 0-1
- % Kord2 = (-floor(rand(1,2)*20)+10);% rand (1,2)= 0-1, 0-1
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % cord1 = fix((rand(1,2))-0.5*10); % rand (1,2)= 0-1, 0-1
- % cord2 = fix((rand(1,2)-0.5)*10);% rand (1,2)= 0-1, 0-1
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
- mark = (-1)^floor(rand(1)*10);
- XY11 = (rand(1)-0.5)*10*(-1)^floor(rand(1)*10); % rand (1,2)= 0-1, 0-1
- XY22 = (rand(1)-0.5)*10*(-1)^floor(rand(1)*10);% rand (1,2)= 0-1, 0-1
- YX11 = (rand(1)-0.5)*10*(-1)^floor(rand(1)*10); % rand (1,2)= 0-1, 0-1
- YX22 = (rand(1)-0.5)*10*(-1)^floor(rand(1)*10);% rand (1,2)= 0-1, 0-1
- cord1 = [XY11,XY22];
- cord2 = [YX11,YX22];
- % cord1=[0,7];
- % cord2=[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(cord1(1),cord1(2), '*r'); % первая точка
- %
- % % text(cord1(1),cord1(2),' A'); % надпись на оси A
- %
- % plot(cord2(1),cord2(2), '*b'); % вторая точка
- % text(cord2(1),cord2(2),' B'); % надпись на оси B
- % вывести в командное окно уравнение этой прямой (в виде y = 4*x - 0.75);
- tangens = (cord1(2) - cord2(2))/(cord1(1) - cord2(1));
- shift = cord1(2) - (cord1(1) * tangens);
- PrX = -10:(0.1):10;
- PrY = PrX*(tangens)+shift;
- chek1 = cord1(1)==cord2(1);
- chek2 = cord1(2)==cord2(2);
- if (chek1 && chek2)
- PrX=-10:(0.1):10;
- shift = cord1(1);
- PrX=(PrX-PrX)+shift;
- PrY=PrX;
- else
- if (chek2)
- shift = cord1(2);
- PrX=-10:(0.1):10;
- PrY=(PrY-PrY)+shift;
- end
- if (chek1)
- shift = cord1(1);
- PrX=(PrX-PrX)+shift;
- PrY=-10:(0.1):10;
- end
- end
- plot(PrX,PrY,'*m-');
- Mark = '+';
- if (shift < 0)
- Mark = '-';
- end
- disp(['Уравнение y = ', num2str(tangens),'*x ',Mark,' ',num2str(abs(shift))]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement