Matlab .m文件的命名

本文介绍了使用MATLAB过程中容易忽视但至关重要的文件命名规则,包括不得以数字或下划线开头、避免与内置文件名冲突及禁止使用空格等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久不用matlab了,今天再开始用发现已经非常生疏,竟然还因为.m文件命名的问题困扰了一阵子,太囧了。

不过如果命名不符合要求的话,运行时可能会出现莫名其妙的错误,matlab也不会给你任何提示。。。。所以还是要注意这个细节。

1. 文件首字母不能是数字或下划线。(e.g. 图个省事把文件命名为1.m,结果运行后总是ans=1)

2. 文件名不能与Matlab内置的文件名相同。

3. 文件名不能有空格。

 

 

### 将MATLAB .m文件转换为DLL文件 为了在Visual Studio中将MATLAB的`.m`文件编译成动态链接库(DLL),可以遵循一系列特定的操作流程。此过程涉及使用MATLAB Compiler工具箱,该工具箱允许创建独立于MATLAB的应用程序或共享库。 #### 准备工作 确保已安装MATLAB以及MATLAB Compiler工具箱,并配置好开发环境以便能够访问这些资源。对于本案例而言,使用的环境版本为MATLAB R2015a 64位和Visual Studio 2013 64位[^1]。 #### 创建MATLAB函数 编写一个简单的MATLAB函数作为示例: ```matlab function y = addTwoNumbers(a,b) % ADDTWONUMBERS Adds two numbers. y = a + b; end ``` 保存这个脚本到合适的位置,比如命名为`addTwoNumbers.m`。 #### 使用MATLAB Compiler打包 启动MATLAB,在命令窗口输入如下指令来构建所需的DLL: ```matlab mcc -W lib:addTwoNumbersLib -T link:lib addTwoNumbers.m ``` 这行代码告诉MATLAB Compiler生成名为`addTwoNumbersLib.lib`的一个静态库文件及其对应的头文件(`addTwoNumbers.h`),还有用于加载的动态链接库(`addTwoNumbers.dll`)。注意这里的`-W lib:`参数指定了输出类型为库形式;而`link:lib`则指示了连接方式为静态库。 #### 导入至Visual Studio项目 打开Visual Studio并建立一个新的Win32控制台应用程序或其他适当类型的解决方案。接着按照以下步骤操作: 1. 添加之前由MATLAB产生的`.h`文件到项目的“Header Files”目录下; 2. 把`.lib`文件复制粘贴进工程所在路径下的某个子文件夹内(例如Debug或Release),并在项目属性->链接器->常规->附加依赖项里加入它; 3. 同样地处理`.dll`文件——将其放置在同一位置,并通过系统变量PATH或者直接拖拽的方式让运行时刻能找到它们。 现在可以在C/C++源码里面调用来自MATLAB定义的功能了。例如,假设有一个叫作`main.cpp`的新建文件,则其中可能包含这样的内容: ```cpp #include "stdafx.h" #include "addTwoNumbers.h" int main(){ double result = mlAddTwoNumbers(3.5,7.9); printf("Result from MATLAB function is %f\n",result); system("pause"); return 0; } ``` 这段代码展示了怎样引入外部声明过的接口并通过标准I/O展示返回的结果值。需要注意的是实际函数名前缀可能会有所不同,具体取决于MATLAB自动生成的内容,请参照实际情况调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值