2013-08-04 148 views
0

Matlab,我有一個函數,在圖像上找到一些特殊點後調用。根據該「特殊點」的附近像素的位置,功能必須返回具有多個參數的結構或返回任何內容Matlab函數切換返回/不返回

是否有可能通過deafult會返回一些功能,但在某些情況下,什麼都不應該返回?如何「沒有返回」的代碼應該是這樣的?謝謝。

+1

你可以返回一個空數組'''''。 –

+0

或者,您可以返回空結構,_i.e_不帶字段的'struct'。 –

回答

2

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 
+0

謝謝。我已經嘗試返回一個空數組。然而,在你的代碼中使用「isempty」函數實際上是我需要的,什麼解決了我的問題。謝謝你給我另一種觀點。 – karl71