MATLAB Answers

Identifying force coefficients of a linear system

3 views (last 30 days)
hamzah khan
hamzah khan on 20 Aug 2020
Answered: Rishabh Mishra on 2 Sep 2020
Hello
I have to develop an algorithim to identify the correct force coefficients of a cutting process. Cutting forces are generated using a synthetic model with the coefficients as shown after which their FFT is taken:
f = [480.772081733469;250.888548275570]; % FFT of force values for zeroeth order
x = [800000000;200000000;10000;10000;] ; % coefficients of force
Then I have developed a numerical fourier force model to approximate the FFT of cutting forces, which it is doing quite good.
x = [800000000;200000000;10000;10000;]
A = 3*[-1.14591559026165e-07 -1.40073764644624e-07 -0.00233909040370103 -0.00190985931710274;1.40073764644624e-07 -1.14591559026165e-07 0.00190985931710274 -0.00233909040370103];
c = (A*x)
The answer I get is
c =
-486.5325
254.5452
Now I have to do the inverse process, I have to identify the force coefficients (x) using the matrix A ( it is the matrix of fourier coefficients like cos(thetha) and sin(thetha) ) and force vector, for this I have the system of equations that I have is Ax =f, where f is the forces.
I am solving the system using the mldivide. here is my code
f = [480.772081733469;250.888548275570];
A = 3*[-1.14591559026165e-07 -1.40073764644624e-07 -0.00233909040370103 -0.00190985931710274;1.40073764644624e-07 -1.14591559026165e-07 0.00190985931710274 -0.00233909040370103];
x = A\f ;
d = (A*x);
The results for d and x_1 are :
d =
480.7721 % correct results for d
250.8885
x =
1.0e+04 * % incorrect results for x
0
0
-2.3592
-5.5016
Is there any way I can develop an algorithim to correctly identify the force coefficients?
Do I have to include more values in matrix A, maybe also for 1st order and 2nd order.
Or there could be some other way?

  0 Comments

Sign in to comment.

Answers (1)

Rishabh Mishra
Rishabh Mishra on 2 Sep 2020
Hi,
While performing the inverse process to calculate ‘x’. Use the code below:
>> x = inv(A)*f
Or
>> x = A^ (-1)
Instead of:
>> x = A/f
The ‘inv()’ function evaluates inverse of matrix A.
For more information on calculating inverse of matrices, refer the following link.

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!