【问题标题】:Errors running script from command window MATLAB but not from run icon从命令窗口 MATLAB 但不是从运行图标运行脚本时出错
【发布时间】:2023-03-19 07:36:01
【问题描述】:

我有一个包含 GUI 的函数文件。

每当我使用 MATLAB 中的绿色运行徽标运行(编译)文件时,它都会成功构建。每当我尝试从命令窗口运行它时,即:run(MyFile);我收到此错误但文件仍然正确构建:

??? Error using ==> fileparts at 31
Input must be a row vector of characters.

Error in ==> run at 25
[p,s,ext] = fileparts(script);

我在文本编辑器中点击“运行”时没有收到错误消息。

想法?

【问题讨论】:

  • 尝试dbstop if error 并检查script 是什么数据类型。
  • 31 error(message('MATLAB:fileparts:MustBeChar')); 是我在命令窗口中输入时得到的:dbstop if error; run(MyFile);
  • 如果 matlab 在错误处停止,检查 script 是什么。应该是一些文件路径(char
  • 检查script 是什么意思?抱歉,MATLAB 新手。我要去哪里看?
  • 你可以简单地在命令行输入whos script

标签: matlab function loops user-interface


【解决方案1】:

它应该这样工作:

runtmp = fullfile('foldername','filename.m');
run(runtmp);

请注意,“运行”命令执行当前不在 MATLAB 路径上的脚本。但是,您应该使用 cdaddpath 导航到或添加适当的文件夹,只需输入脚本名称即可使脚本可执行。 另一点是对包含脚本的文件夹运行更改,执行它,然后重置回原始文件夹。如果脚本本身更改了文件夹,则 run 不会恢复到原始文件夹,除非 scriptname 更改为该脚本所在的文件夹。

更多信息请查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多