Mike post process with Matlab toolbox
表怕,这个博客只有题目是英文的……
Matlab toolbox 安装
去DHI官网下载最新的MikeSDK2014与Matlab toolbox,下载好后安装MikeSDK2014,注意电脑上不能有其他版本的Mike软件。
安装成功后进入解压缩后的Matlab toolbox文件夹MatlabDfsUtil内,运行脚本MatlabDfsUtilBuild.bat,若脚本成功运行,则Toolbox安装成功。注意检查SDK安装路径与MatlabDfsUtilBuild.bat中内容是否一致,如默认路径为:
set csc=C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
set sdkBin=C:\Program Files (x86)\DHI\2014\MIKE SDK\bin
%csc% /t:library /out:MatlabDfsUtil.2014.dll /r:"%sdkBin%\DHI.Generic.MikeZero.DFS.dll" /r:"%sdkBin%\DHI.Generic.MikeZero.EUM.dll" MatlabDfsUtil.cs
Mike结果读取
说明:这里以Mike3 FM计算为例,使用的是非结构化三角形网格,垂向采用6层sigma网格
1. 地形
作为地形数据最主要的有两个:一是x、y节点坐标(Node coordinates);二为节点组成单元信息(element table)。
首先Mike使用三角形网格计算时,其计算的单元体为6顶点的三棱柱体,单元体编号循环遍历顺序为:从底层到表层,然后再水平方向循环。
所以,在Mike结果中单元体总数应该为[水平单元个数X垂向分层数],而表示节点组成单元信息的矩阵EToV行X列大小则为[单元体总数X 6]。
另外,三棱柱单元内6个节点循环顺序是从底部三角形三个顶点开始,顶部三角形三个顶点结束,如下图所示:
下面介绍如何获得有关数据:
_________________________________________________________
NET.addAssembly('DHI.Generic.MikeZero.DFS');
import DHI.Generic.MikeZero.DFS.*;
dfsu3 = DfsFileFactory.DfsuFileOpen('winter_3D.dfsu');
% Node coordinates
xn = double(dfsu3.X);
yn = double(dfsu3.Y);
zn = double(dfsu3.Z);
% Create element table in Matlab format
EToV = mzNetFromElmtArray(dfsu3.ElementTable);
_________________________________________________________
上面的dfsu就是使用Matlab toolbox函数读取的计算文件结构体,这个结构体中单元节点信息储存并非Matlab直接可读格式,需要调用函数mzNetFromElmtArray进行转换。
2. 计算结果变量相关
计算结果变量信息,包括变量名与单位、变量个数、变量数据读取等方面。
变量个数:dfsu3.ItemInfo.Count format: integer
变量名与单位:dfsu3.ItemInfo.Item format: cell{ 0 ~ dfsu3.ItemInfo.Count-1 }
dfsu3.ItemInfo.Item(varid).Quantity.Unit
dfsu3.ItemInfo.Item(varid).Quantity.UnitAbbreviation
变量数据读取:varData = double(dfsu3.ReadItemTimeStep(varid,iTime).Data);
Format: double[ 1 x elementNum ];
注意,这里varid与iTime分别代表变量序号与时间步,而提取得到的数据varData也是按照单元循环顺序进行循环(先由底至表在三棱柱内循环,后在水平方向循环)。
Mike post process with Matlab toolbox的更多相关文章
- 【模式识别】CART和GML AdaBoost MATLAB TOOLBOX
GML AdaBoost Matlab Toolbox是一款很优秀的AdaBoost工具箱,内部实现了Real AdaBoost, Gentle AdaBoost和Modest AdaBoost三种方 ...
- MATLAB Toolbox Path Cache is out of date and is not being used的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用mcc编译MATLAB\R2009a\extern\examples\compiler目录下的hello.m,编译 ...
- matlab 工具函数、matlab toolbox(工具箱)
minimize.m:最小化可微多元函数 minimize.m:最小化一个可微的多元函数: Minimize a differentiable multivariate function,函数接口说明 ...
- 可视化利器 —— t-SNE(matlab toolbox 的使用与解释)
t-SNE – Laurens van der Maaten(感谢学术男神们的无私开源) User_guide.pdf(用户指南) 1. tsne 函数 mappedX = tsne(X, label ...
- Matlab Robotics Toolbox 仿真计算:Kinematics, Dynamics, Trajectory Generation
1. 理论知识 理论知识请参考: 机器人学导论++(原书第3版)_(美)HLHN+J.CRAIG著++贠超等译 机器人学课程讲义(丁烨) 机器人学课程讲义(赵言正) 2. Matlab Robotic ...
- matlab 工具箱下载地址
1.平面操作工具箱 http://cathy.ijs.si/~leon/planman.html 2.SimMechanics 工具箱 (这个好像不是免费的) http://www.mathworks ...
- matlab toolboxes 大全
MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics - Chaos - Chemi ...
- matlab 降维工具箱
Matlab Toolbox for Dimensionality Reduction 降维方法包括: Principal Component Analysis (PCA) • Probabili ...
- Libsvm Matlab 快速安装教程 (适用于Win7+, 64bit, and Matlab2016a+)
近日在开始学习Machine Learning SVM 相关算法,将Matlab平台安装SVM的步骤记录如下,亲测可用: 开发环境: Windows 8 64 bit, Matlab 2016a, S ...
随机推荐
- 免费UML工具介绍 - 基于云技术
现在,我们的时间很短,无法完成我们的项目.我们不想花时间在软件配置.安装上,而是集中精力解决问题,对吗? 今天我想给大家介绍一个非常特殊的IT专业人员工具.软件开发.战略分析.客户行程映射等灵活的免费 ...
- Coursera Deep Learning笔记 结构化机器学习项目 (下)
参考:https://blog.csdn.net/red_stone1/article/details/78600255https://blog.csdn.net/red_stone1/article ...
- [技术博客]在团队中使用Pull Request来管理代码
在团队中使用Pull Request来管理代码 前言 在参加多人共同开发项目,且选用Git作为代码托管工具的时候,我们不免会遇到分支冲突.覆盖.合并等问题.显然,因为同一个仓库是属于大家的,所以每个人 ...
- 用建造者模式实现一个防SQL注入的ORM框架
本文节选自<设计模式就该这样学> 1 建造者模式的链式写法 以构建一门课程为例,一个完整的课程由PPT课件.回放视频.课堂笔记.课后作业组成,但是这些内容的设置顺序可以随意调整,我们用建造 ...
- windows下wchar_t的问题
使用vs新建工程或者编译工程的时候默认在编译设置里面讲wchar_t设置为内置类型,如下图: 但是在编译相互依赖的工程的时候,如果有的工程不将wchar_t设置为内置类型的时候,将会出现链接错误,需要 ...
- 基础篇:JAVA集合,面试专用
没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 关注公众号,一起交流,微信搜一搜: 潜行前行 ...
- Logic strength modeling
7.9 Verilog HDL提供了信号争用.双向通过门.电阻式MOS器件.动态MOS.电荷共享的精确建模,并通过允许标量净信号值具有全范围的未知值和不同强度级别或强度级别的组合来实现其他依赖于技术的 ...
- Python 语法错误 except Exception, e: ^ SyntaxError: invalid syntax
出这个问题是因为python2和python3 语法有些不同 python2 和 3 处理 except 子句的语法有点不同,需要注意: Python2 try: print ("hello ...
- Java实体映射工具MapStruct使用详解
1.序 通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储:通常使用的BeanUtils.copyProperties方法 ...
- mybatis插入数据时处理为null的属性
在做项目的时候,数据库中的所有字段被设置为全都不能为null,但是在我们开发过程中,插入一些记录的时候,实体类中的一些字段如果页面没有传入,则默认就会被设置为null,这样的话,在执行插入语句的时候, ...