[英]How do I get the values of y and y' for specific values of t from ode45 in Matlab?
我必須解決一個二階微分方程,我特別需要在最終時間點 y 的一階導數的值。 我的代碼如下:
[T Y]=ode45(@(t y)vdp4(t,y,0.3),[0 1],[0.3/4,((3*0.3)^0.5)/2]);
我知道輸出將包含 ode45 評估函數的值。 要獲得特定時間值處的 y 值,建議在MATLAB 文檔中提供兩個以上的時間點。 我也是這樣做的。
tspan=[0:0.01:1]
[T Y]=ode45(@(t y)vdp4(t,y,0.3),tspan,[0.3/4,((3*0.3)^0.5)/2]);
T 向量仍然沒有從 0 到 1 的所有值(最后一個值為 0.39)。 這尤其發生在多次執行 ode45 函數之后。 我在MATLAB 文檔中發現了其他內容:使用“sol”結構來為特定的 t 值計算值。 這是正確的方法嗎? 作為參考,我的微分方程在以下函數中。
function dy = vdp4(t,y,k)
dy = zeros(2,1); % a column vector
dy(1)=y(2);
dy(2)=(y(2)^2-2*t*y(2)+2*y(1))/k+2;
end
編輯:我提供了參數值。 它現在應該是可執行的。
嘗試繪制您的解決方案,您將找到答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.