|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
最近我编写了一个绘制等高线图的小程序,源代码如下:
clc;clear
A=[...
0.000113 0.000113 -951.390615
0.000887 0.000113 532.482376
0.000887 0.000887 422.830376
0.000113 0.000887 176.413969
0.000500 0.000113 -687.738275
0.000887 0.000500 405.710453
0.000500 0.000887 224.166964
0.000113 0.000500 -500.895672
......
];
[x,y]=meshgrid(0:0.001:0.02,0:0.0005:0.01);
z=griddata(A(:,1),A(:,2),A(:,3),x,y,'v4');
colormap([1.0,1.0,1.0])
[c,h] =contourf(x,y,z,20,'LineWidth',2);
set(gca,'linewidth',2,'fontsize',15,'fontweight','bold');
clabel(c,h,'fontsize',15,'fontweight','bold');
xlabel('x/m','fontweight','bold','fontsize',16);
ylabel('y/m','fontweight','bold','fontsize',16);
axis 'square';
box on;
maximum=A(1,3);
for i=2:1:1800;
if A(i,3)>maximum;
maximum=A(i,3);
end;
end;
minimum=A(1,3);
for i=2:1:1800;
if A(i,3)<minimum;
minimum=A(i,3);
end;
end;
string=['The maximum/minimum normalized σ(eq) is ' num2str(maximum,3) '/' num2str(minimum,3)];
gtext(string,'fontsize',16,'fontweight','bold')
绘制的结果如附图所示。这里的问题是,在等高线上标注数值的时候,MATLAB默认到小数点后面4位左右,我只想显示小数点后面2位。另外,在标注数值的地方能不能把等高线擦除,这样线就不会和数值交叉了?请问,这些可以实现吗?希望各位大侠不吝赐教,小弟感激不尽!
|
-
|