我在同一目录中有两个文件。说FolderX/A.m
和FolderX/B.m
。
在A.m
中,我有一个函数定义为
function [Out] = fun(AA, Cal)
我尝试在函数之前附加global关键字,但是会抛出syntax error
function [Out] = fun(AA, Cal)
答案 0 :(得分:1)
在Matlab中,global
关键字仅适用于变量。
如果要从其他函数或脚本访问FolderX
中的函数或脚本,只需确保FolderX
在Matlab的路径中即可。可以通过在此文件夹上或使用addpath
来完成。
请注意,函数的名称应与文件名相同。而且,您应该避免在Matlab的路径中使用相同名称的脚本和函数文件。
因此文件A.m
应将该函数声明为:
function [Out] = A(AA, Cal)
文件B.m
的操作方式如下:
function [Out] = B(AA, Cal)
但最好使用比A
和B
更好的名称。
答案 1 :(得分:1)
从另一个m文件中调用函数的唯一方法是将该函数定义为自己的m文件(fun.m),或者将fun定义复制并粘贴到B.m。
解决您先前的评论时,听起来好像您有一个调用函数的脚本文件,并且该函数在脚本中定义。要遵循该答案给出的建议,您必须制作一个单独的m文件,其中仅包含函数定义