Using coeffs to extract a matrix
조회 수: 9 (최근 30일)
이전 댓글 표시
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
채택된 답변
Matt J
2020년 9월 9일
편집: Matt J
2020년 9월 9일
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]
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Number Theory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!