Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能告诉MATLAB';东北';是一个变量名,不应视为ne函数?_Matlab - Fatal编程技术网

我怎样才能告诉MATLAB';东北';是一个变量名,不应视为ne函数?

我怎样才能告诉MATLAB';东北';是一个变量名,不应视为ne函数?,matlab,Matlab,我有一大堆数据,ne是一个变量。当我将它加载到Matlab2013b中并尝试使用它时,我得到 使用网元时出错。 输入参数不足 将所有的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 co

我有一大堆数据,
ne
是一个变量。当我将它加载到Matlab2013b中并尝试使用它时,我得到

使用网元时出错。
输入参数不足

将所有的
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没有提供足够的输入参数。

在加载之前,您需要告诉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,
最好是这样。

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

testData = load('data.mat');

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

否,我的变量在mat文件中仅命名为“ne”。mat文件也有其他变量。它在一个函数中。它被加载了,因为我在键入whos时看到了它。这意味着你在工作区中加载了它,但没有在函数中加载。这就是variabe
ne
不可见的原因。您可以将其加载到函数中,也可以将其作为参数传递。是的,我在函数中加载mat文件。像这样:函数X;加载('data.mat');%这将使用一组变量加载mat文件;T=exp(-ne);哦,我在调试模式下键入了whos@user2354033-很高兴我能帮上忙。如果这个解决方案对你有用,请考虑点击它旁边的“V”图标来“接受”。这是一个更干净的方法。谢谢