תכנות נומרי עם 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

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


 

כדאי לדעת:

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