2

嗨,我曾经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中给出如下输入

我的文件([2.0 20.2])

4

1 回答 1

2

当您从 Windows/DOS 命令行运行可执行文件时,参数将作为字符串传递给可执行文件 - 就好像您在 MATLAB 中将您的函数称为myfile "2.0" "20.2".

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

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

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

于 2013-01-21T09:46:33.517 回答