0
MATLAB中是否存在多態返回?如果一個函數調用一個對象的某個方法,然後指定它用於計算,它會從指定的屬性返回一個值,我希望我能說出我要返回的內容。但我現在可能是在胡說。請確認我在做夢。謝謝。MATLAB中的多態返回類型
MATLAB中是否存在多態返回?如果一個函數調用一個對象的某個方法,然後指定它用於計算,它會從指定的屬性返回一個值,我希望我能說出我要返回的內容。但我現在可能是在胡說。請確認我在做夢。謝謝。MATLAB中的多態返回類型
你實際上不能在Matlab中指定返回類型,你只是返回一個值。相同的功能可以在不同的條件下輕鬆返回不同的類型。您可以通過查看documentation來驗證函數定義中是否有類型信息。
例如,看一下這個功能,它可以返回一個字符串或矩陣,根據輸入的參數:
function r = strange(arg)
if arg == 1
r = 'string';
else
r = [1, 2; 3 4];
end
end
現在,例如可通過靜態分析處理的,但考慮到這一點:
function r = evenstranger()
if rand < 0.5
r = 'string';
else
r = [1, 2; 3, 4];
end
end
沒有辦法事先知道結果如何。
謝謝。雖然這個文檔鏈接並沒有真正展示'在不同的條件下返回不同的類型'。 「不同的條件」是什麼意思? –
@ZakiMohzani我已經添加了一個基於參數或其他參數返回不同類型的函數的示例。 – chthonicdaemon
是的,就像我想的那樣。感謝您的澄清。 –