function nma_project_511() % This function solves the Van Der Pol nonlinear ode % numerically using Matlab's ode45. % % Final project for 511, CSUF, spring 2009. Instructor: Dr Oh, Sang June % % Written by : Nasser M. Abbasi % Van Der Pol ode is x''(t) - c (1-x^2(t)) x'(t) + k x(t) = 0 t = 0:0.001:100; % time scale c = 1; k = 1; x0 = 10; v0 = 3; [t,x] = ode45( @rhs, t, [x0,v0]); subplot(2,1,1); plot(t,x(:,1)); xlabel('t'); ylabel('x(t)'); title(sprintf('Van Der Pol, position vs, time, c=%3.2f, k=%3.2f',c,k)); subplot(2,1,2); plot(x(:,1),x(:,2)); xlabel('x(t)'); ylabel('v(t)'); hold on; plot(x0,v0,'*r','MarkerSize',10); title(sprintf('Phase portait showing limit cycle. x(0)=%3.2f, v(0)=%3.2f',x0,v0)); axis equal hold off; function dxdt=rhs(t,x) dxdt_1 = x(2); dxdt_2 = c*(1-x(1)^2)*x(2)-k*x(1); dxdt = [dxdt_1 ; dxdt_2]; end end