• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

[matlab] 2.数据可视化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
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)就可以了
利用meshgrid生成网格节点

 

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;
z=x^2+y^2被圆柱面x^2+y^2=1以及三坐标平面所截得的在第一卦限的图像

 

附件链接( 密码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 函数的第一个输入参数,以确保此函数以正确的坐标区为目标。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB基础(4)——MATLAB图形可视化发布时间:2022-07-18
下一篇:
matlab可视化程序设计(1)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap