【问题标题】:Function definitions are not permitted in this context在此上下文中不允许函数定义
【发布时间】:2023-04-02 22:29:01
【问题描述】:

好的,我是 Matlab 的新手,目前正在编写一些计量经济学脚本。在我转向真正的计量经济学之前,我必须创建一个函数来选择我感兴趣的数据。虽然我设法通过在非常结构化的层面上编写来让该脚本工作,但我希望这个脚本能够像可能,因此想将其划分为特定的功能。但是,当我将所有这些转换为一个函数时,我不断收到错误“在此上下文中不允许函数定义”。 提前感谢您的帮助。

function [probingArray] = extractData (data, startValue, numberOfPeriods)
    arrayHeight=size(data,1);

    for i=1:arrayHeight
        if Date(i)==startValue
            datePosition=i;
        end
    end

    n=1;

    for i=(datePosition-numberOfPeriods):datePosition
        probingArray(n,1)=n;
        probingArray(n,2)=UK(i);
        n=n+1;
    end
clear n i;

【问题讨论】:

标签: function matlab


【解决方案1】:

确保您遵守 matlab 约定

function [out1, out2, ...] = myfun(in1, in2, ...) 声明函数 myfun 及其输入和输出。函数声明必须是任何 MATLAB 函数的第一个可执行行。

来自http://www.mathworks.com/help/techdoc/ref/function.html

【讨论】:

  • 不,日期是一个数组,在执行此函数之前,它与数据集一起导入
  • 顶部还有两行(函数外)。这有关系吗?
  • 一个名为 extractData.m 的文件?只是在这里检查显而易见的:)
  • 如果前两行不是 cmets,这是你的问题
  • 具体来说,在 Matlab 在线文档中(如果在 Matlab 命令行中运行 doc 会弹出),MATLAB > Getting Started > Programming > Scripts and Functions 和 MATLAB > User Guide > Programming基础知识 > 函数和脚本应该清楚这一点。
猜你喜欢
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多