📄 gershcircles.m
字号:
function gershcircles(A)Abs = abs(A); n = max(size(A)); radii = sum(Abs,2)-diag(Abs);xcenter = real(diag(A)); ycenter = imag(diag(A)); theta = [0:pi/100:2*pi];costheta = cos(theta); sintheta = sin(theta); x=[]; y=[]; figure(1); clf; axis equal; hold on; for i = 1:n x=[x; radii(i)*cos(theta)+xcenter(i)];y=[y; radii(i)*sin(theta)+ycenter(i)]; patch(x(i,:),y(i,:),'red');endfor i = 1:n, plot(x(i,:),y(i,:),'k',xcenter(i),ycenter(i),'xk'), endxmax = max(max(x)); ymax=max(max(y));xmin = min(min(x)); ymin=min(min(y));hold off; figure(2); clf; axis equal; hold on; radii = sum(Abs)-(diag(Abs))';x=[]; y=[]; clf; axis equal; hold on; for i = 1:n x=[x; radii(i)*cos(theta)+xcenter(i)];y=[y; radii(i)*sin(theta)+ycenter(i)]; patch(x(i,:),y(i,:),'green')endfor i = 1:n, plot(x(i,:),y(i,:),'k',xcenter(i),ycenter(i),'xk'); endxmax = max(max(max(x)),xmax); ymax=max(max(max(y)),ymax);xmin = min(min(min(x)),xmin); ymin=min(min(min(y)),ymin); hold off;axis([xmin xmax ymin ymax]); figure(1); axis([xmin xmax ymin ymax]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -