Bash:
Praca z liczbami zespolonymi
Jak to zrobić:
Bash domyślnie nie obsługuje liczb zespolonych. Często używa się zewnętrznych narzędzi takich jak bc
z opcją -l
. Oto jak przetwarzasz liczby zespolone w bashu:
echo "sqrt(-1)" | bc -l
Wynik:
j
Mnożenie:
echo "(-1 + -1i) * (4 + 3i)" | bc -l
Wynik:
-1.00000000000000000000-7.00000000000000000000i
Wnikliwe spojrzenie
Liczby zespolone istnieją od XVI wieku, ale języki skryptowe takie jak Bash nie są pierwotnie przystosowane do wykonywania obliczeń matematycznych z użyciem liczb zespolonych “od razu”. Dlatego często używa się bc
lub innych narzędzi takich jak awk
. Niektóre alternatywne języki do pracy z liczbami zespolonymi to Python z jego modułem cmath
oraz MATLAB, które oba są przeznaczone do bardziej zaawansowanych funkcji matematycznych. Jeśli chodzi o Bash, chodzi tutaj o wykorzystanie narzędzi - bc
używa małej litery ‘i’ do reprezentowania jednostki urojonej i obsługuje podstawowe operacje takie jak dodawanie, odejmowanie, mnożenie i dzielenie.
Zobacz również
- Instrukcja
bc
: https://www.gnu.org/software/bc/manual/html_mono/bc.html - GNU Octave (alternatywa dla MATLAB-u): https://www.gnu.org/software/octave/
- Moduł
cmath
Pythona: https://docs.python.org/3/library/cmath.html