Solving for coefficients in polynomial

1 view (last 30 days)
Benjamin
Benjamin on 3 Apr 2019
Commented: Matt J on 4 Apr 2019
I have the following equation in MATLAB which solves for my coefficients:
A45 = [(eta./eta_c).^(4:7).*(4:7)]\(Z_MD - Zfixed); % Solve for the higher order coefficients. This is the norm solution.
This represents the summation part of this equation:
I set the first 3 coefficients which is why it just goes from 4 to 7.
As you can see, since the equation is a sum over k*A_k*(eta./eta_c)^k. I believe the above equation solves for each A_k, correct? i think it does, but I'm not sure how it does it. The A_k's are not even in the MATLAB equation. How does it know to create these coeffs and solve for them?
Also, what if I wanted to have order 4-7 polynomial, but then I wanted to skip 8 and 9 and do 10? How would I do that?
The following does not work:
A45 = [(eta./eta_c).^(4:7,10).*(4:7,10)]\(Z_MD - Zfixed); % Solve for the higher order coefficients. This is the norm solution.

Answers (2)

Matt J
Matt J on 4 Apr 2019
Edited: Matt J on 4 Apr 2019
How does it know to create these coeffs and solve for them?
In Matlab, if you have a matrix equation M*x=z, you can solve for x by doing
x=M\z;
In the special case where M is a square non-singular matrix, this is similar to doing x=inv(M)*z, but better. This is all that the code you've posted is doing, for a particular choice of the matrix M and z.
How does it know how many x(i) to solve for? From the number of columns of the matrix M.
  2 Comments
Matt J
Matt J on 4 Apr 2019
if you are assuming that A8, A9, A11-A21 are all zero, then yes, what you say is correct.

Sign in to comment.


Walter Roberson
Walter Roberson on 3 Apr 2019
k = 4:7;
A45 = [k .* A(k) .* (eta./eta_c).^k]\(Z_MD - Zfixed); % Solve for the higher order coefficients. This is the norm solution.
and you could also use k = [4:7, 10]
  5 Comments
Benjamin Cowen
Benjamin Cowen on 4 Apr 2019
It is a polynomial. Eta is the variable being squared, cubed, etc. I’m only caring about the summation term not the others, so it is a polynomial. Eta_c is a constant

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!