C++ 數(shù)學(xué)函數(shù)

2023-03-20 15:48 更新

在數(shù)學(xué)領(lǐng)域,你可能會(huì)看到sin和log這樣的函數(shù),也學(xué)過(guò)對(duì)sin(π/2)和log(1/x)這樣的表達(dá)式求值。首先,要求出括號(hào)中表達(dá)式的值,這個(gè)值稱為函數(shù)的參數(shù)。比如π/2約為1.571,若x為10則1/x的值為0.1。

然后你就可以通過(guò)查表或執(zhí)行各種計(jì)算來(lái)求函數(shù)本身的值了。1.571的正弦是1,0.1的對(duì)數(shù)是-1(假設(shè)log函數(shù)是求以10為底的對(duì)數(shù))。

對(duì)于求類似log(1/sin(π/2))這樣的更復(fù)雜表達(dá)式的值,上述求解過(guò)程可反復(fù)進(jìn)行。首先我們求出最里面那個(gè)函數(shù)的參數(shù),然后求整個(gè)函數(shù),如此反復(fù)。

C++提供了一組內(nèi)置函數(shù),包含了大多數(shù)你能想到的數(shù)學(xué)運(yùn)算。調(diào)用這些數(shù)學(xué)函數(shù)的語(yǔ)法形式與其本身的數(shù)學(xué)符號(hào)很相似:

double log = log(17.0);
double angle = 1.5;
double height = sin(angle);

第一例中的log定義為求17的自然對(duì)數(shù)(底數(shù)為e)。還有一個(gè)函數(shù)名為log10,取以10為底的對(duì)數(shù)。

第二例求解的是變量angle的正弦值。C++設(shè)定賦給sin以及其他三角函數(shù)的參數(shù)都是以弧度為單位的。角度轉(zhuǎn)弧度,需要先除以360,再乘以2π。

如果你不知道π精確到15位小數(shù)是多少,你可以使用acos函數(shù)計(jì)算出來(lái)。-1的arccos(反余弦)值就是π,因?yàn)棣械挠嘞抑凳?1。

double pi = acos(-1.0);
double degrees = 90;
double angle = degrees * 2 * pi / 360.0;

在使用數(shù)學(xué)函數(shù)之前,需要包含math頭文件。頭文件包含了編譯器需要知道的,卻在你的程序之外定義的函數(shù)信息。比如"Hello, world!"這個(gè)例子中,我們通過(guò)使用include語(yǔ)句包含了名為iostream.h的頭文件:

#include <iostream.h>

iostream.h包含了輸入、輸出(I/O)字節(jié)流的信息,包括一個(gè)名為cout的對(duì)象。

類似的,math頭文件包含了數(shù)學(xué)函數(shù)的相關(guān)信息,可以在你的程序開(kāi)頭把它同iostream.h一起包含進(jìn)去:

#include <math.h> 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)