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,' ...
随机推荐
- GitLab使用小结
对Git和GitLab的使用作一个小结 GitLab基于Git,可以作为团队开发项目使用,因此通常会有一个主分支master和其他分支,因此项目成员中任意一人不能随意push到主分支中,容易引起混乱: ...
- vue,基于element的tree组件封装
封装组件代码 // 组件:树 /* 参数说明-属性: 1.treeData:展示数据(array) 2.treeEmptyText:内容为空的时候展示的文本(String) 3.treeNodeKey ...
- shell脚本一键部署nginx
一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- Python 的开始
现在的 Linux 上一般都自带有 Python 如果没有,那就下载一个 打开 python 在终端中输入 python ,如果出现了和这差不多的 Python 2.7.15+ (default, O ...
- Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]
题目 大意: 缩点后转为求最长链的长度和最长链的个数 思路: 看懂题就会做系列 长度和个数都可以拓扑排序后DP求得 毕竟是2007年的题 代码: 如下 #include <cstdio> ...
- python变量的内存管理
python变量的内存管理 一.变量存在了哪里? 先让我们来看一段代码: height = 100 # 定义变量 # print(100) # print会自动帮你创建一个变量100,打印完之后,马上 ...
- Codeforces893F_Subtree Minimum Query
题意 给定一棵树和根,每个点有点权,强制在线询问\(x\)子树里离\(x\)距离不超过\(k\)的最小点权. 分析 权值线段树合并的套路题,dfs,以深度作为下标,点权作为值,对每个点建立一颗权值线段 ...
- springcloud-概念
springcloud-概念 一.架构演进过程 单体架构----分布式架构----SOA(eg.dubbo)服务治理架构----微服务 随着互联网的发展,需求的激增致使网站应用规模的扩大,最后转成了技 ...
- Echarts-数据的视觉映射
来源:官网,自己整理 数据可视化是 数据 到 视觉元素 的映射过程(这个过程也可称为视觉编码,视觉元素也可称为视觉通道). ECharts 的每种图表本身就内置了这种映射过程,比如折线图把数据映射到『 ...
- handlebars杂记
1.{{{caption}}}三个花括号,可以解析 空格 变成 ‘空格’. 2.数据是posts:[{ }]数组时候,可以用{{posts.length}}取得其数组长度 3.handl ...