这里主要讲述两个方法用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. 【Deep Learning Nanodegree Foundation笔记】第 1 课:INTRODUCTION Welcome

    Welcome to the Deep Learning Nanodegree Foundations Program! In this lesson, you'll meet your instru ...

  2. 第一个vue程序(极客时间Vue视频笔记)

    第一个vue程序 <body> <div class="app"> {{message}}--{{message+','+message}} <div ...

  3. springBoot2.0使用@ImportResource引入spring配置文件.xml

    1. 编写spring配置文件.xml 这里是bean.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  4. 模板渲染JinJa2

    模板渲染JinJa2 ​ 可以从数据库中查询数据,然后去替换我html中的对应内容(专业名词叫做模板渲染,你先渲染一下,再给浏览器进行渲染),然后再发送给浏览器完成渲染. 这个过程就相当于HTML模板 ...

  5. java向word中插入Excel附件

    1.word中插入对象的原理 编辑word,向word中插入图片.EXCEL.WORD等附件,再将word保存为xml格式,通过XML查看工具打开xml格式的word的源码,通过对比源码, 可以发现平 ...

  6. Vue 基础语法入门(转载)

    使用vue.js原文介绍:Vue.js是一个构建数据驱动的web界面库.Vue.js的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件.vue.js上手非常简单,先看看几个例子: 例一: ...

  7. docker Dockerfile文件的编写部分命令

    镜像的构建过程:编写dockerfile文件,执行docker build 进行构建镜像,最后docker run 运行容器镜像实例. docker build -t mycentos:1.01 . ...

  8. 将div生成图片并下载下来

    //文件需要引入html2canvas.js.jquery.js function downLoadImg(){ var element = $(".orgchart"); // ...

  9. N4复习考试总结

    一つ(ひとつ) 半分(はんぶん) 煙草(たばこ)を吸う(すう) 玄関(げんかん) ナイフ(刀)     財布(さいふ) 浅い(あさい) 薄い(うすい) 牛乳(ぎゅうにゅう) 皿(さら) 七日(なのか) ...

  10. 搭建CocoaPods远程私有库

    1.创建自己的远程私有索引库,用来存放私有框架的.podspec文件,并将其添加到本地索引 我用的仓库是码云(https://gitee.com),用自己的账号新建一个私有仓库,我命名为Private ...