【问题标题】:run matlab function in batch file with arguments gives error在带有参数的批处理文件中运行matlab函数给出错误
【发布时间】:2015-05-29 04:29:05
【问题描述】:

所以我把下面的语句放在一个批处理文件中

matlab -nosplash -nodesktop -minimize -nodisplay -r fact('%~f1','%~f2');

并使用两个参数运行批处理文件,基本上只需将两个文件拖到批处理文件名后面的 CMD 窗口即可。但在 Matlab 命令窗口中,它给了我错误:字符串未正确终止。但是当我在 Matlab 软件中运行它时,它没有给我任何错误,我该如何解决这个问题?

fact.m 只是一个简单的 Matlab 脚本

function fact(file1,file2)
f1 = importdata(file1);
f2 = importdata(file2);
vec1 = f1(:,1);
vec2 = f2(:,1);
vec = vec1 + vec2;
save vec.txt vec -ascii

我想从两个文件中导入数据并提取两个向量,然后将它们组合并保存到一个文件中

【问题讨论】:

  • fact 函数是您的代码吗?如果是这样,发布其内容以便人们进行调查会很有用。如果不是链接或说明,也将起到相同的作用。
  • 好像是因为文件路径的文件夹名有空格,所以报错,但是为什么?

标签: windows matlab batch-file command-line cmd


【解决方案1】:

根据您的评论,文件夹名称中的空格似乎是问题所在。尝试将批处理代码更改为:

matlab -nosplash -nodesktop -minimize -nodisplay -r fact('"%~f1"','"%~f2"');

如果这不起作用,请寻找封装-r 参数的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多