Octave嵌套函数"未实现"错误

时间:2017-03-02 20:41:17

标签: matlab octave

我的八度不断报告错误:

nested functions not implemented in this context
>>>   function nested1

nested functions not implemented in this context
>>>   function nested1

作为对以下代码(名为test.m的文件)的反应:

clear -all;
clc;

function test
  function nested1
    disp('nested 1')
  end

  function nested2
    disp('nested2')
  end

  nested1()
  nested2()
end

我只是不明白。怎么了?

3 个答案:

答案 0 :(得分:0)

请尝试以下代码:

function test
   nested1
   nested2

   function nested1
      disp('nested 1')
   end

   function nested2
      disp('nested 2')
   end
end

答案 1 :(得分:0)

嗯,实际问题是我在脚本文件中编写了这段代码。我真正需要做的是将其变成功能文件。

因此。 Buggy代码如下所示:

clear -all; 
clc;

function test
  function nested1
     disp('nested 1')
  end

  function nested2
     disp('nested 2')
  end

   nested1
   nested2
end

并且正在工作

function test
  function nested1
     disp('nested 1')
  end

  function nested2
     disp('nested 2')
  end

   nested1
   nested2
end

答案 2 :(得分:0)

包加载和所有 Octave/MATLAB 初始化/结束函数都在主函数中,您的代码将是:

function test
  %%packages load below:

  %%initialization/ending functions here:
  clear -all; 
  clc;

  function nested1
     disp('nested 1')
  end

  function nested2
     disp('nested 2')
  end

   nested1
   nested2
end