Documentatie/Calc-functies/FOURIER

From The Document Foundation Wiki
Jump to navigation Jump to search
This page is a translated version of the page Documentation/Calc Functions/FOURIER and the translation is 100% complete.
Other languages:
English • ‎Nederlands

Functienaam:

FOURIER

Categorie:

Matrix

Samenvatting:

Voert Fourier-analyse uit van een gegevensset door de discrete Fourier-transformatie (DFT) van een invoerarray van complexe getallen te berekenen, met behulp van Fast Fourier Transform-algoritmen (FFT).

Note pin.svg

Note:
Calc bevat een tool die u mogelijk een gebruiksvriendelijkere methode biedt voor het opzetten van uw Fourier-analyse, in vergelijking met het rechtstreeks maken van formules via de invoerregel of de functiewizard. De Fourier-analysetool maakt gebruik van aanroepen van de FOURIER-functie en is toegankelijk door Gegevens ▸ Statistieken ▸ Fourieranalyse te selecteren in de menubalk. Meer informatie over deze functie is te vinden op de pagina Fourier-analyse in het Help-systeem.

Syntaxis:

FOURIER(Matrix; Gegroepeerd op kolommen [; Geïnverteerde [; Polair [; MinimaleGrootte]]])

Retourneert:

Retourneert een matrix met een reeks complexe getallen die de getransformeerde waarden zijn. De uitvoermatrix is een celbereik van 2 × N of N × 2, waarbij N het aantal complexe getallen in de invoermatrix is.

Argumenten:

Matrix is een reeks van 2 × N of N × 2 cellen, die een reeks complexe getallen bevat die moeten worden getransformeerd, waarbij N de lengte van de reeks is. Matrix kan een specifiek celbereik zijn (bijvoorbeeld "$BronGegevens.A3:B12"), de naam van een benoemd of databasebereik of een inline matrix. Als uw invoermatrix alleen reële getallen bevat, wordt een celbereik van 1 × N of N × 1 geaccepteerd.

Gegroepeerd op kolommen is een logische waarde (WAAR of ONWAAR) of een verwijzing naar een cel die een logische waarde bevat, die aangeeft of Matrix is gegroepeerd op kolommen of rijen. Wanneer WAAR (of een andere waarde dan nul), is de array gegroepeerd op kolommen waarbij de eerste kolom de reële delen van de complexe getallen bevat en de tweede kolom hun denkbeeldige delen. Indien ONWAAR (of 0), bevat de eerste rij de reële delen van de complexe getallen en de tweede rij hun denkbeeldige delen. Als er slechts één kolom of rij is, wordt de invoerreeks als puur reëel behandeld.

Geïnverteerde is een logische waarde (WAAR of ONWAAR) of een verwijzing naar een cel die een logische waarde bevat, die bepaalt of DFT- of inverse DFT-verwerking vereist is. Wanneer WAAR (of een andere waarde dan nul), berekent FOURIER de inverse DFT voor de invoermatrix. Wanneer ONWAAR (of 0). FOURIER berekent de DFT. Als Inverse wordt weggelaten, is de standaardwaarde ONWAAR.

Polair is een logische waarde (WAAR of ONWAAR) of een verwijzing naar een cel die een logische waarde bevat, die bepaalt of de uiteindelijke uitvoer in poolcoördinaten is (omvang en fase). Wanneer WAAR (of een andere waarde dan nul), voert FOURIER gegevens uit met behulp van poolcoördinaten. Wanneer ONwAAR (of 0), voert FOURIER gegevens uit met behulp van cartesiaanse coördinaten. Als Polair wordt weggelaten, is de standaardwaarde ONWAAR.

MinimaleGrootte is een reëel getal of een verwijzing naar een cel met een reëel getal, dat alleen wordt gebruikt als het argument Polair is ingesteld op WAAR. Alle frequentiecomponenten met een magnitude kleiner dan MinimaleGrootte worden onderdrukt met een fase-invoer van nul magnitude. Dit is erg handig bij het bekijken van het magnitude-fasespectrum van een signaal, omdat er altijd een zeer kleine afrondingsfout is bij het uitvoeren van FFT-algoritmen en resulteert in een onjuiste niet-nulfase voor niet-bestaande frequenties. Door deze parameter een geschikte waarde te geven, kunnen deze niet-bestaande frequentiecomponenten worden onderdrukt. Als MinimaleGrootte wordt weggelaten, is de standaardwaarde 0,0, zodat er geen onderdrukking wordt uitgevoerd.

De volgende voorwaarden kunnen zich voordoen:

  • Als Matrix meer dan één celbereik omvat, retourneert FOURIER als fout Ongeldig argument (Fout:502).
  • Als Matrix cellen bevat die niet-numerieke gegevens bevatten, retourneert FOURIER als fout #WAARDE!.
  • Als Gegroepeerd op kolommen niet-numeriek is, retourneert FOURIER als fout #WAARDE!.
  • Als Gegroepeerd op kolommen WAAR is (of een waarde die niet nul is) en Matrix meer dan twee kolommen bevat, retourneert FOURIER als fout Ongeldig argument (Fout:502).

Aanvullende details:

Details specifiek voor de functie FOURIER

  • De wiskunde achter deze functie valt buiten het bestek van deze wiki, maar meer achtergrondinformatie is te vinden op Wikipedia's Fourier analysis-pagina en in de bronnen waarnaar wordt verwezen.
  • Voor degenen met een technische interesse in de algoritmen die worden gebruikt door de FOURIER-functie, wordt een radix-2 decimering-in-time FFT gebruikt wanneer de lengte van de invoerreeks een even macht van 2 is, terwijl het FFT-algoritme van Bluestein wordt gebruikt wanneer de lengte van de invoerreeks is geen even macht van 2.


Algemene informatie over de matrixfuncties van Calc

Note pin.svg

Note:
Gemakshalve wordt de informatie in deze subsectie herhaald op alle pagina's die de matrixfuncties van Calc beschrijven.

Om herhaling in de volgende tekst te voorkomen, worden alleen Windows/Linux-toetscombinaties gespecificeerd. De volgende tabel toont de toewijzing tussen deze toetscombinaties en hun macOS-equivalenten.


Mapping tussen relevante Windows/Linux en macOS toetscombinaties
Windows/Linux-toetscombinatie Windows/Linux-toetscombinatie Opmerkingen
Ctrl + ⇧ Shift + ↵ Enter ⌘ Cmd + ⇧ Shift + ↵ Enter Maakt een matrixformule.
Ctrl + / Ctrl + / Selecteer alle cellen in een matrixformulebereik. "/" is de deeltoets op het numerieke toetsenbord.
Ctrl + C ⌘ Cmd + C Kopiëren
Ctrl + V Ctrl + V Plakken.


  • Een matrix is een rechthoekig bereik van cellen die gegevens bevatten. Een vierkant bereik van drie rijen bij drie kolommen is bijvoorbeeld een matrix van 3 x 3. De kleinst mogelijke array is een 1 x 2 of 2 x 1 matrix, met twee aangrenzende cellen.
  • Een formule waarin de individuele waarden in een celbereik worden geëvalueerd, wordt een matrixformule genoemd. Het verschil tussen een matrixformule en andere formules is dat de matrixformule meerdere waarden tegelijk behandelt in plaats van slechts één.
  • Als u een matrixformule maakt met behulp van de Functie-assistent moet u het selectievakje Matrix aanvinken zodat de resultaten in een matrix worden geretourneerd. Anders wordt alleen de waarde in de cel linksboven van de matrix die wordt berekend, geretourneerd.
  • Als u de matrixformule rechtstreeks in de cel invoert, moet u de toetsencombinatie Ctrl + ⇧ Shift + ↵ Enter gebruiken in plaats van alleen de ↵ Enter-toets. Pas dan wordt de formule een matrixformule.
  • Een matrixformule wordt weergegeven tussen accolades of accolades ("{" en "}"). Het is niet mogelijk om een matrixformule te maken door deze accolades handmatig in te voeren.
  • Sommige matrixfuncties gebruiken parameters die moeten worden geëvalueerd als een matrixformule, zelfs wanneer de formule normaal wordt ingevoerd. Dit zijn DETERMINANT.MAT, INVERSEMAT, PRODUCTMAT, SOMPRODUCT, SOM.X2MINY2, SOM.X2PLUSY2 en SOM.XMINY.2.
  • Calc ondersteunt constante inline matrices in formules. Een inline matrix staat tussen accolades of accolades ("{" en "}"). Afzonderlijke elementen kunnen getallen (inclusief negatieven), logische constanten (WAAR, ONWAAR) of letterlijke tekenreeksen zijn. Niet-constante uitdrukkingen zijn niet toegestaan. Matrices kunnen worden ingevoerd met één of meer rijen en één of meer kolommen. Alle rijen moeten hetzelfde aantal elementen bevatten; evenzo moeten alle kolommen hetzelfde aantal elementen bevatten.
  • Matrixformules bewerken. Selecteer het celbereik dat de matrixformule bevat. Om het hele bereik te selecteren, plaatst u de cursor binnen het bereik en drukt u op Ctrl + /. Druk vervolgens op F2 of plaats de cursor in de invoerregel, bewerk de formule naar wens en gebruik de toetscombinatie Ctrl + ⇧ Shift + ↵ Enter.
  • Matrixformules verwijderen. Selecteer het celbereik dat de matrixformule bevat. Om het hele bereik te selecteren, plaatst u de cursor binnen het bereik en drukt u op Ctrl + /. Druk op Del(ete) om de matrixinhoud te verwijderen, inclusief de matrixformule. U kunt ook op ← Backspace drukken om het dialoogvenster Inhoud verwijderen te openen, Formules of Alles verwijderen selecteren en op OK klikken.
  • Matrixformules kopiëren. Selecteer het celbereik dat de matrixformule bevat. Om het hele bereik te selecteren, plaatst u de cursor binnen het bereik en drukt u op Ctrl + /. Druk vervolgens op F2 of plaats de cursor in de invoerregel. Kopieer de formule door op Ctrl + C te drukken. Selecteer een celbereik waar u de matrixformule wilt invoegen en druk op F2 of plaats de cursor in de invoerregel. Plak de formule door op Ctrl + V te drukken in de geselecteerde ruimte en bevestig deze met de toetsencombinatie Ctrl + ⇧ Shift + ↵ Enter. Het geselecteerde bereik bevat nu de matrixformule.
  • Een matrixbereik aanpassen. Selecteer het celbereik dat de matrixformule bevat. Om het hele bereik te selecteren, plaatst u de cursor binnen het bereik en drukt u op Ctrl + /. Onder de selectie zie je rechts een klein icoontje waarmee je met je muis in of uit kunt zoomen op het bereik. Wanneer u het matrixbereik aanpast, wordt de matrixformule niet automatisch aangepast - u wijzigt alleen het bereik waarin de resultaten verschijnen.


Voorbeelden:

De helppagina voor de Fourier-functie geeft een complex voorbeeld. De volgende eenvoudige voorbeelden zijn bedoeld om de mechanica van het gebruik van de functie te helpen begrijpen en vertegenwoordigen geen real-world scenario's. De invoergegevens worden verondersteld te zijn zoals weergegeven in de volgende tabel.

Voorbeeldinvoergegevens voor FOURIER-functie
A B C D E F
1 1 0,2 1 2 3
2 2 0,4 0,2 0,4 0,6
3 3 0,6

De volgende voorbeelden zijn gebaseerd op de bovenstaande voorbeeldgegevens.

Formule Beschrijving Retourneert
{=FOURIER(A1:B3; WAAR())} ingevoerd als matrixformule na selectie van cel A5. Hier berekent de functie een DFT voor de invoergegevens in cellen A1:B3. Cellen A5:B7 zijn gevuld met de volgende uitvoerwaarden: 6 (cel A5), 1,2 (B5), -1,67320508075689 (A6), 0,566025403784438 (B6), -1,32679491924311 (A7), -1,16602540378444 (B7). Zie beschrijving
{=FOURIER(D1:F2; ONWAAR())} ingevoerd als een matrixformule na het selecteren van cel A5. Hier berekent de functie een DFT voor de invoergegevens in cellen D1:F2. Cellen A5:B7 worden gevuld met exact dezelfde uitvoerwaarden als die in het vorige voorbeeld: 6 (cel A5), 1.2 (B5), -1.67320508075689 (A6), 0.566025403784438 (B6), -1.32679491924311 (A7), -1.16602540378444 ( B7). Zie beschrijving
{=FOURIER(InvoerGegevens; D5; D6)} ingevoerd als een matrixformule na het selecteren van cel A5. InvoerGegevens is een benoemd bereik dat is gedefinieerd voor het celbereik A1:B3, terwijl cellen D5 en D6 beide de logische waarde WAAR bevatten. Hier berekent de functie een inverse DFT voor de invoergegevens in cellen A1:B3. Cellen A5:B7 zijn gevuld met de volgende uitvoerwaarden: 2 (cel A5), 0,4 (B5), -0.442264973081038 (A6), -0.388675134594813 (B6), -0.557735026918962 (A7), 0.188675134594813 (B7). Zie beschrijving
{=FOURIER(InvoerGegevens; D5; D6; D7; D8)} ingevoerd als een matrixformule na het selecteren van cel A5. InvoerGegevens is een benoemd bereik dat is gedefinieerd voorhet celbereik A1:B3, terwijl cellen D5: D8 respectievelijk de waarden WAAR, ONWAAR, WAAR en 0,0 bevatten. Hier berekent de functie een DFT voor de invoergegevens in cellen A1:B3. In tegenstelling tot eerdere voorbeelden worden de resultaten echter uitgevoerd in poolcoördinaten. Cellen A5:B7 worden gevuld met de volgende uitvoerwaarden: 6.11882341631134 (cel A5), 0.197395559849881 (B5), 1.76635217326557 (A6), 2.81538943784138 (B6), 1.76635217326557 (A7), -2.42059831814161 (B7). Zie beschrijving
{=FOURIER(InvoerGegevens; D5; D6; D7; D8)} ingevoerd als een matrixformule na het selecteren van cel A5. InvoerGegevens is een benoemd bereik dat is gedefinieerd voor het celbereik A1:B3, terwijl cellen D5:D8 respectievelijk de waarden WAAR, ONWAAR, WAAR en 2,.0 bevatten. Hier berekent de functie een DFT voor de invoergegevens in cellen A1:B3. De resultaten worden uitgevoerd in poolcoördinaten, maar het argument Minimum Magnitude is ingesteld op 2.0 in plaats van 0.0 (zoals in het vorige voorbeeld). Cellen A5:B7 zijn gevuld met de volgende uitvoerwaarden: 6.11882341631134 (cel A5), 0.197395559849881 (B5), 0 (A6), 0 (B6), 0 (A7), 0 (B7). Zie beschrijving
{=FOURIER(A1:A3; WAAR())} ingevoerd als matrixformule na selectie van cel A5. Hier berekent de functie een DFT voor de invoergegevens in cellen A1:A3. De invoerwaarden zijn dus reëel, zonder denkbeeldige component. Cellen A5:B7 zijn gevuld met de volgende uitvoerwaarden: 6 (cel A5), 2,57305788658456E-16 (B5), -1,5 (A6), 0,866025403784438 (B6), -1,5 (A7), -0,866025403784441 (B7). Zie beschrijving

Gerelateerde LibreOffice-functies:

Geen.

ODF standaard:

Geen.

Gelijkwaardige Excel-functies:

Geen.