circint.m

来自「用matlab编写的电磁学方面的函数和图像」· M 代码 · 共 27 行

M
27
字号
% circint.m - circle intersection on Gamma-plane
%
% Usage: Gamma = circint(c1,r1,c2,r2)
%
% c1,r1 = center and radius of circle 1
% c2,r2 = center and radius of circle 2
%
% Gamma = point of intersection of the two circles (two points)

% S. J. Orfanidis - 2000 - www.ece.rutgers.edu/~orfanidi/ewa

function Gamma = circint(c1,r1,c2,r2)

if nargin==0, help circint; return; end

th = acos((r1^2 + r2^2 - abs(c1-c2)^2)/(2*r1*r2)) * [1; -1];   % th = ph2-phi1

if ~isreal(th),
    fprintf('\nno intersection exists\n\n');
    return;
end

z1 = (c2 - c1) ./ (r1 - r2*exp(j*th));                         % z1 = exp(j*ph1)                   

Gamma = c1 + r1 * z1;

⌨️ 快捷键说明

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