再次完善了 WASPCN for Matlab

前段时间有多个网友询问在64位Matlab中如何使用WASPCN(水和蒸汽性质计算软件)的方法,一直没能给出解决方案。

最近自己有个项目也需要在64位Matlab中如何使用WASPCN(水和蒸汽性质计算软件),不得不设法解决问题了。

整个解决过程还真不简单。

需要先把原来的WASPCN.dll修改出64位版本的dll,由于原来dll是采用Delphi开发的,64位版本修改过程遇到了一些技术问题一直未能解决,最后不得不放弃,改用VC来重新dll。

还好以前有基础,先把32位dll的编程语言由Delphi换成VC,调试通过获得了waspcn32.dll,并进行了软件测试。
然后再改成64位版本的,编译获得了waspcn64.dll。

最后就是完成Mex扩展库的更新, 分别编写出32位版本的WASPCNMEX32.mexw32和64位版本的WASPCNMEX64.mexw64。

现在在Matlab可以采用两种方式装载WASPCN计算库。

方法一:装载Mex扩展库方式。
方法二:装载普通DLL库方式。

一、在MATLAB中使用《水和蒸汽性质计算》(WASPCN)的方法(采用Mex方式)。

--------------------------------------(32 位
MATLAB)----------------------------

(1)确保Waspcn32.dll在操作系统的搜索路径(例如:D:\Program
Files\MATLAB\R2011b\runtime\win32)中,或MATLAB的可搜索路径中。(可通过Path命令来查看。)。

(2)把Mex扩展库WASPCNMEX32.dll文件拷贝到MATLAB的userpath路径(例如:C:\Users\WASPCN\Documents\MATLAB)中。(可通过userpath命令来查看。)

为了和高版本的Matlab兼容(比如Matlab
R2008),需要把WASPCNMEX32.dll的扩展名由dll改成mexw32(即WASPCNMEX32.mexw32)。

(3)在MATLAB的命令窗口中输入如下形式的命令来计算(请注意WASPCNMEX32必须是大写,其它函数可以大小写混用)。

%a.输入4参数,输出2参数

[N,R] = WASPCNMEX32(‘PT2N‘,16.67,535.0,0.00001)

%b.输入3参数,输出2参数

[H,R] = WASPCNMEX32(‘pt2h‘,16.67,535.0)

%c.输入2参数,输出2参数

[T,R] = WASPCNMEX32(‘P2T‘,10.0)

%d.输入3参数,输出1参数

H     = WASPCNMEX32(‘pt2H‘,16.67,535.0)

%e.输入3参数,输出1参数

T     = WASPCNMEX32(‘p2T‘,10.0)

%f.输入3参数,输出7参数

[P,T,H,S,V,X,R] = WASPCNMEX32(‘PT‘,16.67,535.0)

--------------------------------------(64
位 MATLAB)----------------------------

(1)确保Waspcn64.dll在操作系统的搜索路径(例如:D:\Program
Files\MATLAB\R2011b\runtime\win64)中,或MATLAB的可搜索路径中。(可通过Path命令来查看。)。

(2)把Mex扩展库WASPCNMEX64.dll文件拷贝到MATLAB的userpath路径(例如:C:\Users\WASPCN\Documents\MATLAB)中。(可通过userpath命令来查看。)

为了和高版本的Matlab兼容(比如Matlab
R2008),需要把WASPCNMEX64.dll的扩展名由dll改成mexw64(即WASPCNMEX64.mexw64)。

(3)在MATLAB的命令窗口中输入如下形式的命令来计算(请注意WASPCNMEX64必须是大写,其它函数可以大小写混用)。

%a.输入4参数,输出2参数

[N,R] = WASPCNMEX64(‘PT2N‘,16.67,535.0,0.00001)

%b.输入3参数,输出2参数

[H,R] = WASPCNMEX64(‘pt2h‘,16.67,535.0)

%c.输入2参数,输出2参数

[T,R] = WASPCNMEX64(‘P2T‘,10.0)

%d.输入3参数,输出1参数

H     = WASPCNMEX64(‘pt2H‘,16.67,535.0)

%e.输入3参数,输出1参数

T     = WASPCNMEX64(‘p2T‘,10.0)

%f.输入3参数,输出7参数

[P,T,H,S,V,X,R] = WASPCNMEX64(‘PT‘,16.67,535.0)

二、在MATLAB中使用《水和蒸汽性质计算》(WASPCN)的方法(采用LoadLibrary方式)。

--------------------------- 32位 的matlab
----------------

(1)确保Waspcn32.dll在操作系统的系统搜索路径中(例如:D:\Program Files
(x86)\MATLAB\R2014a\runtime\win32)或MATLAB的可搜索路径中。(可通过Path命令来查看。)

(2)把WASPCN32.h文件拷贝到MATLAB的userpath路径(例如:C:\Users\WASPCN\Documents\MATLAB)中。(可通过userpath命令来查看。)

或者

创建自定义目录(例如:D:\Program Files
(x86)\MATLAB\R2014a\toolbox\WASPCN)并添加到系统path

%  把创建的目录添加到系统path中

addpath(genpath(‘D:\Program Files
(x86)\MATLAB\R2014a\toolbox\WASPCN‘));

%  保存路径

savepath;

(3)在MATLAB的命令窗口中输入如下形式的命令来调用WASPCN中的函数。

% 装载函数库(loadlibrary dll文件名 h文件名)

loadlibrary WASPCN32 WASPCN32.h;

%

% 调用函数calllib(‘dll文件名‘, ‘T_P97‘, 16.0)

T=calllib(‘WASPCN32‘, ‘T_P97‘, 16.0)

%

P=calllib(‘WASPCN32‘, ‘P_T97‘, 300.0)

%

H=calllib(‘WASPCN32‘, ‘H_PT97‘, 16.0,535.0)

%

% 卸载函数

unloadlibrary WASPCN32

--------------------------- 64位 的matlab
----------------

Win7 64位系统 安装64位的matlab

(1)确保Waspcn64.dll在操作系统的系统搜索路径中(例如:D:\Program
Files\MATLAB\R2011b\runtime\win64)或MATLAB的可搜索路径中。(可通过Path命令来查看。)

(2)把WASPCN64.h文件拷贝到MATLAB的userpath路径(例如:C:\Users\WASPCN\Documents\MATLAB)中。(可通过userpath命令来查看。)

或者

创建自定义目录(例如: D:\Program
Files\MATLAB\R2011b\toolbox\WASPCN)并添加到系统path

%  把创建的目录添加到系统path中

addpath(genpath(‘D:\Program
Files\MATLAB\R2011b\toolbox\WASPCN‘));

%  保存路径

savepath;

(3)在MATLAB的命令窗口中输入如下形式的命令来调用WASPCN中的函数。

% 装载函数库(loadlibrary dll文件名 h文件名)

loadlibrary WASPCN64 WASPCN64.h;

%

% 调用函数calllib(‘dll文件名‘, ‘T_P97‘, 16.0)

T=calllib(‘WASPCN64‘, ‘T_P97‘, 16.0)

%

P=calllib(‘WASPCN64‘, ‘P_T97‘, 300.0)

%

H=calllib(‘WASPCN64‘, ‘H_PT97‘, 16.0,535.0)

%

% 卸载函数

unloadlibrary WASPCN64

当然,这两个WASPCN 
For Matlab的接口可以从scyangyu.ys168.com下载。

时间: 2024-10-05 08:36:53

再次完善了 WASPCN for Matlab的相关文章

SQL Server 维护计划实现数据库备份(策略实战)

一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划: 下面这篇文章主要加入了日志备份,并对设计备份的频率和设计命名规范等问题进行实战: 二.最佳实践 (一) 备份计划 1) 每周星期日的2:00:00执行数据库的完整备份: 2) 每周星期一至星期六每天的2:00:00执行数据库的差异备份: 3) 每天在8:00:00和23:59:59之间.每1小时

各组评论总结

第一组: 周宝辉组的"找到了"作品,找物寻物的功能网页,就像老师说的短期刺激,长时间使用,缺少使用的查找分类等功能,首页图片需要更换,寻物消息,认领消息分类明确易懂,应快速实现查询功能. 第二组: 用户在进入界面后,应当让用户进行,丢东西还是捡到东西: 选择丢东西的应当在已经发布招领的项目中,进行查找,如果找不到,在进行失物的发布: 选择捡东西的应当在已经发布失物的项目中,进行查找,如果找不到,在进行招领的发布: 第三组: 失物招领还是很有用的,毕竟经常丢东西,界面不完整啊,不过还有机

从零开始编写自己的C#框架(7)——需求分析

原文:从零开始编写自己的C#框架(7)--需求分析 本章内容虽然叫"需求分析",实际上关于具体的需求分析操作步骤并没有深入去写,因为细化的话那将是一本厚厚的书,而需求分析在本系列中,是帮助大家了解项目的基本要求(主要针对本项目而已).而写本章的主要目的想告诉初学者们一些常识与重要性,顺便写一写本项目的开发需求与需求文档格式,而不是具体的需求分析步骤.由于个人水平有限,文笔也并不怎么样,为了加快进度早点进入编码阶段所以写得有点水,大家先将就将就吧. 慢工出细活,磨刀不误砍材工.计划将要做

php之验证码小程序

验证码功能(个人理解): 减轻服务器的压力(如12306的验证码功能): 防止暴力注册 个人思路:在a-z,A-Z,1-9生成n位随机的数来构成新的验证码. 关于生成验证码的几个小函数 range() //指定范围输出一个数组 a)       如: range(1,9) array_merge()//合并数组 a)       array_merge(数组1,数组2-.) array_rand(数组,数量) a)       随机从数组中取出几个下标返回一个数组 shuffle(数组)//将再

OneKey Ghost(支持64位和Win8)增加PE专版

软件等级: 更新时间:2014-05-08 00:00:00 软件分类:系统工具 / 系统备份 软件大小:6.2MB 软件类别:国产软件 软件授权:免费版 软件语言:简体中文 应用平台:DOS WinNT Win2000 WinXP Win2003 WinVista Win2008 Win7 Win8 WinPE (x86/x64) 程序简介:一款人性化.设计专业.操作简便,在 Win32(64).WinPE.DOS 下对任意分区进行一键备份.恢复的绿色无污程序,支持ISO文件.光盘.U盘里的G

详细的解说public,protected,Default和private的权限问题

详细的解说public,protected,Default和private的权限问题 让人更好的了解public,protected,Default和private他们之间的权限问题,我会做一个直观的表格.通过一步一步的实验,将这个表格填写完整,让后在做一下总结,这样他们四个之间的关系,就会非常直观的展现出来,简单易懂,清楚明了.由于是详细的解说,可能篇幅会比较长,如果有读者想直接知道结论和结果,可以直接看五个步骤后的完整表格,最终的结论. 表格如下: 这样我会一步一步的完善这个表格,第一个实验

Ado.NET SQLHelper(3)

  using System; using System.Data; using System.Data.SqlClient; using System.IO; namespace RaywindStudio.DAL { /// <summary> /// MSSQL数据库操作类 /// </summary> public static class SqlHelper { /// <summary> /// 是否写调试信息 /// 执行成功写到C:\\DebugSQL.

富士康是如何从大陆公司一步步成为大陆企业的?

据国内媒体报道,富士康旗下工业富联公司于6月8日在上海挂牌,招股书显示,工业富联IPO发行股份数为19.695亿股,发行价为13.77元,总共募集资金272.53亿元.本次IPO衍生出了大量的话题,先是打破中国A股审批速度的最快纪录,挂牌之后的第二个交易日又大涨44%,一跃成为A股市值最高的科技企业,此外,战略投资者也是豪华阵容,相关数据显示,有20家战略投资者共认购5.91亿股战略配售股,对应募资资金为81.35亿元,其中包括国内互联网三巨头百度.腾讯和阿里巴巴,同时,也包括中国中车.中国铁路

shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断

一.shell脚本中的逻辑判断在shell脚本中,很多都会逻辑判断,判断某一个数值,判断某一个文件,或者某一个目录,我们针对判断结果再做一些操作,如果没有判断,就没法做一些操作格式1:if条件:then语句:fi例子:[[email protected] ~]# if [ $a -ge 3 ] //分行写就是这样写 thenecho okfiok[[email protected] ~]# if [ $a -ge 3 ]; then echo ok; fi //这是一行写的格式//解释:-gt表