לדלג לתוכן

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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי


המבנה של מייפל

[עריכה]

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

  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}


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(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



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