c mathematical functions
Denne vejledning forklarer vigtige C ++ matematiske funktioner inkluderet i header-filen, såsom abs, max, pow, sqrt osv. Med eksempler og C ++ -konstanter som M_PI:
C ++ giver et stort antal matematiske funktioner, der kan bruges direkte i programmet. At være en delmængde af C-sprog, stammer C ++ de fleste af disse matematiske funktioner fra matematik.h-overskrift på C.
I C ++ er de matematiske funktioner inkluderet i overskriften .
=> Tjek Komplet C ++ GRATIS træningsserie her.
Hvad du lærer:
Matematiske funktioner i C ++
Tabel over C ++ matematiske funktioner
Nedenfor er en liste over de vigtige matematiske funktioner i C ++ sammen med deres beskrivelse, prototype og eksempel.
Ingen | Fungere | Prototype | Beskrivelse | Eksempel |
---|---|---|---|---|
6 | prygl | dobbelt atan (dobbelt x); | Returnerer buetangens for vinkel x i radianer. ** Buetangens er den omvendte tangens ved solbrændingsoperation. | dobbeltparameter = 1,0; koste<< atan (param) * 180,0 / PI; (her PI = 3.142) ** returnerer 47.1239 |
Trigonometriske funktioner | ||||
en | noget | dobbelt cos (dobbelt x); | Returnerer cosinus for vinkel x i radianer. | koste<< cos ( 60.0 * PI / 180.0 ); (her PI = 3.142) ** returnerer 0.540302 |
to | uden | dobbelt synd (dobbelt x); | Returnerer sinus for vinkel x i radianer. | koste<< sin ( 60.0 * PI / 180.0 ); (her PI = 3.142) ** returnerer 0,841471 |
3 | så | dobbeltbrun (dobbelt x); | Returnerer tangens for vinkel x i radianer. | koste<< tan ( 45.0 * PI / 180.0 ); (her PI = 3.142) ** returnerer 0,931596 |
4 | acos | dobbelt acos (dobbelt x); | Returnerer lysbue cosinus for vinkel x i radianer. ** Arc cosinus er den inverse cosinus for cos operation. | dobbeltparameter = 0,5; koste<< acos (param) * 180,0 / PI; (her PI = 3.142) ** returnerer 62.8319 |
5 | saltet | dobbelt asin (dobbelt x); | Returnerer bue sinus for vinkel x i radianer. ** Arc sinus er den inverse sinus ved sin operation. | dobbeltparameter = 0,5; koste<< asin (param) * 180,0 / PI; (her PI = 3.142) ** retur 31.4159 |
Strømfunktioner | ||||
7 | over | dobbelt pow (dobbelt base, dobbelt eksponent); | Returnerer basen hævet til magteksponent. | koste<<”2^3 = “<< pow(2,3); ** returnerer 8 |
8 | sqrt | dobbelt sqrt (dobbelt x); | Returnerer kvadratroden af x. | koste<< sqrt(49); ** returnerer 7 |
Afrunding og resterende funktioner | ||||
9 | loft | dobbelt loft (dobbelt x); | Returnerer mindste heltal, der ikke er mindre end x; Runder x opad. | koste<< ceil(3.8); ** returnerer 4 |
10 | etage | dobbelt etage (dobbelt x); | Returnerer større heltal, der ikke er større end x; Runder x nedad. | koste<< floor(2.3); ** returnerer 2 |
elleve | fmod | dobbelt fmod (dobbelt tal, dobbelt betegnelse); | Returnerer resterende flydende punkt af tal / denom. | koste<< fmod(5.3,2); ** returnerer 1.3 |
12 | trunc | dobbelt trunk (dobbelt x); ** giver også variationer for float og long double | Returnerer den nærmeste integrale værdi, der ikke er større end x. Runder x mod nul. | koste<< trunc(2.3); ** returnerer 2 |
13 | rund | dobbelt runde (dobbelt x); ** giver også variationer for float og long double | Returnerer en integralværdi, der er tættest på x. | koste<< round(4.6); ** returnerer 5 |
14 | resten | dobbelt rest (dobbelt tal, dobbelt betegnelse); ** giver også variationer for float og long double | Returnerer restpunktet for flydende punkt af tal / denom afrundet til nærmeste værdi. | koste<< remainder(18.5 ,4.2); ** returnerer 1.7 |
Minimum, maksimum, forskel og absolutte funktioner | ||||
femten | fmax | dobbelt fmax (dobbelt x, dobbelt y). ** giver også variationer for float og long double. | Returnerer større værdi af argumenterne x og y. Hvis et nummer er NaN, returneres det andet. | koste<< fmax(100.0,1.0); ** returnerer 100 |
16 | fmin | dobbelt fmin (dobbelt x, dobbelt y); ** giver også variationer for float og long double. | Returnerer mindre værdi af argumenterne x og y. Hvis et nummer er NaN, returneres det andet. | koste<< fmin(100.0,1.0); ** returnerer 1 |
17 | fdim | dobbelt fdim (dobbelt x, dobbelt y); ** giver også variationer for float og long double. | Returnerer den positive forskel mellem x og y. Hvis x> y, returnerer x-y; ellers returnerer nul. | koste<< fdim(2.0,1.0); ** returnerer 1 |
18 | fabs | dobbelt fabs (dobbelt x); | Returnerer absolut værdi på x. | koste<< fabs(3.1416); ** returnerer 3.1416 |
19 | Afsnit | dobbelt abs (dobbelt x); ** giver også variationer for float og long double. | Returnerer absolut værdi på x. | koste<< abs(3.1416); ** returnerer 3.1416 |
Eksponentielle og logaritmiske funktioner | ||||
tyve | eksp | dobbelt eksp (dobbelt x); | Returnerer eksponentiel værdi af x, dvs. e x. | koste<< exp(5.0); ** returnerer 148.413 |
enogtyve | log | dobbelt log (dobbelt x); | Returnerer naturlig logaritme af x. (Til basen e). | koste<< log(5); ** returnerer 1.60944 |
22 | log10 | dobbelt log10 (dobbelt x); | Returnerer fælles logaritme af x (til basen 10). | koste<< log10(5); ** returnerer 0,69897 |
C ++ - program, der demonstrerer alle de funktioner, der er diskuteret ovenfor.
#include #include using namespace std; int main () { int PI = 3.142; cout<< 'cos(60) = ' << cos ( 60.0 * PI / 180.0 )< Produktion:
cos (60) = 0.540302
sin (60) = 0,841471
tan (45) = 0,931596
acos (0,5) = 62,8319
salt (0,5) = 31,4159
kaste (1.0) = 47.1239
2 ^ 3 = 8
sqrt (49) = 7
loft (3.8) = 4
etage (2.3) = 2
fmod (5.3,2) = 1.3
trunc (5.3,2) = 2
runde (4.6) = 5
resten (18.5,4.2) = 1.7
fmax (100.0,1.0) = 100
fmin (100.0,1.0) = 1
fdim (2.0,1.0) = 1
fabs (3.1416) = 3.1416
abs (3.1416) = 3.1416
log (5) = 1.60944
exp (5.0) = 148.413
log10(5) = 0.69897
I ovenstående program har vi udført de matematiske funktioner, som vi tabellerede ovenfor sammen med deres respektive resultater.
Dernæst vil vi diskutere nogle af de vigtige matematiske funktioner, der bruges i C ++.
Abs => Beregner den absolutte værdi af et givet tal.
Sqrt => Bruges til at finde kvadratroden af det givne nummer.
Pow => Returnerer resultatet med rosinbase til den givne eksponent.
Fmax => Finder maksimalt to givne tal.
Vi vil diskutere hver funktion i detaljer sammen med C ++ eksempler. Vi vil også lære mere om den matematiske konstant M_PI, der ofte bruges i kvantitative programmer.
C ++ abs
Funktionsprototype: return_type abs (data_type x);
Funktionsparametre: x => værdi, hvis absolutte værdi skal returneres.
x kan være af følgende typer:
dobbelt
flyde
lang dobbelt
Returværdi: Returnerer den absolutte værdi af x.
Som parametre kan returværdien også være af følgende typer:
dobbelt
flyde
lang dobbelt
Beskrivelse: Funktion abs bruges til at returnere den absolutte værdi af den parameter, der sendes til funktionen.
Eksempel:
#include #include using namespace std; int main () { cout << 'abs (10.57) = ' << abs (10.57) << '
'; cout << 'abs (-25.63) = ' << abs (-25.63) << '
'; return 0; }
Produktion:
Her har vi brugt eksempler med et positivt og negativt tal med abs-funktionen til klarhedsformål.
C ++ sqrt
Funktionsprototype: dobbelt sqrt (dobbelt x);
Funktionsparametre: x => værdi, hvis kvadratrode skal beregnes.
Hvis x er negativ, opstår domain_error.
Returværdi: En dobbelt værdi, der angiver kvadratroden af x.
Hvis x er negativ, opstår domain_error.
Beskrivelse: Sqrt-funktionen tager antallet ind som en parameter og beregner deres kvadraters rod. Hvis argumentet er negativt, opstår der en domænefejl. Når der opstår domænefejl, indstilles den globale variabel errno EDOM .
Eksempel:
#include #include using namespace std; int main () { double param, result; param = 1024.0; result = sqrt (param); cout<<'Square root of '< Produktion:
I ovenstående program har vi beregnet kvadratroden af 1024 og 25 ved hjælp af sqrt-funktionen.
C ++ pow
Funktionsprototype: dobbelt pow (dobbelt base, dobbelt eksponent).
Funktionsparametre: base => basisværdi.
Eksponent => eksponentværdi
Returværdi: Værdien opnået efter hævning af basen til eksponenten.
Beskrivelse: Funktionen pow optager to argumenter, dvs. base og eksponent, og hæver derefter basen til eksponentens magt.
Hvis basen, hvis endelig negativ og eksponent er negativ, men ikke en heltalsværdi, opstår domænefejlen. Visse implementeringer kan forårsage domænefejl, når både base og eksponent er nul, og hvis basen er nul, og eksponenten er negativ.
Hvis funktionsresultatet er for lille eller for stort til returtypen, kan det resultere i en områdefejl.
Eksempel:
#include #include using namespace std; int main () { cout<< '2 ^ 4 = '< Produktion:
Ovenstående program demonstrerer brugen af POW-funktionen i C ++. Vi kan se, at det beregner værdien ved at hæve et tal til den specificerede effekt.
C ++ maks
Funktionsprototype: dobbelt fmax (dobbelt x, dobbelt y);
Funktionsparametre: x, y => to værdier, der skal sammenlignes for at finde det maksimale.
Returværdi: Returnerer den maksimale værdi af de to parametre.
Hvis en af parametrene er Nan, returneres den anden værdi.
Beskrivelse: Funktionen fmax tager to numeriske argumenter og returnerer det maksimale af de to værdier. Bortset fra prototypen nævnt ovenfor har denne funktion også overbelastning for andre datatyper som float, long double osv.
Eksempel:
#include #include using namespace std; int main () { cout <<'fmax (100.0, 1.0) = ' << fmax(100.0,1.0)< Produktion:
Ovenstående kode viser brugen af fmax-funktionen til at finde maksimalt to tal. Vi ser de tilfælde, hvor et af tallene er negativt, og begge tallene er negative.
Matematiske konstanter i C ++
Overskriften på C ++ indeholder også flere matematiske konstanter, der kan bruges i matematisk og kvantitativ kode.
For at inkludere matematiske konstanter i programmet skal vi bruge et #define-direktiv og angive en makro “_USE_MATH_DEFINES”. Denne makro skal tilføjes til programmet, før vi inkluderer biblioteket.
Dette gøres som vist nedenfor:
#define _USE_MATH_DEFINES #include #include ….C++ Code…..
En af konstanterne, som vi bruger ofte, når vi skriver matematiske og kvantitative applikationer, er PI. Det følgende program viser brugen af foruddefineret konstant PI i C ++ - programmet.
bedste computerrenser til Windows 10
#define _USE_MATH_DEFINES #include #include using namespace std; int main() { double area_circle, a_circle; int radius=5; double PI = 3.142; //using predefined PI constant area_circle = M_PI * radius * radius; cout<<'Value of M_PI:'< Produktion:
Ovenstående program viser den matematiske konstant M_PI, der er tilgængelig i. Vi har også leveret en lokal variabel PI initialiseret til værdien 3.142. Outputtet viser cirkelområdet beregnet ved hjælp af M_PI og lokal PI-variabel ved hjælp af den samme radiusværdi.
Selvom der ikke er meget forskel mellem de to beregnede arealværdier, er det ofte ønskeligt at bruge PI som en lokalt defineret variabel eller konstant.
Konklusion
C ++ bruger forskellige matematiske funktioner som abs, fmax, sqrt, POW osv. Samt trigonometriske og logaritmiske funktioner, der kan bruges til at udvikle kvantitative programmer. Vi har set nogle af de vigtige funktioner i denne vejledning sammen med deres eksempler.
Vi har også set den matematiske konstant M_PI, der definerer værdien af geometrisk konstant PI, der kan bruges til at beregne forskellige formler.
C ++ bruger matematiske funktioner ved at inkludere header i programmet. Disse funktioner er foruddefinerede, og vi behøver ikke definere dem i vores program. Vi kan direkte bruge disse funktioner i kode, som inturn gør kodning mere effektiv.
=> Læs gennem den omfattende C ++ træningsvejledningsserie her.
Anbefalet læsning