我想知道如何在运行m文件时使用Matlab R2015a工作空间中定义的变量覆盖内部函数。
我的意思是如果我定义:
function test
fun1
clear input
load test
plot(input)
return
function fun1
input=1:10;
save('test.mat','input')
return
然后我运行测试,然后我得到:
Error using input
Not enough input arguments.
Error in test (line 8)
plot(input)
Matlab将输入作为内置函数。
您知道如何解决此问题(不更改变量名称)吗?
感谢。
答案 0 :(得分:0)
指定确切的文件名,包含扩展名。 最好使用接受输入的变量。
function test
fun1
clear input
data=load('test.mat');
plot(data.input)
return
end
function fun1
input=1:10;
save('test.mat','input')
return
end
如果您想使用相同的数据结构,可以使用:
data.input=1:10;
save('test.mat','-struct','data')
答案 1 :(得分:0)
解决方案在@ Dev-iL
的评论中给出最好不要将变量生成到工作空间中的存在变量中。
所以这将使上面的简单例子起作用:
A=load('test.mat');
input=A.input