这里主要讲述两个方法用matlab画三维图形:

1.mesh函数

先看一个简单的例子:

 x = ::;
y = ::;
[X, Y] = meshgrid(x, y);
Z = zeros(,);
Z = [ ;
;
;
]
mesh(X, Y, Z);

这是个简单的用mesh函数画的三维图,结果是:

这里需要注意一点:

矩阵Z的行列,Z的行是Y坐标系的值(meshgrid的右边位置的数y),Z的列是X坐标系的值(meshgrid的左边位置的数x)。

那下面讲下我怎么将自己的数据导入到Z矩阵中:

1.简单的方法是直接将数据输入到矩阵Z中,注意行列:

 x = ::;
y = ::;
[X,Y] = meshgrid(x,y);
Z = zeros(,);
Z = [
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
];
mesh(X, Y, Z);
xlabel('cluster');
ylabel('mrf node');
zlabel('max label num');

结果是:

方法2用plot3画:

首先用c++写段代码,注意数据存储的方式:

     fp = fopen("D://cluster_num_max.text", "w");
if(fp)
{
for (GLong v = ; v < mrf.size(); v++)
{
for (GLong k = ; k < canopy; k++)
{
fprintf(fp, "%ld ", v + );
}
}
fprintf(fp, "\n");
for (GLong v = ; v < mrf.size(); v++)
{
for (GLong k = ; k < canopy; k++)
{
fprintf(fp, "%ld ", k + );
}
}
fprintf(fp, "\n");
for (GLong v = ; v < mrf.size(); v++)
{
for (GLong k = ; k < canopy; k++)
{
GLong lCanopyTemp = mrf[v].stClusterNum_min_max[k].lLabel_pruning_cluster_num_max;
fprintf(fp, "%ld ", lCanopyTemp );
}
//fprintf(fp, ";\n");
}
}
//fprintf(fp, "\n");
fclose(fp);
fp = NULL;

得到cluster_num_max.text后,matlab就可以导入数据了。

 load('D:\\cluster_num_max.text');
y = cluster_num_max(,:);
x = cluster_num_max(,:);
z = cluster_num_max(,:);
plot3(x,y,z);
xlabel('cluster');
ylabel('mrf node');
zlabel('max label num')

结果是:

补充mesh函数:

 [x,y]=meshgrid(-:0.5:);
z=sin(sqrt(x.^+y.^))./sqrt(x.^+y.^+eps);
subplot(,,);
mesh(x,y,z);
title('mesh(x,y,z)')
subplot(,,);
meshc(x,y,z);
title('meshc(x,y,z)')
subplot(,,);
meshz(x,y,z)
title('meshz(x,y,z)')
subplot(,,);
surf(x,y,z);
title('surf(x,y,z)')

最后说一下plot3和mesh的图怎么不一样

左图是plot3,右图是mesh。可以看到当(1,4,1)数据紧接着是(2,1,1),它们相连了。

matlab中画三维图形的更多相关文章

  1. matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  2. Matlab随笔之三维图形绘制

    1.三维曲线 用到了plot3函数.plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的(x,y,z)点连接在一起. t=linspace(,*pi,); x=sin(t); y ...

  3. matlab中set设置图形属性

    来源:https://ww2.mathworks.cn/help/matlab/ref/set.html?searchHighlight=set&s_tid=doc_srchtitle set ...

  4. matlab中画系统零极点的方法

    写论文的时候由于需要画出系统的零极点图.但是之前不知道怎么用matlab画,今天研究了一下,拿出来和大家共享.所用到的matlab函数为zplane,matlab给出的解释如下: ZPLANE Z-p ...

  5. matlab中get查询图形对象属性

    来源:https://ww2.mathworks.cn/help/matlab/ref/get.html?searchHighlight=get&s_tid=doc_srchtitle get ...

  6. matlab中画一条折线时怎样显示出每个点折点的数值

    举个例子: num=[5,44,62,154,264,365,398,480,619,705,762,728,669,726,890,731,707,696,558,509,444];date=[1. ...

  7. matlab绘制三维图形

    原文地址:种三维曲面图. 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2, ...

  8. Matlab绘图基础——colormap在数字图像处理及三维图形展示上的应用(分层设色)

        色图(color map)是MATLAB系统引入的概念.在MATLAB中,每个图形窗口只能有一个色图.        色图是m×3 的数值矩阵,它的每一行是RGB三元组.色图矩阵可以人为地生成 ...

  9. [转载]Matlab中插值函数汇总和使用说明

    http://blog.sciencenet.cn/blog-457143-679275.html MATLAB中的插值函数为interp1,其调用格式为:  yi= interp1(x,y,xi,' ...

随机推荐

  1. 简述前后端项目RSA+AES加解密

    一.登录机制 在项目中,我们可以大致得出一个登录的过程,主要分为  登录验证.登录保持.退出三个部分.登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确 ...

  2. session 的理解

  3. linux netstat 查看端口

    1. netstat命令用于显示系统的网络信息,包括网络连接 .路由表 .接口状态2. 一般我们使用 netstat 来查看本机开启了哪些端口,查看有哪些客户端连接 [root@localhost ~ ...

  4. excel常用公式--计算统计类

    Count/Countif/Countifs:条件计数. 注:count只能对数值进行统计 sum/sumif/sumifs:条件求和.   Average/Averageifs:  返回参数的平均值 ...

  5. Python的入门(day1)

    一:Python的起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种 ...

  6. Python中.format()常见的用法

    format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: ') >>>' 其实就是format()后面的内容,填入大括号中 ' ...

  7. LOJ167 康托展开 题解

    题面 康托展开: 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩. 康托展开的实质是计算当前排列在所有由小到大全排列中的名次,因此是可逆的. X = A[0] * (n-1)! ...

  8. python 链接mysql 事务

    import mysql.connector try: con = mysql.connector.connect( host="localhost", port="33 ...

  9. jumpserver-1.4.8安装步骤

    1. 组件说明 Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理.用户管理.资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作 koko 为 SSH ...

  10. this 到底指向谁

    this 的指向,是在调用函数时根据执行上下文所动态确定的. 在函数体中,简单调用该函数时(非显式/隐式绑定下),严格模式下 this 绑定到 undefined,否则绑定到全局对象 window/g ...