Second time derivative of function?
古いコメントを表示
I have defined a model of displacement 'x' and represented its first derivative with 'v' using the code below. However, when I want to differentiate 'v' using the same function it does not work. Is there a different approach to differentiating derivatives in MATLAB? here is the code:
h = 60 ;
b =130 ;
r = 28 ;
w = 2*pi; % angular velocity
t =0:(1/36):1 ;
x = b*(r*sin(w*t))./(h-r*cos(w*t));
v = diff(x)./diff(t) ; % derivative of x w.r.t t
a = diff(v)./diff(t) ; % derivative of v w.r.t t
採用された回答
その他の回答 (1 件)
KSSV
2018 年 7 月 25 日
diff reduces the dimension of vector by one. You may use gradient
h = 60 ;
b =130 ;
r = 28 ;
w = 2*pi; % angular velocity
t =0:(1/36):1 ;
x = b*(r*sin(w*t))./(h-r*cos(w*t));
v = gradient(x)./gradient(t) ; % derivative of x w.r.t t
a = gradient(v)./gradient(t) ; % derivative of v w.r.t t
Or, reduce the time step by one and use _diff_
h = 60 ;
b =130 ;
r = 28 ;
w = 2*pi; % angular velocity
t =0:(1/36):1 ;
x = b*(r*sin(w*t))./(h-r*cos(w*t));
v = diff(x)./diff(t) ; % derivative of x w.r.t t
a = diff(v)./diff(t(1:end-1)) ; % derivative of v w.r.t t
1 件のコメント
Beau Olafson
2019 年 5 月 30 日
That gradient code 'literally' saved my life. I was so dang lost until then!
カテゴリ
ヘルプ センター および File Exchange で Physics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!