如何告诉MATLAB'ne'是变量名,不应该被视为ne函数?

时间:2014-02-20 05:52:11

标签: matlab

我有大量数据,其中ne是一个变量。当我将它加载到MATLAB 2013b中并尝试使用它时,我得到了

  

使用ne时出错。
  没有足够的输入参数。

将所有ne更改为其他名称将非常费力。任何黑客?

这是一段简短的代码段:

function test(lambda, range)
% lambda is a number, range is a vector passed like 1:10 %

    for i = range
        load ('data.mat');    % data.mat contains a variable called 'ne' among others. %
        T = exp(-ne);

    ...

调用该函数时,会出现错误,指出ne没有提供足够的输入参数。

2 个答案:

答案 0 :(得分:1)

你需要告诉matlab ne在加载之前是一个变量:

ne = []; % this will tell matlab ne is a variable
for ii = range
     load('data.mat'); % loading ne
     T = exp(-ne); % should work just fine now...

PS,
最好not to use i as a variable name in Matlab

答案 1 :(得分:1)

另一种(更好的?)方法是避免将“data.mat”直接加载到全局工作区。如果你写:

testData = load('data.mat');

然后您的变量将为testData.ne,它不会与内置ne发生冲突。此技术还可以避免意外覆盖工作区中的变量,这些变量恰好与.mat文件中的变量同名。