תכנות נומרי עם Matlab ו-Octave/מערך תאים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שומבלע (שיחה | תרומות)
שומבלע (שיחה | תרומות)
אין תקציר עריכה
שורה 3:
{{להשלים}}
הקדמה
== בניית מערך תאים ==
דמיינו מטריצה שהאברים בה הם גם מחרוזות , גם מספרים וגם מטריצות או וקטורים.
 
שורה 52:
 
שימו לב שיש תאים ריקים.
 
הפניה לתאים במערך מתבצעת עם סוגרים מסולסלים , לא כמו פניה לתאים במטריצות ווקטורים.
 
נפנה לתא 3,3 ו 1,1
<source lang="text">
octave:7> a{3,3}
ans =
 
1 1
1 1
 
octave:8> a{1,1}
ans = 180
</source>
 
מה יקרה אם נשתמש בסוגרים עגולות?
<source lang="text">
a(3,3)
</source>
במקרה הזה נקבל את מימדי תוכן התא , במקרה הזה 2*2.
{{הערה|האופציה הזו לא פועלת באוקטב}}
 
 
ניתן לבנות מערך תאים ללא שימוש בפקודה cell כך:
שורה 133 ⟵ 111:
 
Total is 6 elements using 184 bytes
 
</source>
 
==פניה לתאים במערך==
הפניה לתאים במערך מתבצעת עם סוגרים מסולסלים , לא כמו פניה לתאים במטריצות ווקטורים.
 
נפנה לתא 3,3 ו 1,1
<source lang="text">
octave:7> a{3,3}
ans =
 
1 1
1 1
 
octave:8> a{1,1}
ans = 180
</source>
 
מה יקרה אם נשתמש בסוגרים עגולות?
<source lang="text">
a(3,3)
</source>
במקרה הזה נקבל את מימדי תוכן התא , במקרה הזה 2*2.
{{הערה|האופציה הזו לא פועלת באוקטב}}
==פניה לתאים בתוך תאי המערך==
 
נבנה תחילה מערך תאים ונפנה לתא במקום 1,2 :
<source lang="text">
octave:8> c={eye(3),magic(5),ones(3);[0,0,1],'no','yes'};
octave:9> c{1,2}
ans =
 
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
 
</source>
 
אם אנו רוצים לפנות לתא בתוך המטריצה נשתמש בסוגרים עגולות לאחר הפניה לתא במערך:
<source lang="text">
 
octave:10> c{1,2}(3,3)
ans = 13
 
</source>
שורה 142 ⟵ 165:
אתחול מערך תאים. דוגמא למעלה.
 
===iscell===
 
מחזירה 1 אם המשתנה הוא מערך תאים ו- 0 אם לא.
 
===iscellstr===
מחזירהפונקציה trueלוגית שמחזירה 1 אם כל התאים במערך תאים (אותו הפונקציה מקבלת) מכילים מחרוזות ו-0 אם לא.
 
{{להשלים}}
<source lang="text">
octave:24> c={'day','good';'no','yes'};
טקסט
octave:25> iscellstr(c)
ans = 1
octave:26> c={'day','good';'no',6};
octave:27> iscellstr(c)
ans = 0
 
</source>