numerical-methods

    0熱度

    2回答

    我解微分方程系統用Matlab這樣 tspan = [0 10]; res = ode15s(@(t,x) func,tspan,x0); ,我有另外一個系統,它比@func指定的slighlty不同,解決像 res2 = ode15s(@(t,x) func2,tspan,x0); 我想通過計算每個時間步的差異來比較結果。但由於Matlab解算器是可變時間步長,因此res.y(解)矩

    1熱度

    1回答

    我將Blacks Scholes方程轉換爲Heat方程。我嘗試使用顯式有限差分法來解決這個PDE並獲得一個看漲期權的價格。我也通過使用黑色schols方程「分析」來解決這個問題。 問題是我無法在數值結果中得到更準確的結果。這是我的Python代碼。 這裏是說明我的算法: https://drive.google.com/file/d/0B5h3oewtgjFgdVFpNFJRNTB5LXM/vie

    0熱度

    2回答

    讓我們假設我有一個平滑的非線性函數f:R^n - > R與(已知的)最大根數N.如何有效地找到根?現在我已經在預先選定的區域上計算了網格上的函數,對函數低於預定義閾值的網格進行了細化並繼續該例程,但這看起來效率並不高,但是,因爲我注意到它是難以在之前正確選擇區域並相應地定義閾值。

    3熱度

    1回答

    我需要數值評估一些積分;這些都是在該圖像中所示的形式的正弦: 這些積分是N x N矩陣的矩陣元素,所以我需要以評估它們的所有可能的組合n和m的範圍爲1到N。積分是n和m對稱的,我在我目前的嵌套for環方案已經實施: function [V] = coulomb3(N, l, R, R0, c, x) r1 = 0.01:x:R; r2 = R:x:R0; r = [r1 r2]; rl1

    0熱度

    1回答

    環路錯誤我試圖找到利用牛頓迭代法找到根源。它通過猜測然後在每次迭代之後改進猜測來做到這一點,直到得到一個零。 因爲牛頓迭代方法很快就找到了零,則立即和兩個或三個迭代最大應該不符合while循環的條件後,給了我一個小錯誤。然而,問題是,當我在我的循環「錯誤」後刪除分號,我開始越來越分數應該打破while循環,但它像Matlab不知道123/8328423小於1。它會繼續運行,直到我手動強制程序停止運

    1熱度

    1回答

    我試圖用fdm_2nd和高斯屠夫係數來實現RK隱式2階對流擴散方程(1D):'u_t = -uu_x + nu .u_xx'。 我的目標是比較explit與implcit方案。明顯的rk在少量粘度下工作良好。顯式方案的曲線向我們展示了一個非常好的衝擊波。 我需要你的幫助才能正確實現k(i)係數的求解器。我沒有看到如何對所有k(i)實施牛頓法。 我是否需要爲所有時間空間步驟實施它?或只是在時間?雅克

    -1熱度

    1回答

    如果我有兩個n * n矩陣A和B以及一個向量C,那麼我將如何計算A -1Bc的乘積? 我知道如何通過執行Lu分解來獲得A-1,但是如何將其轉化爲高效的產品計算

    0熱度

    1回答

    嗨,我有一個代碼解決了非線性耦合偏微分方程。不過,我需要實施週期性的邊界條件。週期性的邊界條件讓我感到困擾,我應該在我的代碼中加入什麼來強制實施週期性邊界條件?根據下面的模塊化算術建議更新。 注意,t> = 0且x在區間[0,1]中。下面是耦合方程,下面我提供我的代碼 其中a,b> 0 這些是初始條件,但現在我需要施加週期性邊界條件。這些可以在數學上寫成u(0,t)= u(1,t)和du(0,t)

    1熱度

    1回答

    基本上我想要做的是讓我的for循環運行迭代時,當n = 4,8,16,32,...,512。我之前嘗試在for循環中將我的迭代變量乘以,但MatLab不會允許它。我試圖尋找生成指數間隔的矢量來使用,但沒有命令。這似乎是一個非常簡單的任務,我可以在它之前使用一個條件語句,但這看起來像是糟糕的編碼。 是否有一個簡單而優雅的方式來設置我的循環條件? %% Analysis - Trapezoidal R

    1熱度

    3回答

    我正在實施2D PDE問題的有限差分方案。我希望避免使用循環來產生有限差異。例如由以下生成U(X,Y)_xx,我可以乘以U(X,Y)的第二階中心差: 是否有u_xy =一個很好的矩陣表示( u_ {i + 1,j + 1} + u_ {i-1,j-1} -u_ {i-1,j + 1} -u_ {i + 1,j-1})/(4dxdy)這是一個難以編碼的問題,因爲它是2D的 - 我想用u(x,y)乘一