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