ode45

    2熱度

    1回答

    我有一個關於使用Matlab來計算隨機微分方程解的問題。這些方程式是this paper(PDF)中的2.2a,b,第3頁。 我的教授建議使用ode45一小段時間步,但結果與文章中的不匹配。特別是時間系列和pdf。我對函數中白噪聲的定義也有疑問。 這裏爲一體的功能代碼: function dVdt = R_Lang(t,V) global sigma lambda alpha W1=sig

    0熱度

    1回答

    假設我們有以下功能: function f=lorenz(t,x,a,b,c) % solve differential equation like this %dx/dt=a*(y-x) %dy/dt=-x*z+b*x-y %dz/dt=xy-c*z/3 f=zeros(3,1);% preallocate result f(1)=a*

    0熱度

    1回答

    我目前正嘗試使用parfor掃描ode45求解的一組微分方程的一系列初始條件。該代碼工作正常使用兩個嵌套for循環,但我希望parfor可以使該過程更有效率。不幸的是,我遇到了一個問題,求解器能夠解決表示初始條件在一系列變量中的組合之一的問題,但其他的似乎將它們的初始值都設置爲0,而不是指定的值由最初的條件。這可能與我需要創建結果將被寫入的零點矩陣('P')可能覆蓋初始條件(?)的任何幫助將不勝感

    1熱度

    1回答

    我想學習如何使用MATLAB解微分方程(Lorenz系統)的系統,並繪製每個解決方案作爲t的函數常微分方程的系統 X’ = −σx + σy Y’ = ρx − y − xz Z’ = −βz + xy 其中σ = 10,β = 8/3和ρ = 28以及x(0) = −8,y(0) = 8和z(0) = 27。 這裏是我使用的代碼: function xprime = example(t,

    0熱度

    1回答

    我正在使用Octave和ODE45來模擬一個ODE方程組。但問題是,ODE模擬給出了錯誤的值。看一看這八度代碼: function dx = dynamik(t, x) b1 = 1000; b2 = 2000; m1 = 10; m2 = 7; M = 2000; g = 9.82; mu = 0.3; L = 0.1; Ap = 0.004; Am = 0.002; Pp

    1熱度

    1回答

    我需要在以下方程中獲得a,b和c的值,以便系統的階躍響應與下圖中的階躍響應相匹配。 x_dot = a*x + b+u; y = c*x; 其中x_dot是x的一階導數。 我一直在試圖通過Matlab來實現這一點,迄今已取得了以下,僅使用任意值A,B和C測試目的: clc; close all; clear all; a=1; b=2; c=3; tspan = [0:0.0

    0熱度

    1回答

    我想在Matlab中使用ode45解決DDE問題。我的問題是關於我解決這個問題的方式。我不知道我是對的還是我錯了,我應該使用dde23。 我有一個公式如下: xdot(t)=Ax+BU(t-td)+E(t) & U(t-td)=Kx(t-td) & K=constant 正常情況下,我不知道,我解決了這個利用ODE45對我的方程延遲。現在拖延我的等式,我再次使用ode45來獲得結果。我在每一步

    0熱度

    1回答

    我有這個Matlab項目,但由於某種原因,我不能停止考慮它,因爲我無法得到它的工作。 目的: 這是一個MATLAB腳本,將計算的壓力,溫度和正在從萬英尺下降滑翔機的密度的變化。當它下降時,我們希望使用這些新值計算,然後插入一個函數,該函數有4個方程,需要使用ode45以及P T和Rho的新值對每個點進行區分。 下面是主要代碼: % HouseKeeping: clc clear all c

    0熱度

    1回答

    我在懷疑如何使用ode45,因爲我知道它使用內部變量步長。例如,在我的特定情況下,我有一個ODE模型,我使用5分鐘的採樣時間。因此,在我的主要模擬迴路我有以下行通過使用ode45解決它,以獲得我的模型的輸出: [T,X] = ode45(@(t,x) model(t,x,u,data),[t t+scenario.Ts],x0); 凡u是模型的輸入,data是帶有參數的結構,x0是當前時間步的

    0熱度

    1回答

    我想正確地在Matlab中輸入微分方程,所以我可以ode45解決它們,但我不能讓我的代碼工作。這是我進入代碼: function ydot=Untitledrt(z,y) ydot = zeros(6,1); %y(1)=A %y(2)=B %y(3)=C %y(4)=D %y(5)=P %y(6)=T m1 = 6; m2 = 9; m3 = 5; k1 = 6; k2