matlab中画三维图形
这里主要讲述两个方法用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中画三维图形的更多相关文章
- matlab中的三维坐标系与旋转
1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...
- Matlab随笔之三维图形绘制
1.三维曲线 用到了plot3函数.plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的(x,y,z)点连接在一起. t=linspace(,*pi,); x=sin(t); y ...
- matlab中set设置图形属性
来源:https://ww2.mathworks.cn/help/matlab/ref/set.html?searchHighlight=set&s_tid=doc_srchtitle set ...
- matlab中画系统零极点的方法
写论文的时候由于需要画出系统的零极点图.但是之前不知道怎么用matlab画,今天研究了一下,拿出来和大家共享.所用到的matlab函数为zplane,matlab给出的解释如下: ZPLANE Z-p ...
- matlab中get查询图形对象属性
来源:https://ww2.mathworks.cn/help/matlab/ref/get.html?searchHighlight=get&s_tid=doc_srchtitle get ...
- 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. ...
- matlab绘制三维图形
原文地址:种三维曲面图. 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2, ...
- Matlab绘图基础——colormap在数字图像处理及三维图形展示上的应用(分层设色)
色图(color map)是MATLAB系统引入的概念.在MATLAB中,每个图形窗口只能有一个色图. 色图是m×3 的数值矩阵,它的每一行是RGB三元组.色图矩阵可以人为地生成 ...
- [转载]Matlab中插值函数汇总和使用说明
http://blog.sciencenet.cn/blog-457143-679275.html MATLAB中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,' ...
随机推荐
- 第十四周课程总结&&实验总结
课程总结: 1.Java实现跨平台操作的工具:JDBC. 它的意思是java数据库连接,可以方便的实现多种关系型数据库的统一操作,它由一组用java语句编写的类和接口组成. 2.JDBC驱动分类: J ...
- Excel透视表基础之数据源、创建、基本术语、基本操作
数据源的基本要求: 每列数据的第一行包含该列标题 不能包含空行或空列 不能包含空单元格 不能包含合并单元格 不能包含同类字段 如果包含空行.空列则删除空行和空列.如果包含空单元格则填充空单元格. 如果 ...
- MySQL -3- 基础应用
1.数值类型 TINYINT --极小整数SMALLINT --较小整数MEDIUMINT --中型整数INT --常规整数BIGINT --较大整数FLOAT --小型单精度DOUBLE --常规双 ...
- Python:什么是进阶,如何进阶?
目录 Python:什么是进阶,如何进阶? 1. 什么是进阶? 2. 如何进阶? 3. 除此之外呢? Python:什么是进阶,如何进阶? 1. 什么是进阶? 一门编程语言的基础部分,往往非常简单.如 ...
- P4868 Preprefix sum
传送门 挺显然的一题?单点修改,前缀和数组前缀查询 树状数组就可以维护了 考虑每个位置对应询问的贡献,设询问的位置为 $x$,对于原数组 $a[i]$ 的某个位置 $i$,它会贡献 $(x-i+1)* ...
- P2496 [SDOI2012]体育课
传送门 分块 对每个块维护一个 $add$ 和 $del$ 标记,对于块 $o$ 内某个位置 $i$,它真实的修改量为 $a[i]+add[o]*i-del[o]$ 这样就可以维护一个区间加一个等差数 ...
- 09、RNA降解图的计算过程
RNA降解是影响芯片质量的一个很重要的因素,因为RNA是从5’开始降解的,所以理论5’的荧光强度要低于3’.RNA降解曲线可以表现这种趋势. 以样品GSM286756.CEL和GSM286757.CE ...
- C# 从集合A中取出集合B中不包含的数据(根据ID判断),并添加到集合B中
从一个集合A中取出另一个集合B中不包含的数据,并添加到集合B中 private void button2_Click(object sender, EventArgs e) { var ListA = ...
- SpringBoot在macOS下启动慢的原因
title: SpringBoot在macOS下启动慢的原因 comments: false date: 2019-07-16 09:48:24 description: 在 macOS + JDk1 ...
- drf三大认证解析
目录 三大认证 认证模块: 权限模块 频率模块 RABC author组件 认证权限六表. Content_type 认证与权限工作原理+自定义认证类 自定义权限类 admin关联自定义用户表 前后台 ...