t=(0:0.01:2)*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,\'r-\',\'linewidth\',1.5); box on; %打开坐标系边框 legend(\'三维曲线作图\');
x=0:0.2:1; y=x; [x y]=meshgrid(x,y); plot(x,y,\'b+\') %这就是所有(x,y)的取值 ,然后计算所有的z=f(x,y)就可以了
dd=0.001;n=1+1/dd; [x,y]=meshgrid(0:dd:1,0:dd:1); z=0; for j=1:n for i=1:n if x(i,j)<sqrt(1-y(i,j).^2) z(i,j)=x(i,j).^2+y(i,j).^2; else z(i,j)=0; end end end surf(x,y,z); shading flat;
附件链接( 密码ju5z )
下载附件 a.csv 给出了高程数据,共有 2913 列,2775 行
filename = \'a.csv\'; z = csvread(filename); x0=1:1:2775; y0=1:1:2913; [xx0,yy0]=meshgrid(x0,y0); xx=xx0\';%依题意 进行转置 yy=yy0\'; figure contourf(xx,yy,z,8) saveas(gcf,[\'e:\\',\'a\',\'.png\']); %无损存图
filename = \'a.csv\'; z = csvread(filename); y0=1:1:2913; x0=1:1:2775; [xx0,yy0]=meshgrid(x0,y0); xx=xx0\';%依题意 进行转置 yy=yy0\'; contour(xx,yy,z,[1,3000],\'r.\') saveas(gcf,[\'e:\\',\'test\',\'.png\']); %存图
filename = \'a.csv\'; z = csvread(filename); x0=1:1:2775; y0=1:1:2913; [xx0,yy2]=meshgrid(x0,y0); xx=xx0\';%依题意 进行转置 yy=yy0\'; s=surf(xx,yy,z); s.EdgeColor = \'none\'; shading flat; hold on title(\'Contour map of the area\'); xlabel(\'East(Degree)\'); ylabel(\'South(Degree)\'); hold off saveas(gcf,[\'e:\\',\'a\',\'.png\']); %存图 比gui存图
function y = circle( x,y,r ) rectangle(\'Position\',[x-r,y-r,2*r,2*r],\'Curvature\',[1,1],\'linewidth\',1),axis equal end
[x, y] = meshgrid(1:10); %构造测量网格 h = [0, 0.02, -0.12, 0, -2.09, 0, -0.58, -0.08, 0, 0;... 0.02, 0, 0, -2.38, 0, -4.96, 0, 0, 0, -0.1;... 0, 0.1, 1, 0, -3.04, 0, -0.53, 0, 0.1, 0;... 0, 0, 0, 3.52, 0, 0, 0, 0, 0, 0;... -0.43, -1.98, 0, 0, 0, 0.77, 0, 2.17, 0, 0; 0, 0, -2.29, 0, 0.69, 0, 2.59, 0, 0.3, 0;... -0.09, -0.31, 0, 0, 0, 4.27, 0, 0, 0, -0.01;... 0, 0, 0, 5.13, 7.4, 0, 1.89, 0, 0.04, 0;... 0.1, 0, 0.58, 0, 0, 1.75, 0, -0.11, 0, 0;... 0, -0.01, 0, 0, 0.3, 0, 0, 0, 0, 0.01]; %测量数据点 [xi, yi] = meshgrid(1:0.01:10); %构造插值网格 hi = griddata(x, y, h, xi, yi, \'v4\'); %griddata进行V4插值 surf(hi); %画出地貌 shading flat; %去除网格线 colorbar; xlabel(\'x\'), ylabel(\'y\'), zlabel(\'h\')
未经插值的原图是
MATLAB RGB数值
figure ax1 = subplot(2,1,1); x = linspace(0,10,50); y1 = sin(2*x); plot(ax1,x,y1) title(ax1,\'Subplot 1\') ylabel(ax1,\'Values from -1 to 1\') ax2 = subplot(2,1,2); y2 = rand(50,1); scatter(ax2,x,y2) title(ax2,\'Subplot 2\') ylabel(ax2,\'Values from 0 to 1\')
使用 subplot
函数在一个图窗中创建多个坐标区,该函数可将图窗划分为若干个子图网格。
例如,创建两个堆叠子图,并将 Axes
对象赋给变量 ax1
和 ax2
。在每个子图中添加绘图、标题和轴标签。指定 Axes
对象作为每个 graphics 函数的第一个输入参数,以确保此函数以正确的坐标区为目标。
请发表评论