Bash:
עבודה עם מספרים מרוכבים
איך לעשות:
Bash לא תומך במספרים מרוכבים באופן טבעי. לעיתים, תשתמש בכלי חיצוני כמו bc
עם האפשרות -l
שלו. כך תעבד מספרים מרוכבים בbash:
echo "sqrt(-1)" | bc -l
פלט:
j
כפל:
echo "(-1 + -1i) * (4 + 3i)" | bc -l
פלט:
-1.00000000000000000000-7.00000000000000000000i
צלילה עמוקה
מספרים מרוכבים קיימים מהמאה ה-16, אך שפות סקריפט כמו Bash אינן מוכנות מראש לביצועי חישובים מתמטיים כמו מספרים מרוכבים ישירות מהקופסא. זו הסיבה ש-bc
או כלים אחרים כמו awk
לעיתים נכנסים לתמונה. כמה שפות חלופיות לעבודה עם מספרים מרוכבים הן Python עם המודול cmath
ו-MATLAB, ששתיהן בנויות לפונקציות מתמטיות מתקדמות יותר. בשביל Bash, זה כל עניין של לנצל כלים - bc
משתמש ב-‘i’ הקטן לייצוג היחידה המדומה ותומך בפעולות בסיסיות כמו חיבור, חיסור, כפל, וחילוק.
ראו גם
- מדריך ל
bc
: https://www.gnu.org/software/bc/manual/html_mono/bc.html - GNU Octave (חלופה ל-MATLAB): https://www.gnu.org/software/octave/
- מודול
cmath
של Python: https://docs.python.org/3/library/cmath.html