matlab脚本不接受函数?

时间:2016-08-18 14:38:56

标签: matlab

我有一些使用八度的经验。然而,matlab的表现却截然不同。 我有这个简单的脚本:

function y=test(x)
    y=x*10;
end

a=test(10);

当我运行它时(GUI中的绿色“播放”箭头),它给出了以下错误:

Error: File: TESTFILE.m Line: 5 Column: 1
This statement is not inside any function.
 (It follows the END that terminates the definition of the function "bla".)

怎么了?我不能只运行一个scipt,我在函数旁边的代码旁边使用我自己的函数吗?

1 个答案:

答案 0 :(得分:1)

您的代码样式也适用于Python,但不适用于MATLAB。该错误为您提供了答案This statement is not inside any function。您有以下三种解决方案:

1 - 创建一个主函数(这是在同一个m文件中)

function a=main()
    a=test(10);
end


function y=test(x)
    y=x*10;
end

2 - 或者将函数保存为test.m并使用最后一行从另一个脚本或命令行调用您的函数。

3 - 您也可以使用嵌套函数(全部在同一个m文件中):

function a=main()
    a=test(10);

    function y=test(x)
        y=x*10;
    end
end

查找非常有用的文档和示例here