我正在尝试使用Matlab/Octave,并且很难弄清楚如何将程序组织成函数。目前,我正在尝试编写一个简单的程序,它将两个数字相加并显示结果,其中添加由函数完成。我本以为这样会行:
% test.m
close all;
clear all;
num1 = 2;
num2 = 2;
result = myAdd(num1, num2);
disp(result); % this should display 4 ??
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function retval = myAdd(var1, var2)
retval = var1 + var2;
end
在使用Octave 4.0.0运行上述代码时,我遇到了以下错误:
error: 'myAdd' undefined near line 7 column 10
error: called from
test at line 7 column 8
我尝试过将函数放在前面,测试部分放在后面;也尝试过将函数放在一个单独的文件中,并在同一目录下创建一个main.m文件来调用myAdd函数,但所有的尝试都导致了错误。
所以我有以下问题:
-Matlab/Octave是否有类似于主函数的东西?
-解释器如何知道从哪里开始?它会自动转到程序的第一行,还是有某个特定的函数名称可以使它从那个函数开始,就像C/C++中的function main()一样?
-在Python程序中,我的惯常做法是按以下方式组织代码:
# some_python_program.py
import abc
import xyz
###################################################################################################
def main():
# stuff to get program started here
# end main
###################################################################################################
def function1():
# specific function here
# end function
###################################################################################################
def function2():
# specific function here
# end function
###################################################################################################
if __name__ == "__main__":
main()
有没有一种在Matlab/Octave中实现相同功能的方法?如果有人能提供主要相应方法和/或如何在Matlab/Octave中组织函数的方向,请告知,谢谢。
test_$FUNCTION_NAME
),然后运行这些函数来进行测试。 - GJStein