New Reply

2nd order nonhomogenus differential equation in matlab

 
Share Thread Thread Tools
Sep22-11, 10:51 AM   #1
 

2nd order nonhomogenus differential equation in matlab


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

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

y'' + [itex]\omega[/itex]oy = 2Cos([itex]\omega[/itex]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'' + [itex]\omega[/itex]oy = 2Cos([itex]\omega[/itex]t)
y(0)=0
y'(0)=0
[itex]\omega[/itex]o = 2
[itex]\omega[/itex] = 1.95+[itex]\epsilon[/itex]
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 [itex]\omega[/itex]o
e = 9*8*10^-3; % Value for [itex]\epsilon[/itex]
w = 1.95+e; % The value for [itex]\omega[/itex]
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([itex]\omega[/itex]t) - [itex]\omega[/itex]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?)
PhysOrg.com
PhysOrg
science news on PhysOrg.com

>> Galaxies fed by funnels of fuel
>> The better to see you with: Scientists build record-setting metamaterial flat lens
>> Google eyes emerging markets networks
Sep23-11, 08:57 AM   #2
 
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?
New Reply
Thread Tools


Similar Threads for: 2nd order nonhomogenus differential equation in matlab
Thread Forum Replies
Help with Matlab solving second order differential equations Math & Science Software 10
Second Order Differential Equations in MatLab Differential Equations 0
1D 2nd-Order nonlinear differential eqn using Matlab Math & Science Software 42
second order system of differential equations in Matlab Math & Science Software 11
1D 2nd-Order nonlinear differential eqn in Matlab Math & Science Software 0