Identifying force coefficients of a linear system

5 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?

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.

Community Treasure Hunt

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

Start Hunting!