Using fft and ifft with less frequencies than input points

8 visualizaciones (últimos 30 días)
Benedikt
Benedikt el 27 de Feb. de 2025
Editada: Matt J el 27 de Feb. de 2025
I want to use fft and ifft in the context of heat equation. Therefore the grid needs to be refined, but I dont want to use as many coefficients in the fft:
%Grid
Nx = 10001;
dx = L/(Nx-1);
x = linspace(0,L,Nx)';
%Function
f = @(x) rectangularPulse(0.5, 1.5, x);
f_values = arrayfun(f,x);
u0 = ifft(fft(f_values)); %Takes very long
What I would want to do, is to insert an N, f.e. N=100, but get an array 10001x1.
Thanks.

Respuestas (1)

Matt J
Matt J el 27 de Feb. de 2025
Editada: Matt J el 27 de Feb. de 2025
What I would want to do, is to insert an N, f.e. N=100, but get an array 10001x1.
%Grid
Nx = 100;
L = 10;
dx = L/(Nx-1);
x = linspace(0,L,Nx)';
%Function
f = @(x) rectangularPulse(0.5, 1.5, x);
f_values = arrayfun(f,x);
u0 = ifft(fft(f_values),10001);
whos u0
Name Size Bytes Class Attributes u0 10001x1 160016 double complex

Categorías

Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by