I have an array
X=[ 0.1000 0.0844 0.0434 -0.0090 -0.0559 -0.0831 -0.0832 -0.0574 -0.0152 0.029] Which shows the position and time array with respect to that position is
T= [0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000]
And I have the mass spring equation mx + c x + kx = 0 where x is the double derivative of x which I have found by using dx=diff(x.2) and dt2=diff(t,2) and x is found by dx=diff(x) and dt=(diff). Problem is I have implemented the code to find the value of c and k in the equation using A=x\b formula
I have impleneted the code by using xx=dx./dt; xx2=dx2./dt2;
The values obtained using the formula A=x\b are Nan and Nan both for c and k because my dt2=diff(t,2) comes out to be zero and I have even pad zeros to make the size equal for xx and xx2 but what can I do to make the size equal apart from padding zeros since I thnk padding zeros is causing a lot of issue is there a way I can like interpolate and get the sizes equal for the diff since diff is reducing the size by n-1, correct and what can be done about dt2 is it fine or it should be dt2=dt^.2 since its coming out to be all zero.
Below is my code.
x=[ 0.1000 0.0844 0.0434 -0.0090 -0.0559 -0.0831 -0.0832 -0.0574 -0.0152 0.029]';
t= [0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000]';
dx=diff(x);
dt=diff(t);
dx2=diff(x,2);
dt2=diff(t,2); % this comes out zero
xx=dx./dt;
xx2=dx2./dt2;
% padding zeros to make size equal
xx2=padarray(xx2,size(x)-size(xx2),'post');
xx=padarray(xx,size(x)-size(xx),'post');
mass=100;
gh=horzcat(xx,x);
A=gh\(m*xx2)