[運算] ode解震動方程式 時間拉長有誤差
各位好
目前在利用ode解簡單的力學問題
方程式為 F=-kx
當我的dt設置的範圍再0至10(時間很短的情況下)曲線在+-1震盪
但當我dt設置範圍改為0至100時(時間拉長了)曲線後來就不在+-1震盪了
想詢問是否有方法解決這個問題
感謝
以下是我寫
function dydt=odefcn(t,y,m,b,k,w)
dydt=zeros(2,1);
dydt(1)=y(2);
dydt(2)=-(k/m)*y(1);
-------------------------------------------
clear all
clc
m=1;
k=100;
b=0;
w=1
dt=[0:0.01:10];
y0=[1,0];
[t,y]=ode45(@(t,y) odefcn(t,y,m,b,k,w),dt,y0);
plot(t,y(:,1))
--------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.219.73
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1499223668.A.696.html
※ 編輯: dooksp (60.251.219.73), 07/05/2017 11:06:16
※ 編輯: dooksp (60.251.219.73), 07/05/2017 11:07:05
推
07/05 20:31, , 1F
07/05 20:31, 1F
→
07/07 10:47, , 2F
07/07 10:47, 2F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章