用MATLAB绘制三维地形高程图
有一个文本数据文件(文件名:h.txt),格式是:线号,点号,x坐标,y坐标,h高程:111488333.23457332.6545.2121488312.4345737...
有一个文本数据文件(文件名:h.txt),格式是:线号,点号,x坐标,y坐标,h高程:
1 11 488333.2 3457332.6 545.2
1 21 488312.4 3457379.6 520.8
1 31 488288.1 3457422.6 512.6
1 41 488268.5 3457468.8 488.8
1 51 488247.6 3457514.4 460.6
1 61 488229.0 3457560.9 449.3
1 71 488211.3 3457608.3 459.9
1 81 488189.7 3457651.9 446.5
1 91 488173.2 3457699.8 462.0
1 101 488150.3 3457744.4 455.6
1 111 488131.7 3457791.4 435.6
1 121 488113.1 3457837.5 423.5
1 131 488086.8 3457880.9 411.2
1 141 488066.5 3457927.2 401.9
1 151 488053.7 3457974.3 403.2
1 161 488026.0 3458017.4 402.8
1 171 488009.1 3458064.9 403.6
1 181 487985.8 3458110.9 403.7
。。。。。
数据文件比较大(线距400m,点距50m,面积200平方公里)。现需用MATLAB绘制高程图。
请写明命令过程、函数变量,包括读文件、插值、绘图等。另外,MATLAB能处理多大的数据,有限制吗?
非常感谢!
@meteora1106: 你的思路我明白了,但按这个跑下来,出错了啊?麻烦你检查一下是哪里笔误了? 展开
1 11 488333.2 3457332.6 545.2
1 21 488312.4 3457379.6 520.8
1 31 488288.1 3457422.6 512.6
1 41 488268.5 3457468.8 488.8
1 51 488247.6 3457514.4 460.6
1 61 488229.0 3457560.9 449.3
1 71 488211.3 3457608.3 459.9
1 81 488189.7 3457651.9 446.5
1 91 488173.2 3457699.8 462.0
1 101 488150.3 3457744.4 455.6
1 111 488131.7 3457791.4 435.6
1 121 488113.1 3457837.5 423.5
1 131 488086.8 3457880.9 411.2
1 141 488066.5 3457927.2 401.9
1 151 488053.7 3457974.3 403.2
1 161 488026.0 3458017.4 402.8
1 171 488009.1 3458064.9 403.6
1 181 487985.8 3458110.9 403.7
。。。。。
数据文件比较大(线距400m,点距50m,面积200平方公里)。现需用MATLAB绘制高程图。
请写明命令过程、函数变量,包括读文件、插值、绘图等。另外,MATLAB能处理多大的数据,有限制吗?
非常感谢!
@meteora1106: 你的思路我明白了,但按这个跑下来,出错了啊?麻烦你检查一下是哪里笔误了? 展开
5个回答
展开全部
画图到不难,就是你这个数据预处理稍微麻烦点,首先得把数据转成栅格数据,就是把x,y,z这三个列向量都变成矩阵,幸好你的数据x和y还是排序好的,栅格化:[X Y]=meshgrid(x,y),我这就给你编好哇;
Z=meshgrid(z);%z转为栅格数据
n=length(z);
X=repmat(x',n,1);%Z对应的x和y数据二维矩阵
Y=repmat(y',n,1);
然后用二维插值,ZI=interp2(X, Y, Z, XI, YI, method),细化数据,具体interp2用法自己查查,不细说了,都是栅格数据;
最后用meshc画:meshc(XI,YI,ZI),这是带等高线的三维曲面图,(或用surfc,你看哪个效果好吧)
一般计算机,处理几千乘几千的矩阵就差不多极限了吧,主要是内存会不够,如果你电脑好的话,多大都不怕
Z=meshgrid(z);%z转为栅格数据
n=length(z);
X=repmat(x',n,1);%Z对应的x和y数据二维矩阵
Y=repmat(y',n,1);
然后用二维插值,ZI=interp2(X, Y, Z, XI, YI, method),细化数据,具体interp2用法自己查查,不细说了,都是栅格数据;
最后用meshc画:meshc(XI,YI,ZI),这是带等高线的三维曲面图,(或用surfc,你看哪个效果好吧)
一般计算机,处理几千乘几千的矩阵就差不多极限了吧,主要是内存会不够,如果你电脑好的话,多大都不怕
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发到我邮箱,我帮你解决一下。
前面那一排1是啥意思?
前面那一排1是啥意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据大小没问题,肯定能处理,具体你可以help一下contour3函数!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询