如何在matlab可执行文件中传递两个矩阵作为参数?

时间:2013-12-19 03:38:13

标签: matlab arguments executable

例如在MatLab中,命令行我使用:

functionname([1 2 3;4 5 6],[1 3 2;7 9 8])

我得到了一个结果。但是,在使用cmd的Windows上:

functionname "[1 2 3;4 5 6]" "[1 3 2;7 9 8])

这似乎不起作用。

2 个答案:

答案 0 :(得分:0)

此问题已在How to create a executable .exe file from .m file上得到解答。

您应该使用mcc -m yourfile,它仅适用于安装了Matlab的计算机。 另一种方法是使用.dll并通过Visual Studio运行它。

答案 1 :(得分:0)

您必须根据需要将参数转换为数字:

在functionname(a,b)中,添加

if ischar(a)
  a = eval(a);
end

if ischar(b)
  b = eval(b);
end

现在可以使用数字参数调用functionname(),并使用字符串参数从命令行调用:

functionname "[1 2 3;4 5 6]" "[1 3 2;7 9 8]"

请注意,eval()与mat2str()完全相反。