תכנות נומרי עם Matlab ו-Octave/מערכים: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
|||
שורה 13:
== מערך חד מימדי ==
אחד השימושים במערך חד מימדי הוא ייצוג של וקטור מתמטי. כאשר למעשה הוקטור הוא בגודל 1*n כאשר n הוא מספר העמודות או התאים במערך.
{{הארה
|כדאי להרחיב את הידע ב[[וקטורים|וקטורים מתמטיים]].}}
וקטורים חד מימדיים בMatlab או Octave מייצגים, בין השאר, וקטורים מתמטיים (לדוגמה <math dir = "ltr>[1, 2, 4]</math>).
אפשר לבנות מערך ע"י זוג סוגריים מרובעים, שביניהם איברים מופרדים ברווחים או פסיקים. לדוגמה:
<source lang="text">
octave:21> [1, 2, 6]
ans =
1 2 6
</source>
מייצר וקטור בעל 3 איברים: 1, 2, ו6.
===פעולות על וקטורים===
אפשר לקשר משתנה לוקטור, לדוגמה כך:
<source lang="text">
octave:22> x = [1, 2, 6]
x =
1 2 6
</source>
ניגשים לאיבר בוקטור על ידי סוגריים עגולים. '''בניגוד''' לרוב שפות התכנות, האיבר הראשון בוקטור הוא באינדקס 1, לא 0. לדוגמה, כדי להפוך את איברו השלישי של הוקטור ל0, נרשום זאת:
<source lang="text">
octave:22>x(3) = 0
x =
1 2 0
</source>
כדי לכפול כל אחד מאיברי וקטור במספר, משתמשים באופרטור {{קוד בשורה|.*}} (שימו לב לנקודה לפני הכוכבית). לדוגמה:
<source lang="text">
x .* 5
ans =
5 10 0
</source>
בצורה דומה אפשר לחבר מספר לכל אחד מאיברי וקטור, לחסר מספר מכל אחד מאיברי וקטור, וכולי.
===יצירת וקטור בדילוגים===
אפשר ליצור וקטורים של מספרים בדילוגים קבועים בצורה:
<source lang = "text">
<first> : <skip> : <last>
</source>
כאשר:
*first הוא ערך האיבר הראשון
*skip הוא ערך הדילוג
*first הוא ערך האיבר האחרון
(אין צורך לסגור בסוגריים מרובעים.)
<source lang="text">
>> v=1:2:20
v =
1 3 5 7 9 11 13 15 17 19
>> v=20:-0.5:15
v =
Columns 1 through 8:
20.000 19.500 19.000 18.500 18.000 17.500 17.000 16.500
Columns 9 through 11:
16.000 15.500 15.000
</source>
אם מדלגים ב-1 אפשר להשמיט את הפרמטר האמצעי (אך לא ב 1-).
<source lang = "text">
octave:12> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
</source>
=== יצירת וקטור ריק ===
כמו באתחול מערך, לפעמים צריך ליצור וקטור ריק שלתוכו יוכנס לאחר מכן. לשם כך משתמשים בסוגרים מרובעים ללא תוכן:
<source lang="text">
s=[]
s = [](0x0)
</source>
==פונקציות לוקטורים==
=== linspace ===
בניית וקטור לפי: {{קוד בשורה|linspace (BASE, LIMIT, N)}} . כאשר base הוא המספר ממנו מתחילים, limit זה מספר היעד ו n זה מספר הרווחים
<source lang="text">
octave:45> linspace(1,2,3)
ans =
1.0000 1.5000 2.0000
</source>
=== logspace ===
כמו ב linspace רק שכאן החישוב הוא לפי בסיס לוגריתמי .
<source lang="text">
octave:46> logspace(2,4,5)
ans =
1.0000e+02 3.1623e+02 1.0000e+03 3.1623e+03 1.0000e+04
</source>
=== length ===
הפונקציה מחזירה אורך של וקטור (וגם של משתנה מסוג string) .דוגמה:
<source lang="text">
vec=1:5:100
length(vec)
ans=
20
</source>
== מערך דו מימדי ==
|