Use function with symbolic variable within ODE45 in van der pol oscillator problem
조회 수: 2(최근 30일)
표시 이전 댓글
Aninda pal 2022년 10월 15일
답변: Gokul Nath S J 2022년 10월 21일
I want to call the second order derivative term as a symbolic function insead of the procedure stated in MATLAB documentation. How can I make this run. Thanks in advance.
syms t y
[t,y] = ode45(@(t,y)vdp1(t,y),[0 20],[2; 0])
function dydt = vdp1(t,y)
syms p1 p2
% dydt = [y(2); 1*(1-y(1)^2)*y(2)-y(1)];
function k= makfun(EQ1,y(1),y(2))
k=subs(EQ1,[p1 p2],[y(1) y(2)]);
dydt = [y(2); makfun(EQ1,y(1),y(2))];
Gokul Nath S J 2022년 10월 21일
Dear Aninda Pal,
There are few ways by which you can use symbolic to find the derivative. Refer to the code below.
syms y(t) dydt(t)
y(t) = t^2 + 2*t + 5;
dydt(t) = diff(y(t));
A sample function of y(t) has been created for the demonstration. If you want to evaluate the derivative at a specific point, say 5, just call dydt(5).
Refer to the attached documentation for more info.
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!