%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% matlabtips2.m:
% Numerisk beregning av hastighet vx og akselerasjon ax fra t og x.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Nullstiller workspace
clear;
% Leser data fra bane.txt, se matlabtips1.m.
[t,x,y] = textread('bane.txt','%f %f %f','headerlines',1);

% Det enkleste er å bruke diff(x). Element nr n
% i tabellen diff(x) er x(n+1)-x(n).
% NB: Når x har N elementer, dvs length(x) har verdien N,
% vil diff(x) ha N-1 elementer, dvs length(diff(x)) har verdien N-1.
% Her er tidssteget konstant, så vi regner ut dt en gang for alle.
dt = t(2) - t(1);
vx = diff(x)/dt;
ax = diff(vx)/dt;
%
% Eller med for-løkker:
N = length(t);
% Initialisering:
vx2 = zeros(1,N);
ax2 = zeros(1,N);
% v(i) = Delta x/Delta t = (x(i+1)-x(i))/dt
for i = 1:N-1, 
    vx2(i) = (x(i+1) - x(i))/dt;
end
% setter v(N) = (x(N)-x(N-1))/dt, dvs vx2(N)=vx2(N-1)
vx2(N) = vx2(N-1);
% a(i) = Delta v/Delta t = (vx2(i+1)-vx2(i))/dt
for i = 1:N-1, 
    ax2(i) = (vx2(i+1) - vx2(i))/dt;
end
% setter a(N) = (v(N)-v(N-1))/dt, dvs ax2(N) = ax2(N-1)
% (siden vi satte vx2(N)=vx2(N-1), blir nå ax2(N-1)=ax2(N)=0)
ax2(N) = ax2(N-1);
% Plotter vx(t) og vx2(t)
figure(1);
plot(t(1:length(vx)),vx,t,vx2);
title('Figur 1. Klossens hastighet på skråplanet')
xlabel('Tid (s)');
ylabel('Hastighet (cm/s)');
grid on;

% Plotter ax(t) og ax2(t)
figure(2);
plot(t(1:length(ax)),ax,t,ax2);
title('Figur 2. Klossens akselerasjon på skråplanet')
xlabel('Tid (s)');
ylabel('Akselerasjon (cm/s^2)');
grid on;