• 再次完善了 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 FilesMATLABR2011b untimewin32)中,或MATLAB的可搜索路径中。(可通过Path命令来查看。)。
    (2)把Mex扩展库WASPCNMEX32.dll文件拷贝到MATLAB的userpath路径(例如:C:UsersWASPCNDocumentsMATLAB)中。(可通过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 FilesMATLABR2011b untimewin64)中,或MATLAB的可搜索路径中。(可通过Path命令来查看。)。
    (2)把Mex扩展库WASPCNMEX64.dll文件拷贝到MATLAB的userpath路径(例如:C:UsersWASPCNDocumentsMATLAB)中。(可通过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)MATLABR2014a untimewin32)或MATLAB的可搜索路径中。(可通过Path命令来查看。)
    (2)把WASPCN32.h文件拷贝到MATLAB的userpath路径(例如:C:UsersWASPCNDocumentsMATLAB)中。(可通过userpath命令来查看。)
    或者
    创建自定义目录(例如:D:Program Files (x86)MATLABR2014a oolboxWASPCN)并添加到系统path
    %  把创建的目录添加到系统path中
    addpath(genpath('D:Program Files (x86)MATLABR2014a oolboxWASPCN'));
    %  保存路径
    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 FilesMATLABR2011b untimewin64)或MATLAB的可搜索路径中。(可通过Path命令来查看。)
    (2)把WASPCN64.h文件拷贝到MATLAB的userpath路径(例如:C:UsersWASPCNDocumentsMATLAB)中。(可通过userpath命令来查看。)
    或者
    创建自定义目录(例如: D:Program FilesMATLABR2011b oolboxWASPCN)并添加到系统path
    %  把创建的目录添加到系统path中
    addpath(genpath('D:Program FilesMATLABR2011b oolboxWASPCN'));
    %  保存路径
    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下载。

  • 相关阅读:
    Python实战:网络爬虫都能干什么?
    写了个脚本将json换成md
    RAC +MVVM
    Python 基础指令以及库管理工具pipenv
    CocoaPods创建自己的公开库、私有库
    python脚本解析json文件
    iOS 面试题
    路由器 大杂烩
    大数据挖掘基本概念
    Node.js实践
  • 原文地址:https://www.cnblogs.com/WASPCN/p/3763030.html
Copyright © 2020-2023  润新知