Я запускаю функцию Matlab из приложения C #. Я хочу, чтобы моя функция Matlab возвращала значение моему приложению c #.
Однако я получаю сообщение об ошибке ниже. Я запутался, потому что ожидал только одно значение, поэтому не уверен, почему это сообщение об ошибке говорит мне?
Ошибка при использовании someFunction
Слишком много выходных аргументов.
Matlab
function [success] = autoRun_someFunction
try
someFunction;
success = 1;
catch ME
success = getReport(ME, 'extended');
end
с #
FunctionName = "autoRun_someFunction";
public string RunMatlabScriptResult(string FunctionDirectory, string FunctionName)
{
// create matlab instance
_matlab = new MLApp.MLApp();
// change to the directory where the function is located
string pathChecker = @"C:\MyFolder\";
_matlab.Execute(@"cd " + pathChecker);
// call the matlab is checking the search path
object resultChk = null;
_matlab.Feval("check_path", 0, out resultChk);
// change to the directory where the function is located
_matlab.Execute(@"cd " + FunctionDirectory);
// define the output
object result = null;
// call the matlab function upload_data
_matlab.Feval(FunctionName, 1, out result);
// quit matlab
_matlab.Quit();
// display result
object[] res = result as object[];
return res[0].ToString();
}