表怕,这个博客只有题目是英文的……

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 ];

注意,这里varidiTime分别代表变量序号与时间步,而提取得到的数据varData也是按照单元循环顺序进行循环(先由底至表在三棱柱内循环,后在水平方向循环)。

Mike post process with Matlab toolbox的更多相关文章

  1. 【模式识别】CART和GML AdaBoost MATLAB TOOLBOX

    GML AdaBoost Matlab Toolbox是一款很优秀的AdaBoost工具箱,内部实现了Real AdaBoost, Gentle AdaBoost和Modest AdaBoost三种方 ...

  2. 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,编译 ...

  3. matlab 工具函数、matlab toolbox(工具箱)

    minimize.m:最小化可微多元函数 minimize.m:最小化一个可微的多元函数: Minimize a differentiable multivariate function,函数接口说明 ...

  4. 可视化利器 —— t-SNE(matlab toolbox 的使用与解释)

    t-SNE – Laurens van der Maaten(感谢学术男神们的无私开源) User_guide.pdf(用户指南) 1. tsne 函数 mappedX = tsne(X, label ...

  5. Matlab Robotics Toolbox 仿真计算:Kinematics, Dynamics, Trajectory Generation

    1. 理论知识 理论知识请参考: 机器人学导论++(原书第3版)_(美)HLHN+J.CRAIG著++贠超等译 机器人学课程讲义(丁烨) 机器人学课程讲义(赵言正) 2. Matlab Robotic ...

  6. matlab 工具箱下载地址

    1.平面操作工具箱 http://cathy.ijs.si/~leon/planman.html 2.SimMechanics 工具箱 (这个好像不是免费的) http://www.mathworks ...

  7. matlab toolboxes 大全

    MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics  - Chaos - Chemi ...

  8. matlab 降维工具箱

    Matlab Toolbox for Dimensionality Reduction   降维方法包括: Principal Component Analysis (PCA) • Probabili ...

  9. Libsvm Matlab 快速安装教程 (适用于Win7+, 64bit, and Matlab2016a+)

    近日在开始学习Machine Learning SVM 相关算法,将Matlab平台安装SVM的步骤记录如下,亲测可用: 开发环境: Windows 8 64 bit, Matlab 2016a, S ...

随机推荐

  1. 力扣 - 剑指 Offer 53 - I. 在排序数组中查找数字 I

    题目 剑指 Offer 53 - I. 在排序数组中查找数字 I 思路1 一般来说,首先想到的是使用一个变量,从头开始遍历整个数组,记录target数组出现的次数,但是这样的时间复杂度是O(n),还是 ...

  2. spring cloud zuul的回退

    当我们使用 @EnableZuulProxy 注解来开启zuul的路由时,默认在@EnableZuulProxy注解上就包含了@EnableCircuitBreaker注解,即开启了断路器功能.那么在 ...

  3. hystrix的dashboard和turbine监控

    当我们的应用程序使用了hystrix后,每个具体的hystrixCommand命令执行后都会产生一堆的监控数据,比如:成功数,失败数,超时数以及与之关联的线程池信息等.既然有了这些监控数据数据,那么我 ...

  4. Docker 搭建 Jenkins 持续集成自动化构建环境

    1.Docker镜像拉取 Jenkins 环境命令 docker pull jenkins/jenkins:lts 查看下拉取的镜像 docker images 2.通过容器编排方式构建 Jenkin ...

  5. jmeter no-JUI执行常用命令(四)

    一.常用命令简述 -n, --nongui命令行界面启动jmeter-t, --testfile {filename}jmx结尾的测试计划,支持相对路径-l, --logfile {filename} ...

  6. 剑指 Offer 20. 表示数值的字符串

    方法:分为几个部分判断 DA[.B][E/eC] D 其中D表示前后的空格,需要处理,跳过即可 A可以带正负号 有符号数 B无符号数 C可以为有符号数(带+-号) 小数点.后面必须是无符号数或者没有 ...

  7. robot_framewok自动化测试--(6)Collections 库

    Collections 库 Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加: 1. ...

  8. 基于大量图片与实例深度解析Netty中的核心组件

    本篇文章主要详细分析Netty中的核心组件. 启动器Bootstrap和ServerBootstrap作为Netty构建客户端和服务端的路口,是编写Netty网络程序的第一步.它可以让我们把Netty ...

  9. RDD的详解、创建及其操作

    RDD的详解 RDD:弹性分布式数据集,是Spark中最基本的数据抽象,用来表示分布式集合,支持分布式操作! RDD的创建 RDD中的数据可以来源于2个地方:本地集合或外部数据源 RDD操作 分类 转 ...

  10. Part 33 Angular nested scopes and controller as syntax

    Working with nested scopes using $scope object : The following code creates 3 controllers  - country ...