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 ...
随机推荐
- 配置pyenv环境
git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv&quo ...
- Java Filter型内存马的学习与实践
完全参考:https://www.cnblogs.com/nice0e3/p/14622879.html 这篇笔记,来源逗神的指点,让我去了解了内存马,这篇笔记记录的是filter类型的内存马 内存马 ...
- MySQL:补充知识
MySQL补充知识 在学习完 MySQL 基础与提高内容后: 基础知识笔记: MySQL:基础语法-1 MySQL:基础语法-2 MySQL:基础语法-3 MySQL:基础语法-4 提高知识笔记: M ...
- httpclient 登录成功后返回的cookie值访问下一页面
HttpClient4.x可以自带维持会话功能,只要使用同一个HttpClient且未关闭连接,则可以使用相同会话来访问其他要求登录验证的服务(见TestLogin()方法中的"执行get请 ...
- spring cloud hystrix的隔离策略和dashboard
随着服务的拆分,各个服务有着明确的职责,服务之间通过轻量级的协议进行通讯.但有时候我们完成一个功能需要同时调用多个微服务,比如完成订单的创建,那么获取用户信息需要调用用户微服务,获取商品信息需要调用商 ...
- IDEA升级开源框架
在开发过程中,我们经常会用到一些 GitHub或者Gitee上的开源框架来快速搭建我们的业务系统,但是当框架被我们大批量修改后,开源框架又有升级了.这时候升级框架就变得很麻烦,也不能直接直接进行合并, ...
- 创建双向 CA x509 验证证书 kube-apiserver
1. 设置 kube-apiserver 的 CA 证书相关的文件和启动参数 使用 OpenSSL 工具在 Master 服务器上创建 CA 证书和私钥相关的文件: # openssl genrsa ...
- 【java+selenium3】元素的扩展操作(二)
1.判断当前元素是否可显示 isDisplay(); //判断元素是否可见 boolean a= driver.findElement(By.id("xxx")).isDispla ...
- RF运行之后控制信息日志显示乱码(解决方法)
RIDE运行自动化测试案例时,控制台信息显示乱码,如下所示: 解决方法:进入到python的安装路径下:D:\python37\Lib\site-packages\robotide\contrib\t ...
- springmvc学习笔记(全)
SpringMVC简介 什么是MVC MVC是一种软件架构的思想,将软件按照模型.视图.控制器来划分 M: Model:模型层,指工程中的JavaBean,作用是处理数据.JavaBean分为两类: ...