外部程序接口

1.在Excel中使用MATLAB

Spreadsheet Link程序

通过Spreadsheet Link程序,可以在Excel工作区和MATLAB工作空间之间进行数据交换,也可以在Excel中调用MATLAB的函数。

    从MATLAB工作空间导入数据到Excel表格中

    2.MATLAB文件操作

    文件的打开与关闭

    (1)fopen函数
    用于打开文件,其调用格式为:
    fid=fopen(filename, permission)
    其中,fid为文件识别 , filename为待操作的文件名, permission为对文件的允许使用方式。

    • ‘r’:以读方式打开一个文件。
    • ‘w’:以写方式打开一个文件。
    • ‘a’:在该文件尾添加数据。
    • ‘r+’:以读和写方式打开一个文件。

    (2)fcose函数
    用于关闭已打开的文件,其调用格式为:
    status=fclose(fid)
    其中,fid是要关闭文件的标识 。如果fid为all,则关闭所有已打开的文件。

    • ‘%d’:整数。
    • ‘%f:’小数形式的实数。
    • ‘%e’:科学计数法形式的实数。
    • ‘%c’:字符。
    • ‘%s’:字符串。
      在%之后还可以加上数据宽度

    size可取值:

    • n:指定读取n个数据。
    • Inf:指定读取文件中的所有数据。
    • [m,n]:指定读取m x n个数据。

    数据文件定位

    (1)fseek函数
    用于改变文件位置指针的位置,其调用格式为
    fseek(fid, offset, origin)
    其中,参数fid为文件识别 ,offset表示位置指针相对移动的字节数, origin表示位置指针移动的参照位置。
    origin的可取值:

    • ‘cof’或0:表示文件指针的当前位置。
    • ‘bof’或-1:表示文件的开始位置。
    • ‘eof’或1:表示文件的结束位置。

    (2)ftell函数
    用于查询文件指针的当前位置,其调用格式为
    position=ftell(fid)
    返回值为从文件头到指针当前位置的字节数。若返回值为-1,表示获取文件当前位置失败。

    (3)feo函数
    用于判断当前的文件位置指针是否到达文件尾部,其调用格式为
    status=feof(fid)
    当到达文件结束位置时,返回值为1,否则为0。

    生成应用程序并运行

    5.在其他语言程序中调用MATLAB函数

    MATLAB引擎的概念

    MATLAB弓擎( engine)是用于和外部程序结合使用的一组函数和程序库,在其他语言程序中利用 MATLAB引擎来调用 MATLAB的函数。

    • 定义指向 MATLAB引擎对象的指针
      Engine *mep
      其中, Engine指定指针类型,mep为指针变量。
    • C++常用引擎函数包括
      Engine *engOpen(const char *startcmd);
      int engClose(Engine * ep);
      mxArray *engGetVariable(Engine *ep, const char *name);
      int engPutVariable(Engine *ep, const char *name, const mxArray *pm)
      int engEvalString(Engine *ep, const char * string);

    MATLAB引擎的使用

    • 创建mxArray变量

    • 将变量放入MATLAb引擎启动的工作区中。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月10日
下一篇 2019年7月10日

相关推荐