问题是对于负n,矩阵u1和u2在某些条目中包含无穷大的值.箭头自动缩放值,因此所有内容都被压缩到零,因此不会显示在图表中.
解决方案是用NaN替换无限值:
clear;
h_theta_multiple=0.01;
h_theta=h_theta_multiple*2*pi;
h_rho=0.1;
[theta,rho] = meshgrid(0:h_theta:2*pi,0:h_rho:5);
[x1,x2] = pol2cart(theta,rho);
N=[1 2 3 -1 -2 -3];
figure
for i=1:length(N)
n=N(i);
u1 = rho.^n .* cos(n.*theta);
u2 = rho.^n .* sin(n.*theta);
u1(isinf(u1)) = NaN; % replace infinite values by NaN
u2(isinf(u2)) = NaN;
subplot(2,3,i);
quiver(x1,x2,u1,u2);
end
figure
for i=1:length(N)
n=N(i);
u1 = -rho.^n .* sin(n.*theta);
u2 = rho.^n .* cos(n.*theta);
u1(isinf(u1)) = NaN; % replace infinite values by NaN
u2(isinf(u2)) = NaN;
subplot(2,3,i);
quiver(x1,x2,u1,u2);
end
这给了