Using coeffs to extract a matrix
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jonah Berean-Dutcher
el 9 de Sept. de 2020
I have a polynomial function of many symbolic variables, and I want to extract the 'coefficient matrix' from this polynomial. Every term in the polynomial has only two factors of these symbolic variables, i.e.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/358477/image.png)
The coefficient matrix I want to extract is the one that would produce precisely this polynomial if I evaluated the vector-matrix-vector product:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/358480/image.png)
where here x is a vector whose entries are all these symbolic variables, and Kis the coeffient matrix. In Mathematica, this is straightforward, there's a function called CoefficientArrays which performs exactly this operation. What is the best way to do this in Matlab? I have looked at the 'coeffs' function, but it doesn't appear to offer the same level of functionality as the Mathematica function I referenced.
0 comentarios
Respuesta aceptada
Matt J
el 9 de Sept. de 2020
Editada: Matt J
el 9 de Sept. de 2020
The coefficient matrix I want to extract is the one that would produce precisely this polynomial if I evaluated the vector-matrix-vector product:
Such a K matrix is not unique, but the hessian() command,
will give a symmetric solution for K. E.g.,
>> syms x y z
>> P = 3*y^2 + x*y + 2*z*x;
>> K = hessian(P,[x,y,z])/2
K =
[ 0, 1/2, 1]
[ 1/2, 3, 0]
[ 1, 0, 0]
Más respuestas (0)
Ver también
Categorías
Más información sobre Number Theory en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!