为什么'mphload'可以在。m中工作而在。exe中不工作?(错误:未定义函数'string2char')

9次浏览(最近30天)
王银英
王银英 2020年5月14日
评论道: 冬艳张2021年3月30日
这个代码和函数在。m文件中工作得很好,但在matlab编译器制作的。exe文件中不工作。错误窗口说 未定义函数'string2char'用于'char'类型输入参数 .这是令人困惑的。
cd (fpath);
file_s0 = fullfile (fpath,“\ model.mph”);
%的字符串(file_s0);
模型= mphload (file_s0);
'fpath'有正确的内容,我用它加载。mat文件。
我相信MATLAB已经连接到COMSOL多物理服务器之前,这段代码。我使用相同的.exe启动COMSOL服务器并将其连接到MATLAB。
我尝试将'file_s0'转换为字符串,然后将它传递给'mphload'与代码"string(file_s0);和“cellstr(file_s0);”不能解决问题,同样的错误发生。
在mphload之前尝试了"char(file_s0);",没有区别。
有些人遇到'Undefined function 'mphload'作为类型'char'的输入参数。并重新安装comsol和matlab解决了这个问题。也许我今天应该试试这个。
3评论
王银英
王银英 2020年5月17日
我不知道如何把这个问题标记为“解决了”,所以我就自己写了一个答案并接受它。希望它不会违反规则……

登录评论。

接受的答案

王银英
王银英 2020年5月17日
问题解决了。
我将所有m文件和p文件添加到matlab编译器中的fold'COMSOL53a\Multiphysics\mli'中,然后它就可以工作了。
1评论
冬艳张
冬艳张 2021年3月30日
你好,我遇到了同样的问题,但是我添加了所有的m文件和p文件,它不工作。我的密码在这里。

登录评论。

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!