0Pricing
C Academy · レッスン

三角関数と対数

sin、cos、log、expを計算します。

「三角関数と対数」はCoddyKit上の無料C Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全4レッスンが含まれています。

三角関数と対数

math.hヘッダーには、sin、cos、tanなどの三角関数と、log、log10などの対数関数が含まれています。

これらはすべてdouble型の値を受け取り、double型の値を返します。

角度はラジアンで指定する

重要:三角関数は角度を度ではなくラジアンで受け取ります。

1周は2 x piラジアンです。半周(180度)はpiラジアンです。

正弦と余弦

sin(x)とcos(x)は、-1から1までの値を返します。

角度が0のとき、正弦は0、余弦は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;
}

度をラジアンに変換する

度を使う場合は、先に変換してください。度数にpi / 180を掛けます。

ここでは90度の正弦を計算します。結果は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;
}

tan関数

tan(x)は角度の正接を返します。正接はsin(x) / cos(x)と等しくなります。

45度では、正接は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;
}

逆三角関数

逆に、比から角度を求めるには、逆関数を使います。

  • 逆正弦にはasin
  • 逆余弦にはacos
  • 逆正接にはatan

これらは角度をラジアンで返します。

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

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

自然対数

log(x)は自然対数です。底がe(約2.718)の対数を指します。

これは「eを何乗するとxになるか」を表します。log(1)は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;
}

常用対数

一般的な底10の対数には、log10(x)を使います。

1000は10の3乗なので、log10(1000)は3になります。

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

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

exp関数

exp(x)はlogの逆関数で、eをx乗します。

したがって、exp(0)は1で、log(exp(2))は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;
}

定義域に関する注意

対数は正の数に対してのみ定義されます。

  • log(0)は負の無限大を返します
  • 負の数に対するlogはNaNを返します

同様に、asinとacosが受け取れる入力は-1から1までです。

組み合わせて使う

このプログラムは、角度をラジアンに変換し、その正弦を求めてから、底10の対数を出力します。2種類の関数を組み合わせて使う例です。

#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;
}

クイックチェック

三角関数が受け取る単位を思い出しましょう。

まとめ

sin、cos、tanはラジアンを使い、逆関数としてasin、acos、atanがあります。

また、log(自然対数)、log10(底10の対数)、expについても学びました。対数には正の入力が必要です。次は丸めと絶対値です。

よくある質問

「三角関数と対数」レッスンは無料ですか?

はい。「三角関数と対数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全4レッスンが含まれています。

「三角関数と対数」で何を学びますか?

sin、cos、log、expを計算します。 ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「三角関数と対数」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC Academyレッスンでコードを書いて実行できますか?

はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. math.hをインクルードする
  2. べき乗と平方根
  3. 三角関数と対数
  4. 丸めと絶対値
← C Academyに戻る