我已經做了一些幫助函數,使用它們中的很多函數來運行模擬。在Matlab中處理可變參數函數調用
爲了使這些幫助函數更加用戶友好我想給用戶選擇使用較少的參數調用函數(沒有傳遞給函數的參數被賦予一個預定義的值)。
例如,如果我有一個函數
function [res, val, h, v, u] = compute(arg1, arg2, arg3, arg4)
if nargin < 4 || isempty(arg4) arg4 = 150; end
並且被這樣
function [res, val, h, v, u] = runsim(v, arg1, arg2, arg3, arg4)
傻方式做到這一點所限定的函數runsim是
if nargin < 5 || isempty(arg4)
compute(arg1, arg2, arg3)
else
compute(arg1, arg2, arg3, arg4)
end
另一種解決方案會改變向量的參數,但我不允許觸摸模擬背後的功能。有沒有一種Matlab方式來處理這種情況,還是我必須一次又一次地用相同的代碼編寫更少的參數?
你的意思,你可以」 t改變「*計算*」? – 2012-01-12 14:13:05
@Andrey是的,這就是我的意思。 – kechapito 2012-01-12 14:35:43