0
在Matlab,我有一個函數,在圖像上找到一些特殊點後調用。根據該「特殊點」的附近像素的位置,功能必須返回具有多個參數的結構或返回任何內容。Matlab函數切換返回/不返回
是否有可能通過deafult會返回一些功能,但在某些情況下,什麼都不應該返回?如何「沒有返回」的代碼應該是這樣的?謝謝。
在Matlab,我有一個函數,在圖像上找到一些特殊點後調用。根據該「特殊點」的附近像素的位置,功能必須返回具有多個參數的結構或返回任何內容。Matlab函數切換返回/不返回
是否有可能通過deafult會返回一些功能,但在某些情況下,什麼都不應該返回?如何「沒有返回」的代碼應該是這樣的?謝謝。
matlab中的一個常見技巧是使用空矩陣[]
來表示任何東西。你可以寫你的函數類似的信息(未測試的代碼):
function result = analyze(image, special_point)
% your code here
if pixels_are_ok
result.a = 1;
result.b = 2;
else
result = [];
end
如果您從您的其他代碼中調用此功能,您可以使用的isEmpty看到,如果你有一個結果或不:
result = analyze(image, special_point)
if isempty(result)
display('did not find anything')
else
display('found some interesting results')
display(result)
end
謝謝。我已經嘗試返回一個空數組。然而,在你的代碼中使用「isempty」函數實際上是我需要的,什麼解決了我的問題。謝謝你給我另一種觀點。 – karl71
你可以返回一個空數組'''''。 –
或者,您可以返回空結構,_i.e_不帶字段的'struct'。 –