matlab - 从 Windows 命令行向编译为 .exe 的 Matlab 函数提供输入参数

标签 matlab exe command-prompt input-parameters

嗨,我用过mcc将 Matlab 函数转换为独立的 .exe。当我在 Windows 命令提示符中运行 .exe 文件时,它返回以下错误:

  1. 输入参数太多//当我给出两个应该是的输入时
  2. 当我给出一个输入时,第一个参数的列数应与输入变量的行数一样多,//当我给出一个输入时,该行数应与独立的输入值集一样多。

我使用命令来构建独立的:“mcc -mv myfile.m -a datfile.fis” -------------- 构建过程正常。但是当我在 Windows 提示符下使用此命令“myfile.exe 2.0 20.2 ”运行时,会出现上述错误。我的程序接受两个输入并给出一个输出。我已经在同一台计算机上运行Matlab教程magicsquare.m来转换magicsquare.exe并且工作正常 有人可以帮忙吗? 请注意,在转换之前,程序在 matlab 中运行良好,我在 MATLAB 中得到如下输入

myfile ([2.0 20.2])

最佳答案

当您从 Windows/DOS 命令行运行可执行文件时,参数会以字符串形式传递给可执行文件 - 就像您在 MATLAB 中将函数调用为 myfile "2.0""20.2".

每个输入都是一个字符数组(例如包含“2”、“.”和“0”的 ASCII 值),因此您的函数可能会出错,因为输入太多。

尝试重写您的函数,以便它使用 str2numstr2double 将输入转换为数字。或者将您的输入存储在文件中,并设计您的函数以接受文件名作为输入。

如果您希望它在 MATLAB 中运行时和部署时运行时表现不同,请在 if 子句中使用内置函数 isdeployed 来切换行为。

关于matlab - 从 Windows 命令行向编译为 .exe 的 Matlab 函数提供输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431370/

相关文章:

java - Minecraft 在 Windows 上如何具有 .exe 扩展名

powershell - PowerShell使exes命令呈惰性?

Linux locate 命令复制路径到剪贴板

matlab - 显示图像时,Colorbar 限制不尊重轴 clims

exe - 真正是 exe 命令的 Nuget 包?

windows-10 - native 时钟可能与服务器时间不同步五分钟以上

java - 创建我自己的文件类型并使其运行另一个文件?

matlab - 通过减小最大向量的大小,使不等长向量的长度相等

c++ - Matlab 到 C++ 代码转换

matlab - 在 Matlab 中预分配表的最佳方法是什么?