ode45 or dsolve
6 views (last 30 days)
Show older comments
felik kamwera
on 24 Jun 2019
Commented: felik kamwera
on 24 Jun 2019
whats wrong with my code.. its from a book but cant run
tspan=[0 4];
y0=[0.02;0];
[t,y]=ode45('unforced1',tspan,y0);
plot(t,y(:,1));
grid on
xlabel(‘time’)
ylabel(‘Displacement’)
title(‘Displacement Vs Time’)
hold on;
its function is function yp = unforced1(t,y)
yp = [y(2);(-((c/m)*y(2))-((k/m)*y(1)))];
4 Comments
Chinmay Anand
on 24 Jun 2019
What are c and m defined in your function ? Have you assigned any values to them ?
Accepted Answer
madhan ravi
on 24 Jun 2019
tspan=[0 4];
y0=[0.02;0];
m=5;
k=1000;
c=1000;
[t,y]=ode45(@(t,y)unforced1(t,y,c,m,k),tspan,y0); % function call
plot(t,y(:,1));
grid on
xlabel('time')
ylabel('Displacement')
title('Displacement Vs Time')
%function definition
function yp = unforced1(t,y,c,m,k) % if your version is prior to 2016b save this in a separate file name unforced1.m
yp = [y(2);
(-((c/m)*y(2))-((k/m)*y(1)))];
end
More Answers (0)
See Also
Categories
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!