我有 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
這將在命令視窗中給我:
X = 1, Y = 2
Z = 2
>>
正如預期的那樣。但是在作業區中,我只看到Xand Y,而不是Z: 我知道我可以Z在命令視窗上看到,但是如何檢查在作業區中單獨的 .m 檔案中創建的變數?
uj5u.com熱心網友回復:
你需要一個除錯器。這個檔案頁面似乎是一個好的開始。使用命令視窗逐行運行函式,或設定斷點以將當前函式作業區回傳到全域作業區。
基本上:函式中的變數是該函式私有的,只有您輸出的變數才會復制到您的作業區中。在您的情況下,這沒什么,因為fprintf不回傳輸出,它只是列印到命令視窗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/405045.html
標籤:
