⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perpxy.m

📁 数字通信第四版原书的例程
💻 M
字号:
function [x4,y4] = perpxy(x1,y1,x2,y2,x3,y3)
% PERPXY Finds a point [xp,yp] which is the nearest point from
%	[x3,y3] on the straight line formed between [x1,x2] and
%	[x2,y2].
%
%	[xp,yp]=perpxy(x1,y1,x2,y2,x3,y3)
%
% 	Returns points [x4,y4] which are perpendicular to the 
%	the straight line formed between the points
%	points [x1,y1] and [x2,y2], starting from the points
%	[x3,y3]: 
%
%	                  .[x1,y1]
%                          
%
%       
%			   .[x4,y4]
%           .[x3,y3]
%                 
%
%			    .[x2,y2]
%
% 	i.e. (x3-x4)*(x1-x2) + (y3-y4)*(y1-y2) = 0
%            (x1-x4)*(y4-y2) - (x4-x2)*(y1-y4) = 0

%	Copyright (c) 1986-93 by the MathWorks, Inc.

% Cater  for the case when the line has infinite gradient:
xeq=abs(x1-x2)<1e-10;   

x12=(x1-x2)+eps*(xeq);
y12=(y1-y2);

x4=(x12.*(-x3.*x12-y3.*y12) + y12.*(x1.*y2-x2.*y1))./(-x12.*x12 - y12.*y12);

y4=(x1.*y2 + x4.*y12 - x2.*y1)./(x12);

y4=y4.*(~xeq)+y3.*(xeq);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -