Using fft and ifft with less frequencies than input points

2 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Matt J
Matt J il 27 Feb 2025
Modificato: Matt J il 27 Feb 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

Categorie

Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange

Tag

Prodotti


Release

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by