工作我有一个功能,其中使用模型的结构和版本号作为输入改变目录到模型的一个和加载其结果一个单独的文件MATLAB函数仅在调试模式下
function [ ] = loadModel(model , version)
cd(model.path);
loadPath = strcat(model.name(1,:) , model.versions(version,:), '_results') ;
load(loadPath,'-mat');
end
。当我从m文件中调用函数时,没有错误,但似乎没有执行函数的任何行,例如,一个可变的loadPath不存在。当我在load()之前放置一个断点时,我看到loadPath正确生成,如果我手动输入最后一行,它可以正常工作。任何线索为什么会发生这种情况?
P.S.我习惯于C++,Java,我发现matlab语言绝对nighmare
如果我不希望我的函数返回任何东西,该怎么办。如果我不想考虑每一个函数应该返回什么,而是想让这个函数做的任何事情都可以完成到它所称的工作空间中去? – Konstantin 2014-11-02 00:31:16
你有几个选择。最简单的是我建议的那个。否则,你可以使用一个脚本文件,它只是一个将在当前工作区运行的命令集合 - 主要的问题是你不能像参数文件那样将参数传递给脚本文件。或者,你可以玩'evalin'或'assignin',但我强烈建议不要这样做。最后,您可以将变量定义为'global',这将使每个工作区都可以访问。 – MrAzzaman 2014-11-02 01:24:17