liushuangq05 发表于 2010-12-1 09:15:43

matlab做的海啸传播模拟图,望版主加个技术分鼓励下吧

matlab做的海啸传播模拟图,望版主加个技术分鼓励下吧,图片后面大体说一下程序编写的注意地方。

liushuangq05 发表于 2010-12-1 09:18:08

第167分钟的效果图

liushuangq05 发表于 2010-12-1 09:19:11

2窗口同时显示波形数据

liushuangq05 发表于 2010-12-1 09:25:49

(1)要做到好的显示效果,首先需要好的数据。在地形方面,主要来自NOAA(美国国家地球物理数据中心)的高程数据,通过下载的数据,转化成pcolor能绘制的方式。然后利用colormap(hsv(number))来调整显示效果。 这个调整过程和surfer,arcgis的方式基本一致。

liushuangq05 发表于 2010-12-1 09:29:47

补充一下,在colormap调整过程中,渐变和突变(两个或三个以上色彩指标相邻使用)要交替使用,效果会更理想。对自己关注的域值附近尽量加密色彩指标。colormap(hsv(number))能实现这个功能,其中number为色彩阶度。

liushuangq05 发表于 2010-12-1 09:43:59

figure('Position',);
axes('position',);
axes('position',);
以上三句实现较好的分屏,当然可以按自己要求做其他分屏设置。
caxis([-0.2 0.25]);
这个色彩显示参数不动,可以保证每帧的色调一致。
colorbar('Position',);
可以确定colorbar的位置,通过4个参数,可以进一步调整高度,宽度。
print(gcf,'-dpng',image_name);
最后是自动保存图象。

发现Matlab不少参数很实用,比arcgis做的效率要高(当然本人没用VBA编写arcgis定义)。

谢谢大家!

bainhome 发表于 2010-12-1 14:33:37

本帖最后由 bainhome 于 2010-12-1 14:42 编辑

嗯,版里猛人还是不少,不过如今这世道艰难啊,光是效果图已经吓不住兄弟们了(玩笑)。这个东东估计用到了mapping以及图像处理等工具箱,抛开核心机密代码,不妨就此问题结合实例谈谈,并适度展开,也许有更好的效果。
个人愚见。

liushuangq05 发表于 2010-12-1 17:00:34

呵呵,希望提高大家用matlab作图的兴趣呀。海啸程序本身是用fortran编写的,用system调用编译好的exe,这样计算速度快。成像就用上面说的几个基本命令了,只是对里面的属性进行了比较细致的个性化调整!

pacoyang 发表于 2010-12-1 21:48:41

"用system调用编译好的exe"这句话是什么意思?system是什么?在哪里调用?fortran程序生成的exe么

liushuangq05 发表于 2010-12-1 22:20:23

system是matlab的内置函数,它可以像DOS界面下运行cmd的命令. 我这里说的exe是fortran编译好的.不过好象m文件编译成p文件后,速度也快了很多.
这些成像都是命令编辑的,在matlab6.5版本上用.我装的matlab版本并不高.还保留matlab5.3呢:loveliness:

cwit 发表于 2011-3-28 21:52:57

这个很有意思。
你这个区域很大。
我们只能处理局部的地图数据,一般不超过1万平方公里。

tong562314706 发表于 2011-3-29 19:43:05

崇拜啊!听起来还挺复杂的。是不是动画啊?

zhutou0517 发表于 2011-4-22 10:00:19

学习了!学好matlab没错的!

chuanhailc 发表于 2011-4-22 22:41:33

各种牛人。。。
页: [1]
查看完整版本: matlab做的海啸传播模拟图,望版主加个技术分鼓励下吧