我找到了一种方法,但它不是最好的,它需要路径的变化和回一次得到一个处理原始openvar
function openvar(name,array)
persistent org_openvar
if isempty(org_openvar)
curdir=pwd;
cd(fullfile(matlabroot,'toolbox/matlab/codetools'));
org_openvar = @openvar;
cd(curdir);
end
if numel(array)>1e5
if strcmp(questdlg(sprintf('Opening ''%s'' which has %d elements.\n\nAre you sure? This is gonna take a while!',name,numel(array)), ...
'Variable editor','Yes','Cancel','Cancel') , 'Yes')
org_openvar(name,array)
end
else
org_openvar(name,array)
end
end
获得该手柄是最大的问题,称这是正好。如果openvar
将建在,你可以使用函数builtin:
builtin('openvar',name,array)
但这是不幸的是没有的情况下:(
str2func与完整路径组合也不起作用,至少我不t得到它的工作...
使用命令行matlab,所以你不能点击矩阵:p – 2012-08-02 14:42:37
是的,我想行为修改将是有用的,但我喜欢IDE – 2012-08-02 14:45:21