מייפל/הרוח של מייפל


המבנה של מייפל עריכה

בגדול, מייפל מורכבת משלושה גופים:

  1. הליבה (kernel) - אשר מהווה את המנוע המתמטי של התוכנה, והוא מבצע את החישובים.
  2. הספריות (libraries) - קבצים שהם למעשה תוספים, ויודעים לבצע פעולות מורכבות יותר, כגון חישובים מורכבים של אלגברה לינארית.
  3. ממשק (interface) - זה למעשה מה שרואים כשמפעילים את התוכנה. על מנת שתהיה תאימות עם מערכות הפעלה ופלטפורמות שונות, הממשק מבוסס ג'אווה.

פרוצדורות שנכתבות על ידי המשתמש במייפל, אינן מקומפלות אלא מפורשות בזמן-ריצה באמצעות מפרש (interpreter), בדומה לאופן פעולת מטלאב ודף HTML למשל.

ירידת שורה וסיום פקודה עריכה

ניתן לסיים פקודה פשוט על ידי הקשת Enter:

1+1

2


במקרה זה ניתן לקבל תוצאת חישוב אחת בלבד. במידה ומעוניינים במספר תרגילים באותה שורה, יש לסיים כל פקודה בפסיק-נקודה (;):

1+1;2+2;3+3;

2
4
6


על מנת להציג את תוצאת החישוב באותה שורה, יש להשתמש בצירוף המקשים Ctrl+=.

על מנת לא להציג פלט, למשל בפקודת השמה, יש לסיים פקודה עם נקודותיים (:).

תאים עריכה

במייפל, בדומה לתוכנת Mathematica, ניתן להכניס מספר חישובים לאותו תא, כך שבעת לחיצה בודדת על Enter מתבצעות כל פעולות החישוב באותו תא. ירידת שורה בתא מתבצעת על ידי לחיצה על Shift+Enter:

a:=3: [Shift+Enter]
b:=-6: [Shift+Enter]
c:=1: [Shift+Enter]
pol:=a*x^2+b*x+c; [Shift+Enter]
fsolve(pol): [Shift+Enter]
first:=%[1]; [Enter]

 
 


גדלים קבועים ומילים שמורות עריכה

  • פאי: Pi
  • אקספוננט: exp(1)
  • יחידה מדומה: I
  • אינסוף: infinity

דוגמאות עריכה

evalf(pi)

π


evalf(Pi)

3.141592654


משתנים גלובליים עריכה

  • constants - רשימה של כל הקבועים המוכרים.
  • Digits - מאחן את מספר הספרות אחרי הנקודה העשרונית שיש להציג בכל תוצאת חישוב. ברירת מחדל: 10.
  • Order - סדר השגיאה שעד אליו יוצג טור מספרים. ברירת מחדל: 6.

מספר רציונלי לעומת מספר מטיפוס נקודה צפה עריכה

מספר רציונלי הוא מספר מדויק:

1/3+1/3+1/3;

1


נקודה צפה לעומת זאת, היא מספר לא מדויק:

1.0/(3.0)+1.0/(3.0)+1.0/(3.0);

0.9999999999


בברירת המחדל, מייפל "סוחבת" את הערך הסימבולי מחישוב לחישוב, כלומר את הערך הנכון, ללא שגיאות עיגול (round-off errors). כך ניתן להגיע לתשובה סופית כביטוי נומרי, ואז לחלץ מתוכו ערך נומרי מקורב כרצוננו.

פישוט אוטומטי עריכה

לרוב מייפל תציג את הביטויים כפי שהקלדם אותם, פרט למקרים מיוחדים בהם מייפל תהיה סבורה שהצגה אחרת היא מועילה יותר:

  • קיבוץ איברים (x+x יקובץ ל-2x).
  • שבר בלתי מצומצם, יצומצם.
  • ערכי פונקציה מיוחדים:  

לשם פישוט מורכב יותר, אנא קראו אודות simplify.

רשימות (Lists) וקבוצות (Sets) עריכה

הן הרשימה והן הקבוצה הם אוביקטים דמויי מערך המכילים אוביקטים אחרים.

  • [] רשימה (List) היא אובייקט שבו יש חשיבות לסדר וניתן להציב אלמנטים שחוזרים על עצמם.
  • {} קבוצה (Set) היא אובייקט שמייפל מסננת מתוכו אלמנטים שחוזרים על עצמם, ומציגה אותם על המסך בסדר שבו הם אוחסנו בזכרון (לאו דוקא לפי סדר א"ב).

רשימות (Lists) עריכה

רשימה היא אוסף של פריטים אשר מייפל שומר על הסדר שלהם:

[1, 2, 3, 2, 1, 1, 1, 3, 5, 4, 3]
[1, 2, 3, 2, 1, 1, 1, 3, 5, 4, 3]


[b, a, l, l, o, o, n, s]
[b, a, l, l, o, o, n, s]


רשימה של אוספים:

[{1, 3, 2}, {1, 2, 2}]
{1, 2, 3}, {1, 2}


op עריכה

mylist := [x, y, z]; op(2, mylist)

[x,y,z]
y


op(-1, mylist)
z


op(0,mylist); op(mylist); op(2..3, mylist);
list
x,y,z
y,z


nops עריכה

nops(mylist)
3


Force := m*a; nops(Force)

ma
2


קבוצות (Sets) עריכה

קבוצה היא רשימת פריטים שמייפל ממיינת וללא מציגה חזרות שלהם:

{1, 2, 3, 2, 1, 1, 1, 3, 5, 4, 3}
{1, 2, 3, 4, 5}


{b, a, l, l, o, o, n, s}
{a, b, l, n, s, o}


אוסף של רשימות:

{[1, 3, 2], [1, 2, 2]}
{[1, 3, 2], [1, 2, 2]}


איחוד עריכה

{x, y} union {w, z}
{z, y, x, w}


חיתוך עריכה

{x, y} intersect {w, z}; {x, y} intersect {y, z}
{}
{y}


הפרש עריכה

{x, y} minus {w, z}; {x, y} minus {y, z}

{y,x}
{x}


שייכות עריכה

member(x, {x, y})
true



הפרק הקודם:
היכרות עם התחביר
הרוח של מייפל הפרק הבא:
היבטים אסתטיים