I have this script to plot the solution to damped oscillator but when i run it it says undefined function or variable. What am I missing?

1 view (last 30 days)
function yp=forced(t,y)
yp=[y(2);((0.56*sin(3.7*t))-(0.78*y(2))-(14*y(1)))];
tspan=[0 5];
y0=[0,0];
[t,y]=ode45(@(t,y) forced(t,y), tspan,y0);
plot(t,y(:,1));
grid on
xlabel('time')
ylabel('displacement')
title('displacement vs time')
end

Accepted Answer

madhan ravi
madhan ravi on 20 Oct 2018
Edited: madhan ravi on 20 Oct 2018
%SCRIPT FILE
tspan=[0 5];
y0=[0,0];
[t,y]=ode45(@forced, tspan,y0);
plot(t,y(:,1));
grid on
xlabel('time')
ylabel('displacement')
title('displacement vs time')
%FUNCTION FILE:
function yp=forced(t,y)
yp=[y(2);((0.56*sin(3.7*t))-(0.78*y(2))-(14*y(1)))];
end
  3 Comments
Zivile Dailidonyte
Zivile Dailidonyte on 20 Oct 2018
That is exactly what I need but still when I run it it says undefined function or variable. Even though I created separate function file and the script with all the inputs.

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!