# 2nd order nonhomogenus differential equation in matlab

1. Sep 22, 2011

### Powertravel

1. The problem statement, all variables and given/known data

I am studying a forced undamped oscillator with matlab governed by the equation:

y'' + $\omega$oy = 2Cos($\omega$t)

First I have to write a function that can be solved by the solver ode45.

Here is where I am stuck. Matlab just spits error messages at me when I try to run the solver.
It would be awesome if someone could check my mfile and see where I am going wrong.

2. Relevant equations
y'' + $\omega$oy = 2Cos($\omega$t)
y(0)=0
y'(0)=0
$\omega$o = 2
$\omega$ = 1.95+$\epsilon$
e = a small number

3. The attempt at a solution

This is my m-file, descriptions in green
-----------------------------------------------
function [ydot] = occi( t,y ) % The name of the function is occi
Wo = 2; % The value of $\omega$o
e = 9*8*10^-3; % Value for $\epsilon$
w = 1.95+e; % The value for $\omega$
ydot = zeros(2,1); %Creates a 2rows 1column matrix to contain the system of Ode
ydot(1) = y(1); %sets y' = y1
ydot(2) = 2*cos(w*t)-(Wo^2)*y; %sets Y'' = 2Cos($\omega$t) - $\omega$oy
end
------------------------------------------
Then I run this script:

>>[tout, yout] = ode45(@occi, [0 2*pi], [0; 0]);

and matlab slaps me in the face with:

??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

Error in ==> occi at 7
ydot(2) = 2*cos(w*t)-(Wo^2)*y;

Error in ==> odearguments at 98
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

Error in ==> ode45 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

So, I don't get what's wrong. Thanks for help. (is it presumptuous to write that?)

2. Sep 23, 2011

### Centrus

As far as I can tell, you have only a single, fairly subtle error. Without meaning to frustrate you, I think it'd be better if you can find it for yourself. I'll give you a couple of hints:

1. The error is in line 7 (where you assign your function value to ydot(2) )
2. You could easily have made the exact same error in line 6, but didn't.

If you still struggle by tomorrow, I'll put you out of your misery.

Given the relevant equations you gave, it looks like you may also have a logic error in line 7. I don't think ω0 should be squared?