function [a0, an, bn] = cnToAnBn(cn) % Converts Fourier coefficients from cn to an, bn N = (length(cn)-1)/2; a0 = 2*cn(N+1); % c0 is the zero frequency term an = zeros(N, 1); bn = zeros(N, 1); for n = 1:N an(n) = cn(N+1+n) + cn(N+1-n); % an calculation bn(n) = 1i * (cn(N+1+n) - cn(N+1-n)); % bn calculation end an = real(an); % Ensure real parts are extracted bn = real(bn); % Ensure imaginary parts are correctly signed end