0
這個選項到底做了什麼?它似乎只是將解決方案的相應組件設置爲零而沒有任何錯誤,或者以較小的步驟重試,因此我獲得了損壞的解決方案。但是,如果我限制一個步驟,那麼所有看起來都不錯(有所有組件都是正面的)。我怎樣才能限制那些應該是積極的解決方案組件?matlab中的非負選項odeset
這個選項到底做了什麼?它似乎只是將解決方案的相應組件設置爲零而沒有任何錯誤,或者以較小的步驟重試,因此我獲得了損壞的解決方案。但是,如果我限制一個步驟,那麼所有看起來都不錯(有所有組件都是正面的)。我怎樣才能限制那些應該是積極的解決方案組件?matlab中的非負選項odeset
1)非負選項允許檢查每個積分步的溶液,並用零替換負值(這可能是有些問題OK) 2)在我來說,我已經做了以下步驟:
而且在某些情況下是有意義的嘗試求解方程,不進行縮放
重寫系統通過對數來代替這些值小於在溶液中的變量。那麼新變量的指數總是正值。或者使用僵硬系統的解算器。 – LutzL
我正在使用求解器來處理僵硬的系統ode15s,所以如果我限制了一個集成步驟,它會返回好的結果(帶有所有正值),但在這種情況下,它運行時間太長,產品的值太多(因此我需要一個解決方案內存不足)。 – Leo
@LutzL你是什麼意思「用他們的對數取代」? – Leo