我有一些使用八度的经验。然而,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,我在函数旁边的代码旁边使用我自己的函数吗?
答案 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。