# [MATLAB] Simple Undamped Forced Vibration Problem

Tags:
1. Jul 31, 2014

### bugatti79

Hi Folks,

I am trying to replicate a solution in Matlab for the following problem $\displaystyle \ddot x + \frac{k}{m}x = \frac{F_o}{m} \sin w_ot$

using 2 first order linear differential equations in Matlab as shown below

tspan=[0 4];
y0=[.02;1]; %Initial Conditions for y(1)=x and y(2)= x dot
[t,y]=ode45(@forced1,tspan,y0); %Calls forced1.m
plot(t,y(:,2)); %y(:,1) represents the displacement and y(:,2) the velocity
grid on
xlabel('time')
ylabel('Displacement')
title('Displacement Vs Time')
hold on;

function yp = forced1(t,y)

m=20;
k=800;
f=8;
w=8;
yp = [y(2);(((f/m)*sin(w*t))-((k/m)*y(1)))];

The problem is I dont know whether Matlab considers both the complementary and particular solution. THe theoretical solution is given as

$\displaystyle x=A \sin w_nt +B \cos w_nt+ \frac{\frac{F_o}{k}}{1-(\frac{w_o}{w_n})^2} \sin w_ot$

where the 3rd term is the particular solution assumed of the form $x_p=C \sin w_o t$. I am not sure how to implement this correctly in Matlab

Any ideas?

Thanks

2. Aug 7, 2014

### kreil

Have you confirmed that MATLAB isn't giving you this answer back? It should be easy to check the output of ode45 against that form with a few plots.

Does that particular solution arise as a result of boundary conditions?