%% % spring_sensitivity.m % clear all %% % Construct independent variables and constants. % t = 0:.01:5; C = 1.5; K = 20.5; factor = sqrt(K - C^2/4); factor2 = sqrt(4*K - C^2); params = [C,K]; %% % Compute analytic and approximate displacement and plot the two solutions. % z = 2*exp(-C*t/2).*cos(factor*t); z0 = [2; -C]; ode_options = odeset('RelTol',1e-8); [t,z_app] = ode45(@spring_rhs,t,z0,ode_options,params); figure(1) plot(t,z,t,z_app(:,1),'--',t,0*z,'k','linewidth',2) legend('Analytic Solution','Approximate Solution','Location','SouthEast') xlabel('Time (s)') ylabel('Displacement') set(gca,'Fontsize',[20]); %% % Approximate the analytic and approximate solutions to the sensitivity equations constructed for C. % Plot to compare the solutions. % zc = exp(-C*t/2).*((C*t/factor2).*sin(factor*t) - t.*cos(factor*t)); zc0 = [0; -1]; [t,zc_app] = ode45(@spring_sens_rhs,t,zc0,ode_options,params); figure(2) plot(t,zc,t,zc_app(:,1),'--',t,0*zc,'k','linewidth',2) legend('Analytic','Sensitivity Equation','Location','SouthEast') xlabel('Time (s)') ylabel('Sensitivity') set(gca,'Fontsize',[20]);