找回密码
 注册
Simdroid-非首页
查看: 159|回复: 6

matlab绘制三维图求助

[复制链接]
发表于 2010-8-26 16:37:17 | 显示全部楼层 |阅读模式 来自 湖北武汉
知道某一区域的x,y及坐标值,能不出处这样的图,不同颜色表示高程差异。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-8-26 17:52:22 | 显示全部楼层 来自 湖南湘潭
Simdroid开发平台
应该可以,属于indexed image问题。直接调用image函数即可。
image(xData,yData,C,'CDataMapping','scaled')
axis image
C为点坐标(x,y)的函数值。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-8-27 10:19:44 | 显示全部楼层 来自 河北廊坊
也可用
  1. imagesc
复制代码
看看帮助文件,有详细介绍和例子的

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-8-27 16:13:44 | 显示全部楼层 来自 湖北武汉
非常感谢各位的帮助!尝试做了一个。
回复 不支持

使用道具 举报

发表于 2010-9-2 10:44:50 | 显示全部楼层 来自 黑龙江哈尔滨
当然可以啦,你把这一区域的x,y及坐标值存到A中即可,试试吧~~
clc; clear all; close all;
A = [
];
figure; box on; hold on; view(3);
plot3(A(:, 1), A(:, 2), A(:, 3), 'r.');
t1 = linspace(min(A(:, 1)), max(A(:, 1)));
t2 = linspace(min(A(:, 2)), max(A(:, 2)));
[x, y] = meshgrid(t1, t2);
z = griddata(A(:, 1), A(:, 2), A(:, 3), x, y);
mesh(x, y, z);

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-9-2 10:49:07 | 显示全部楼层 来自 黑龙江哈尔滨
补充一句:我上面的程序是三维的,三列的。如果你的数据是三列的,就没有问题;如果是四列的,那么得改改再用
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-2 17:22:31 | 显示全部楼层 来自 湖北武汉
谢谢,数据是叁列的,第三列为对应点的高程。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:24 , Processed in 0.053694 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表