将数据导入MATLAB®应用程序,请参阅导入数据的方法.要将数据保存到mat文件,请参见保存并加载工作区变量.当您在MATLAB中编写整个应用程序时,或者如果您与其他MATLAB用户共享数据,请使用这些程序。然而,在某些情况下,您必须编写一个自定义程序来与数据交互。例如:
您的数据具有自定义格式。
您为没有运行MATLAB的用户创建应用程序,并且希望向他们提供MATLAB数据。
您希望从外部应用程序读取数据,但您不能访问源代码。
在编写自定义应用程序之前,通过回顾以下主题,确定MATLAB是否满足您的数据交换需求。
如果这些特性还不够,您可以创建定制的C/ c++或Fortran程序,以应用程序所需的格式读写数据文件。有两种类型的定制程序:
独立程序-从系统提示符运行或在MATLAB中执行(参见运行外部命令、脚本和程序).需要MATLAB库来构建应用程序。
MEX文件-从MATLAB命令提示符生成并执行。有关创建和构建MEX文件的信息,请参见C MEX文件应用程序.
MAT-File API包含读和写MAT-File的例程。从你自己的C/ c++和Fortran程序中调用这些例程。使用这些例程,而不是尝试编写自己的代码,来执行这些操作,因为使用库可以使应用程序免受将来对mat文件结构的更改。有关更多信息,请参见MAT-File API库和Include文件.
MATLAB提供的MATFile
类型,用于表示mat文件。
MAT-File例程
MAT-File API函数 |
目的 |
---|---|
打开一个MAT-file。 |
|
关闭MAT-file。 |
|
从mat文件中获取MATLAB数组列表。 |
|
从mat文件中读取MATLAB数组。 |
|
写一个MATLAB数组到mat文件。 |
|
从mat文件中读取下一个MATLAB数组。 |
|
从mat文件中删除一个MATLAB数组。 |
|
将MATLAB数组放入mat文件中,以便 |
|
从mat文件加载一个MATLAB数组头(无数据)。 |
|
从mat文件(无数据)加载下一个MATLAB数组头。 |
MAT-File C-Only例程
得到一个ANSI®C文件指针指向mat文件。 |
mat文件接口库不支持由用户定义的类创建的MATLAB对象。金宝app
不要使用MAT-File API函数在不同的线程上创建不同的MATLAB会话。MATLAB库不是多线程安全的,所以一次只能在单个线程上使用这些函数。
您可以在不同的计算机系统上使用MATLAB软件,并将MATLAB应用程序发送给其他系统上的用户。MATLAB应用程序由包含函数和脚本的MATLAB代码和包含二进制数据的mat文件组成。
这两种类型的文件都可以在机器之间直接传输:MATLAB源文件,因为它们是平台独立的,而mat文件,因为它们在文件头中包含机器签名。MATLAB在加载文件时检查签名,如果签名表明文件是外部的,则执行必要的转换。
在不同的机器架构中使用MATLAB需要一种在机器之间交换二进制和ASCII数据的工具。此类工具的示例包括FTP、NFS和Kermit。在使用这些程序时,要小心传输mat文件二进制文件模式和MATLAB源文件ASCII文件模式.无法正确设置这些模式会破坏数据。