The coefficients of a Hermite polynomial

46 views (last 30 days)
Magdy Hanna
Magdy Hanna on 13 Jun 2025 at 21:59
Edited: David Goodmanson on 14 Jun 2025 at 1:31
After the coomand:
H = hermiteH(n, sym('t')) ;
which generates a Hermite polynomial of degree n.
I need to get a vector of its coefficients.

Answers (3)

Paul
Paul on 13 Jun 2025 at 22:48
n = 4;
H = hermiteH(n, sym('t'))
H = 
[c,terms] = coeffs(H,sym('t'))
c = 
terms = 
or
[c,terms] = coeffs(H,sym('t'),'all')
c = 
terms = 
Typically one would declare t as workspace variable
syms t
H = hermiteH(n,t);
[c,terms] = coeffs(H,t,'all')
c = 
terms = 

Matt J
Matt J on 13 Jun 2025 at 22:08
syms t
n = 4; % Degree of the Hermite polynomial
H = hermiteH(n, t); % Generate Hermite polynomial of degree n
coeffs_vec = sym2poly(H); % Get vector of coefficients
disp(coeffs_vec);
16 0 -48 0 12

David Goodmanson
David Goodmanson on 14 Jun 2025 at 1:21
Edited: David Goodmanson on 14 Jun 2025 at 1:31
Hi Magdy,
For a change of pace, here is a function that calculates the coefficents of Hn by recursion. I didn't want to get into variable precision arithmetic but with double precision it's good to somewhere around n = 25. Usual Matlab notation so e.g.
hermite(6)
ans = 64 0 -480 0 720 0 -120
means 64x^6 - 480x^4 + 720x^2 - 120
function H = hermite(n)
% hermite polynomial coefficients
% usual Matlab convention with highest power first, constant term last
% H_n+1(x) = 2xH_n(x) - H_n(x)'
%
if n==0
H = 1;
else
A = hermite(n-1);
H = 2*[A 0] - [0 0 (n-1:-1:1).*A(1:end-1)];
end

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!