numerical-integration

    1熱度

    1回答

    我有一個用於計算酸性變化的ODE。一切工作都很好,只要酸度達到臨界點時我就想改變常數。它應該是我想模擬的某種不可逆轉的效果。 我的常量來自一個結構文件(c)我在ODE函數中加載一次。 [Time,Results] = ode15s(@(x, c) f1(x, c),[0 c.length],x0,options); 主要的問題我這裏是不會告訴Matlab來改變常數,但記得如果在模擬過程中已經發

    3熱度

    2回答

    我想在odeint C++ library中使用runge_kutta4方法。我已經在Matlab中解決了這個問題。在Matlab我下面的代碼來解決x'' = -x - g*x',與初始值x1 = 1,x2 = 0,如下所示 main.m clear all clc t = 0:0.1:10; x0 = [1; 0]; [t, x] = ode45('ODESolver', t, x0);

    3熱度

    1回答

    我試圖創建一個天真的數值積分函數來說明蒙特卡洛積分在高維上的好處。我想是這樣的: def quad_int(f, mins, maxs, numPoints=100): ''' Use the naive (Riemann sum) method to numerically integrate f on a box defined by the mins and m

    2熱度

    1回答

    我正在使用matlab通過在表面上集成離散速度點來計算管道橫截面的平均速度。點以散亂的形式散佈,形成一個圓形(幾乎)。 我使用分散插值創建一個函數,將x和y與v(velocity)相關聯,以創建一個插值值的網格。 F = scatteredInterpolant(x, y, v,'linear'); vq = F(xq,yq); % where xq and yq are a set of q

    2熱度

    1回答

    這可能是一個簡單的問題,但我試圖增加四個集成中的節點數量。我找不到這方面的相關文件。 我有一個一維函數(Dirac delta-like),它大多爲零,但在非常窄的時間間隔內非零。所以自適應四元組無法捕獲該間隔並返回零。我試圖通過更多點抽樣來捕捉峯值。你怎麼做到這一點? SciPy文檔並沒有多大意義。 這個窄峯的位置發生變化。我不知道高峯的確切位置。

    0熱度

    1回答

    很明顯的是,semi-implicit Euler integration法辛,但我無法找到任何信息關於它的time-reversibility。所以這個問題:它是時間可逆的嗎?

    0熱度

    1回答

    我有點卡在函數上,我試圖通過scipy,python進行數值整合。 爲了簡單起見,我將定義該函數爲: integral f(x,y)= SUM[double integral(ax+by)dxdy] a和b是常數,但它們是爲每一個被整合方程不同。我已經將每個函數分別進行了整合,然後將結果彙總到所有積分中,但這需要花費大量時間進行計算,並且對於我嘗試實現的方法而言,這並不理想。 有集成全功能的方

    1熱度

    1回答

    我試圖模擬由ODE系統控制的物理過程的時間行爲。當我將輸入脈衝的width從20切換到19時,沒有耗盡y(1)狀態,這在物理上沒有意義。我究竟做錯了什麼?我錯誤地使用了ode45嗎? function test width = 20; center = 100; tspan = 0:0.1:center+50*(width/2); [t,y] = ode45(@ODEsystem,t

    2熱度

    2回答

    我正在使用gsl來集成一個函數。該函數構建在一個lambda函數中,該函數具有double和void *作爲輸入,並且輸出double。 現在,如果我使用沒有任何變量捕獲的lambda表達式,一切正常。但是如果我進行可變捕獲,它就不再工作了。 任何人都可以解釋我爲什麼這樣嗎? 這裏有兩個代碼片段是我做了解釋我的問題: 這一個正常工作: int main(int argc, char **argv)

    0熱度

    1回答

    我在八度以下代碼嘗試使用辛普森的方法來實現自適應正交: function integral = adaptive2(f, a, b, TOL, count) max_count = 20; disp("hello world"); disp(count); h = (b-a)/2; x_1 = a; x_2 = (b-a)/2; x_3 = b; w_0 = a; w_1 =