Matlab 从八度音阶中的其他脚本文件运行脚本文件

Matlab 从八度音阶中的其他脚本文件运行脚本文件,matlab,octave,executable,Matlab,Octave,Executable,我有几个运行测试的倍频程脚本文件,名为test_1、test_2等。我希望有一个脚本文件可以运行所有测试,而不必将所有测试文件切换为函数文件。我尝试了几种不同的方法: #!/path/to/octave -q addpath('/path/to/directory/containing/all/scripts/'); source(test_1.m); source(test_2.m); 但我总是得到“错误:对script/path/to/directory/containing/all/

我有几个运行测试的倍频程脚本文件,名为test_1、test_2等。我希望有一个脚本文件可以运行所有测试,而不必将所有测试文件切换为函数文件。我尝试了几种不同的方法:

#!/path/to/octave -q
addpath('/path/to/directory/containing/all/scripts/');

source(test_1.m);

source(test_2.m);
但我总是得到“错误:对script/path/to/directory/containing/all/scripts/test_1.m的调用无效”

(我已经尝试过source_file()、run(),并且只在行中显示文件名。)

有没有办法从八度音阶的脚本文件运行脚本文件?

试试看

source test_1.m

相反

您的语法暗示
test_1
是一个结构变量,您试图访问名为
m

run
命令相同(实际上,
run
只是在引擎盖下调用
source

如果脚本在路径上,也可以直接调用它。您只需确保不包含
.m
扩展名,即

test_1
test_2

为了理解你所犯的错误:Octave告诉你“好的,路径中有一个文件'testo.m',这意味着有一个名为
testo
的脚本/函数可供我使用。但我不知道你为什么要告诉我从它访问成员
.m
。这不是调用脚本或函数的方法!他们甚至没有会员!“顺便说一句,如果你想让你的代码也与matlab兼容,那就避免使用
源代码
方法,因为这是特定于八度音阶的。
运行
和直接调用脚本(如果在路径上)都可以。@Evagunter还可以看看
test_1
test_2