Matlab 如何在平面中表示栅格圆?
我的想法是用颜色表示在极坐标(网格)中划分的平面圆中的温度,因为绘图轴只显示几何尺寸 这就是我目前所知道的Matlab 如何在平面中表示栅格圆?,matlab,plot,Matlab,Plot,我的想法是用颜色表示在极坐标(网格)中划分的平面圆中的温度,因为绘图轴只显示几何尺寸 这就是我目前所知道的 [R,THETA] = meshgrid(linspace(0,r,nr),linspace(0,theta,ntheta)*(pi/180)); [X,Y] = pol2cart(THETA,R); contourf(X,Y,T,10); 这里的主要问题是糟糕的线条和θ网格的缺失 这就是我要找的那种网格,但是在一个平面内 守则: r = 0.05; % Radius (m)
[R,THETA] = meshgrid(linspace(0,r,nr),linspace(0,theta,ntheta)*(pi/180));
[X,Y] = pol2cart(THETA,R);
contourf(X,Y,T,10);
这里的主要问题是糟糕的线条和θ网格的缺失
这就是我要找的那种网格,但是在一个平面内
守则:
r = 0.05; % Radius (m)
dr = 0.0025; % Element Size R (m)
nr = r/dr+1; % Number of Elements R
rc = (nr-1)/2+1; % Central Element R
theta = 360; % Degrees (°)
dtheta = 5; % Elezement Size Theta (°)
ntheta = theta/dtheta+1; % Number of Elements Theta
[R,THETA] = meshgrid(linspace(0,r,nr),linspace(0,theta,ntheta)*(pi/180));
[X,Y] = pol2cart(THETA,R);
T1 = 10;
T2 = 50;
dT = T2-T1; % dTemperature
for i = 1:73
T(i,:) = T1:dT/(nr-1):T2; % Temperatura Distribution
%T(i,:) = T(i,:) * i*0.5;
end
contourf(X,Y,T,10);
提前谢谢。不确定在这里使用网格是否最简单。 为什么不像在MATLAB内置的
polar()
中那样绘制线条呢
给予
其中
N\u half
修改您正在绘制的线数。请共享您的全部代码,以便我们可以重现您的问题您需要网格,因此请在中尝试mesh
matlab@Benoit_11就这么做了!:)@游戏说明它是有效的,但是我如何给它添加颜色呢?我需要它看起来像第一张图。非常感谢。看看Mathwork在mesh
上的帮助页面,你应该能够弄明白,它基本上包括将你的绘图强加到mesh对象上。这完美地解决了我的问题!好简单!你知道圆圈右边那条黑线的原因吗?它不断出现!它还会出现吗?如果我立即运行你和我的最后一段代码,我看不到黑线。在这里运行相同的代码并显示出来。这一定与我在这台计算机上的设置有关,idk。无论如何谢谢你!刚刚找到了另一个使用“pcolor(X,Y,T);”的选项,但我会保持这样的简单。但是如果你像上面那样将轴约束到一个正方形,你不应该看到任何黑色的东西,因为它不在图形的可见部分,或者我在这里遗漏了什么?很高兴我能帮上忙@维托拉马霍用不需要的黑线解决了这个问题。
N_half = 12;
th = (1 : N_half) * 2 * pi / (2 * N_half);
cst = cos(th);
snt = sin(th);
cs = [-cst; cst];
sn = [-snt; snt];
line(r * cs, r * sn, 'Color', 'k');
axis 'square'