Octave:如何检查在单独的 .m 文件中创建的变量?
Octave: How do I examine variables created in a seperate .m file?
我有 2 个 .m 文件,例如说“project_main.m”和“my_function.m”
当我 运行 Octave 中的程序时,它工作正常。但是,我在工作区中看到的唯一变量是在 project_main.m 中创建的变量,我想从工作区检查在 my_function.m 中创建的变量。
示例:
project_main.m:
close all;
clear all;
clc;
X = 1;
Y = 2;
%---call function in external .m file---
my_function(X, Y);
my_function.m:
function functionResults = my_function(iX, iY)
fprintf("X = %d, Y = %d\n", iX, iY);
Z = iX*iY;
fprintf("Z = %d\n", Z);
end
这将给我命令 window:
X = 1, Y = 2
Z = 2
>>
不出所料。但是在工作区我只看到 X
和 Y
,而不是 Z
:
我知道我可以在命令 window 上看到 Z
,但是如何检查在工作区区域的单独 .m 文件中创建的变量?
您需要一个调试器。 This documentation page seems like a good start. Either run your function line-by-line using the command window, or set breakpoints 到 return 当前函数工作区到全局工作区。
基本上:函数内的变量是该函数的私有变量,只有您输出的变量会被复制到您的工作区中。在你的情况下,这没什么,因为 fprintf
没有 return 输出,它只是打印到命令 window.
我有 2 个 .m 文件,例如说“project_main.m”和“my_function.m”
当我 运行 Octave 中的程序时,它工作正常。但是,我在工作区中看到的唯一变量是在 project_main.m 中创建的变量,我想从工作区检查在 my_function.m 中创建的变量。
示例:
project_main.m:
close all;
clear all;
clc;
X = 1;
Y = 2;
%---call function in external .m file---
my_function(X, Y);
my_function.m:
function functionResults = my_function(iX, iY)
fprintf("X = %d, Y = %d\n", iX, iY);
Z = iX*iY;
fprintf("Z = %d\n", Z);
end
这将给我命令 window:
X = 1, Y = 2
Z = 2
>>
不出所料。但是在工作区我只看到 X
和 Y
,而不是 Z
:
我知道我可以在命令 window 上看到 Z
,但是如何检查在工作区区域的单独 .m 文件中创建的变量?
您需要一个调试器。 This documentation page seems like a good start. Either run your function line-by-line using the command window, or set breakpoints 到 return 当前函数工作区到全局工作区。
基本上:函数内的变量是该函数的私有变量,只有您输出的变量会被复制到您的工作区中。在你的情况下,这没什么,因为 fprintf
没有 return 输出,它只是打印到命令 window.