help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ifft(fft(x) returns very small imaginary parts when x is real?


From: Sergei Steshenko
Subject: Re: ifft(fft(x) returns very small imaginary parts when x is real?
Date: Tue, 5 May 2020 19:48:29 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0


On 05/05/2020 18:29, ingber--- via Help-octave wrote:
I have a problem with Octave:

x = dlmread('fin');
y = transpose(x);
z = fft(y);
w = ifft(z);
dlmwrite('fout',w,' ');

fin is real, but fout is complex with all data have very small imaginary
parts.  This seems to be a known bug:
https://savannah.gnu.org/bugs/?45932

Matlab does not have this problem with this same code.  However, while I can
create a script to run fine as a batch job in Octave, I cannot do this in
Matlab?  For example, the first line in an Octave script is
#!/opt/octave/bin/octave -qf
but I have not been able to find the Matlab counterpart.  For example,
#!/opt/matlab/2018a/bin/matlab
just puts me into Matlab instead of running the script.  I have tried
various flags that might be like Octave's "-qf" without success?




-----
https://www.PhysicalStudiesInstitute.org
--
Sent from: https://octave.1599824.n4.nabble.com/Octave-General-f1599825.html



Just use

real(iff(spectrum))

- the small imaginary part is due to rounding errors.

--Sergei.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]