1
我在MATLAB中使用「積分」子程序來評估一些積分。我們知道「積分」是基於自適應正交規則。
是否有可能以及如何返回「積分」中的函數評估數?matlab積分函數中的評估計數
我在MATLAB中使用「積分」子程序來評估一些積分。我們知道「積分」是基於自適應正交規則。
是否有可能以及如何返回「積分」中的函數評估數?matlab積分函數中的評估計數
是的!
我只是不幸的不得不做這個來比較一個MATLAB到Python的實現。說你的MATLAB的功能是:
function value = integrand(x, flag, F,K,vol,T2,T1)
value = (log(x ./ (x+K)) + 0.5 .* (vol.^2) .* (T2-T1)) ./ (vol .* sqrt(T2 - T1));end
和你的函數調用:
quadgk(@(x) integrand(x, flag, F, K, vol, T2, T1), -K, Inf, 'AbsTol',tolerance);
在函數入口點放置一個斷點(在這個例子中點擊功能的左側,value
),使用其輸入運行函數,然後在工作區中單擊x
變量,它會顯示與函數中積分點數相等的大小。它還爲您提供了集成過程中傳遞的值。
請爲您的問題添加更多細節。例如:輸入是怎樣的以及期望的輸出是什麼? – drorco
也許只是看看MATLAB應用程序文件夾中的'integral.m'(通常MATLAB函數本身是用MATLAB代碼編寫的)。也許你可以修改代碼或將其複製到'integralFctCount'中,然後在其中引入一個用於函數評估的計數器。 – tim
@drorco例如,我想要「[S,n] =積分(f,a,b)」,其中「S」是積分值,「n」是函數評估的數量。這裏我們在「積分」子程序中使用默認容錯。 – booksee