Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

sqrt(-1) - jak zdefiniować liczbę urojoną

Ostatnio zmodyfikowano 2017-05-21 22:20
Autor Wiadomość
pajczur
Temat założony przez niniejszego użytkownika
sqrt(-1) - jak zdefiniować liczbę urojoną
» 2017-05-18 17:35:16
Witam,
oczywiście wiem, że podany w tytule fragment kodu "sqrt(-1)" jest niepoprawnym wyrażeniem jednostki urojonej. Jest to wyrażenie algebraiczne, a ja potrzebuję arytmetycznego.
Wiem też, że mogę wykorzystać bibliotekę standardową <complex> w celu wyrażania liczb zespolonych.

Ale dla celów czysto edukacyjnych - aby lepiej zrozumieć pojęcie liczby urojonej, zarówno z punktu widzenia programowania, ale również z punktu widzenia matematyki bo i tu chyba mam niezłe braki :) - chciałbym sam spróbować zdefiniować jednostkę urojoną, bez korzystania z biblioteki standardowej, a zatem i bez wykorzystania takich funkcji jak wspomniana "sqrt".

Czy ktoś mógłby mi pomóc? Doradzić od czego zacząć, gdzie szukać odpowiedzi?

Za pomoc z góry dziękuję i pozdrawiam.
P-161249
czaffik
» 2017-05-18 18:14:23
1. i*i = -1 - po prostu, nic innego nie wymyślisz bo od tego zaczyna się definicja jednostki urojonej. Jednostkę urojoną wymyślono po to by móc obliczać wyrażenia właśnie takie jak sqrt(-1) co da dwa rozwiązania: -i oraz i;
2. Liczba zespolona to zbiór dwóch liczb, części rzeczywistej i urojonej, Z = Re + Im*i, np 2 + 5*i, co jest w zasadzie równoznaczne wektorowi na płaszczyźnie z "początkiem na początku" układu współrzędnych.
P-161253
pekfos
» 2017-05-18 19:52:53
Nie ma wbudowanego typu liczby zespolonej. Jedyne co jest w standardzie to std::complex. Jeśli chcesz samemu zaimplementować operacje na liczbach zespolonych, to w gruncie rzeczy musisz zaimplementować odpowiednik std::complex.
P-161257
czaffik
» 2017-05-18 21:47:42
Może i nie wszystko jest zaimplementowane w std::complex, ale jednak wiele operacji jest zdefiniowanych, podstawowe jak dodawanie, odejmowanie itp itd, jakieś eksponenty, logarytmy naturalne itd. Jednak bardziej pokomplikowane operacje jak np potęgowanie liczby zespolonej do potęgi liczby zespolonej trzeba pisać samemu, swobodnie można jednak z tej klasy korzystać nie tworząc własnej.
P-161267
pajczur
Temat założony przez niniejszego użytkownika
» 2017-05-21 22:20:47
Hej dziękuję za wszystkie odpowiedzi.
P-161400
« 1 »
  Strona 1 z 1