三角関数と対数
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- math.hをインクルードする
- べき乗と平方根
- 三角関数と対数
- 丸めと絶対値