• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ jak zapisać wzór funkcji?

VPS Starter Arubacloud
+1 głos
1,115 wizyt
pytanie zadane 2 czerwca 2020 w C i C++ przez gorgonkowa Obywatel (1,810 p.)

Hejka.
Chciałabym poprosić Was o małą pomoc. Otóż, jak mogę zapisać wzór funkcji w postaci kodu C++?
Ten wzór wyraża się następująco: f(x) = cosh⁡(x)-2x
Dodatkowo, cosh jest równe temu, co w załączniku (czyli funkcja hiperboliczna).
Zapisałam coś takiego...

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>

using namespace std;

const double EPS0 = 0.00001; // dokładność porównania z zerem
const double EPSX = 0.1; // dokładność wyznaczenia pierwiastka
const double e = 2.718281828458563411; // stała liczby e

// Funkcja, której miejsce zerowe obliczamy
// f(x) = cosh(x)-2x
// [1,3]
//-----------------------------------------

double f(double x)
{
  return ((double pow( double e, double x ) + double pow( double e, double -x )) / 2) - 2 * x;
}

Jeśli chodzi o funkcję hiperboliczną cosh, to wygląda ona następująco:

1 odpowiedź

+2 głosów
odpowiedź 2 czerwca 2020 przez LuQ232 Mądrala (7,200 p.)
 
Najlepsza

Bardzo dobrze wszystko przeliczyłaś. Drobne zmiany w zapisie i już:


#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>

using namespace std;

const double EPS0 = 0.00001; // dokładność porównania z zerem
const double EPSX = 0.1; // dokładność wyznaczenia pierwiastka
const double e = 2.718281828458563411; // stała liczby e

// Funkcja, której miejsce zerowe obliczamy
// f(x) = cosh(x)-2x
// [1,3]
//-----------------------------------------

double f(double x)
{
  return (( pow(e , x) +  pow(e , -x)) / 2) - 2 * x;
}

int main()
{
    cout<<f(4);
    return 0;
}

 

Sprawdzilem dla 2 wartości z WolframAlpha i sie zgadza.

 

Można szybciej:


#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>

using namespace std;



// f(x) = cosh(x)-2x
double f(double x)
{
  return cosh(x)-2*x;
}

int main()
{
    cout<<f(4);
    return 0;
}

 

1
komentarz 2 czerwca 2020 przez gorgonkowa Obywatel (1,810 p.)
Super, dziękuję ślicznie za pomoc! :)

Podobne pytania

0 głosów
1 odpowiedź 437 wizyt
0 głosów
5 odpowiedzi 310 wizyt
pytanie zadane 27 kwietnia 2019 w C# przez Moras Obywatel (1,620 p.)

93,018 zapytań

141,984 odpowiedzi

321,282 komentarzy

62,364 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...