Elixir:
עבודה עם מספרים מרוכבים
איך לעשות:
ב-Elixir אין מספרים מרוכבים מובנים, אז אנחנו יוצרים משלנו או שמשתמשים בספרייה, כמו ComplexNum
. הנה דוגמה מהירה עם ספרייה:
# בהנחה שהתקנתם את ComplexNum
defmodule ComplexMath do
import ComplexNum
def add(a, b) do
ComplexNum.add(a, b)
end
end
# צור מספרים מרוכבים וחבר אותם
c1 = {3, 4} # מייצג 3 + 4i
c2 = {2, -3} # מייצג 2 - 3i
result = ComplexMath.add(c1, c2)
IO.puts "התוצאה היא: #{inspect(result)}"
זה יפיק:
התוצאה היא: {5, 1}
זה אומר שסכום של 3 + 4i
ו-2 - 3i
הוא 5 + 1i
.
נטילה לעומק
מספרים מרוכבים צצו בהיסטוריה מכיוון שמספרים רגילים לא הסתדרו עם שורשים ריבועיים של מספרים שליליים. רק במאה ה-17 הם זכו להיחשבות ברצינות, הודות למתמטיקאים כמו רנה דקארט וג’רולאמו קרדאנו.
ב-Elixir, לעיתים קרובות משתמשים בטאפלים כמו {3, 4}
עבור מספרים מרוכבים, או בספרייה מוקדשת כדי לא לחזור על גלגל. ספריות הן בדרך כלל טובות יותר - הן מטפלות בדברים הקטנים כמו כפל וחילוק, שהופכים מסובכים בגלל היחידה המדומה ‘i’ (לידיעתכם: i
בריבוע שווה ל--1
).
ראה גם
בדוק את המשאבים הבאים:
- ספריית ComplexNum עבור מנהל החבילות של Elixir, Hex.
- בית ספר ל-Elixir, לנושאים מתקדמים ותרגילים ב-Elixir.
- Erlang – המודול math, אותו Elixir משתמשת בו מאחורי הקלעים, לצרכים מתמטיים אחרים.