C Academy · Lektion

Trigonometriska funktioner och logaritmer

Beräkna sin, cos, log och exp.

Lektion 3 av 413 steg

Trigonometriska funktioner och logaritmer är en gratis lektion i C Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C Academy innehåller totalt 4 lektioner.

Trigonometri och logaritmer

Headerfilen math.h innehåller trigonometriska funktioner som sin, cos och tan, samt logaritmfunktioner som log och log10.

De tar alla emot och returnerar värden av typen double.

Vinklar anges i radianer

Viktigt: de trigonometriska funktionerna förväntar sig vinklar i radianer, inte grader.

En hel cirkel är 2 x pi radianer. En halv cirkel (180 grader) är pi radianer.

Sinus och cosinus

sin(x) och cos(x) returnerar värden mellan -1 och 1.

Vid vinkeln 0 är sinus 0 och cosinus 1.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("sin(0) = %.1f\n", sin(0.0));
    printf("cos(0) = %.1f\n", cos(0.0));
    return 0;
}

Konvertera grader till radianer

Om Ni vill använda grader måste Ni konvertera dem först. Multiplicera antalet grader med pi / 180.

Här beräknar vi sinus för 90 grader, vilket bör bli 1.

#include <stdio.h>
#include <math.h>

int main(void) {
    double deg = 90.0;
    double rad = deg * M_PI / 180.0;
    printf("sin(90 deg) = %.2f\n", sin(rad));
    return 0;
}

Funktionen tan

tan(x) returnerar tangens för en vinkel, vilket är lika med sin(x) / cos(x).

Vid 45 grader är tangens 1.

#include <stdio.h>
#include <math.h>

int main(void) {
    double rad = 45.0 * M_PI / 180.0;
    printf("tan(45 deg) = %.2f\n", tan(rad));
    return 0;
}

Inversa trigonometriska funktioner

Om Ni vill gå åt andra hållet, från ett förhållande tillbaka till en vinkel, använder Ni de inversa funktionerna:

  • asin för invers sinus
  • acos för invers cosinus
  • atan för invers tangens

De returnerar vinklar i radianer.

#include <stdio.h>
#include <math.h>

int main(void) {
    double angle = atan(1.0);
    printf("atan(1) = %.4f rad\n", angle);
    return 0;
}

Den naturliga logaritmen

log(x) är den naturliga logaritmen: logaritmen med basen e (ungefär 2,718).

Den besvarar frågan "till vilken potens måste e upphöjas för att bli x?" Observera att log(1) är 0.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("log(1) = %.1f\n", log(1.0));
    printf("log(M_E) = %.1f\n", log(M_E));
    return 0;
}

Logaritm med basen 10

För den vanliga logaritmen med basen 10 använder Ni log10(x).

Eftersom 1000 är 10 upphöjt till 3 är log10(1000) lika med 3.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("log10(1000) = %.1f\n", log10(1000.0));
    return 0;
}

Funktionen exp

exp(x) är inversen till log: den upphöjer e till potensen x.

Alltså är exp(0) 1, och log(exp(2)) returnerar 2.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("exp(0) = %.1f\n", exp(0.0));
    printf("exp(1) = %.3f\n", exp(1.0));
    return 0;
}

Varningar för definitionsmängden

Logaritmer är bara definierade för positiva tal.

  • log(0) returnerar negativ oändlighet
  • log av ett negativt tal returnerar NaN

På samma sätt accepterar asin och acos bara värden mellan -1 och 1.

Kombinera funktionerna

Det här programmet konverterar en vinkel till radianer, beräknar dess sinus och skriver sedan ut en logaritm med basen 10. På så sätt visas båda funktionsfamiljerna tillsammans.

#include <stdio.h>
#include <math.h>

int main(void) {
    double rad = 30.0 * M_PI / 180.0;
    printf("sin = %.2f\n", sin(rad));
    printf("log10(100) = %.0f\n", log10(100.0));
    return 0;
}

Snabbkontroll

Kom ihåg vilken enhet de trigonometriska funktionerna förväntar sig.

Sammanfattning

Ni har lärt Er att sin, cos och tan använder radianer, med inverserna asin, acos och atan.

Ni har också mött log (naturlig logaritm), log10 (bas 10) och exp. Logaritmer kräver positiva indata. Nästa avsnitt handlar om avrundning och absolutbelopp.

Gratis att börja

Lär dig C med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
39
Lektioner
144

Vanliga frågor

Är lektionen ”Trigonometriska funktioner och logaritmer” gratis?

Ja – hela texten till ”Trigonometriska funktioner och logaritmer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Trigonometriska funktioner och logaritmer”?

Beräkna sin, cos, log och exp. Ni övar på C Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig C Academy?

Du behöver inga förkunskaper. Utbildningen i C Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Trigonometriska funktioner och logaritmer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här C Academy-lektionen?

Ja. Varje C Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Inkludera math.h
  2. Potenser och rötter
  3. Trigonometriska funktioner och logaritmer
  4. Avrundning och absolutbelopp
← Tillbaka till C Academy