"Shane" wrote in message <firstname.lastname@example.org>... > Hi, > new to matlab and struggling to grasp the language. My problem is I have been given the equation: > > x" +ax' + bx = f(t) > > solved using the ode45 function > > first for f(t) = 0 and then when f(t)= 1 > > the point is to study the influence of the variables a and b, I'm sure i will be comfortable enough to evaluate these myself once I have the code. > > Any and all help would be appreciated, > Thanks Shane
a=2; b=3; f=0; y1_0 = 0.0; % set x at t=0 y2_0 = 1.0; % set x' at t=0 options = odeset('RelTol',1e-5,'AbsTol',1e-5); [T,Y] = ode45(@(t,y)oscillator(t,y,a,b,f),[0 12],[y1_0 y2_0],options);
function dy = oscillator(t,y,a,b,f) dy = zeros(2,1); % a column vector dy(1) = y(2) ; dy(2) = -a*y(2)-b*y(1)+f;
But note that for this simple ode, the easiest way to analyze the influence of the input parameters is to solve the ODE analytically. Look up the "dsolve" command in MATLAB.