תכנות נומרי עם Matlab ו-Octave/טיפוסים ומשתנים

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



Matlab ו-Octave תומכות בסוגים רבים של טיפוסים: מספרים, מחרוזות, ועוד. משתנים הם שמות אותם יכול המשתמש לשייך לעצמים כאלה כדי להפעיל עליהם פעולות.


סוגי טיפוסים[עריכה]

קיימים מספר טיפוסים:

  • double - טיפוס זה שייך לשדה המספרים. מספר ממשי או מרוכב , וקטור, מטריצה ואף מטריצה תלת- מימדית.
  • char- טיפוס זה הוא מחרוזת תווים.
  • cell - מערך תאים. מערך תאים יכול להכיל את כל סוגי המשתנים.
  • struct - רשומה.
  • function_handle - משתנה המכיל פונקציה (שימוש ב- @)

מספרים[עריכה]

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

>>300
ans=
300

>>100+200
ans=
300

צורות חישוב נוספות נראה בהמשך.

מחרוזות[עריכה]

מהן מחרוזות[עריכה]

מחרוזות הם רצפי תווים בתוך זוג גרשיים. לדוגמה:

octave:20> "Hello, world!"
ans = Hello, world!

חשוב לזכור לשים את זוג הגרשיים, שאם לא כן תתקבל שגיאה:

octave:21> Hello, world!
parse error:

  syntax error

>>> Hello, world!
                ^

מחרוזות ומשתנים[עריכה]

גם על משתנים אלה ניתן להפעיל פונקציות. ניתן להפוך אותם לקוד ascii ולבצע פעולות חשבון.


נגדיר משתנה y בתור המחרוזת "hello world"

>
>>y='hello world'
y = hello world
>> whos y

*** local user variables:

  Prot Name        Size                     Bytes  Class
  ==== ====        ====                     =====  ===== 
   rwd y           1x11                        11  char

Total is 11 elements using 11 bytes

השתמשנו בפקודה whos כדי לדעת פרטים על המשתנה y. קיבלנו את המימדים, הסוג והגודל.



פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.




מהם משתנים[עריכה]

נתבונן בשורות הבאות:

octave:1> y = 8

השורה אומרת שy הוא שם המשוייך ל8. בכל מקום שאפשר להשתמש ב8, אפשר להשתמש בy. לדוגמה:

octave:3> 8 + 2
ans =  10
octave:4> y + 2
ans =  10

כפי שהדוגמה מראה, המתרגם מתייחס ל8 + 2 בדיוק כפי שהוא מתייחס לy + 2.

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

octave:5> y = 3
y =  3
octave:6> y + 2
ans =  5
octave:7> y = 6
y =  6
octave:8> y + 2
ans =  8

בעבודה אינטראקטיבית, אפשר לשאול את המתרגם לפרטים על משתנה, בעזרת הפקודה whos:

>> whos y

*** local user variables:

  Prot Name        Size                     Bytes  Class
  ==== ====        ====                     =====  ===== 
   rwd y           1x1                          8  double

Total is 1 element using 8 bytes


משתנים קבועים[עריכה]

למטלב ואוקטב יש משתנים קבועים השמורים בזכרון התוכנה.


קבועים
שם סימון ערך
פאי pi 3.1416
e e 2.7183
i במרוכבים i שורש של 1-

ניתן לשמור על השמות האלו אולם התוכנה תזכור את השינוי ולכן לא תהיה גישה לקבוע.

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

clear i pi e

אם היה משתנה כזה ב workspace (היכן שנשמרים כל המשתנים שהוגדרו) הוא ימחק ובתוכנית יהיה ניתן להשתמש בו בתור קבוע.

משתנה ans[עריכה]

לתוכנות יש משתנה בשם ans אשר משתנה עם כל פתרון גם אם הפתרון לא מוצג:

>>5+2
ans=
7
>>5+3;
>ans
8

אסור להגדיר אותו בתור משתנה, הדבר יגרום לבעיות רבות.


כדאי לדעת:

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