תוכן שנמחק תוכן שנוסף
שומבלע (שיחה | תרומות)
שומבלע (שיחה | תרומות)
שורה 100:
* [[משתמש:שומבלע/help|דפי עזרה של אוקטב]]
* [[משתמש:שומבלע/נספח|נספח]] - להכין תוך שימוש בדפי העזרה.
 
משתנים ללא תוכן (בניית פונקציות)
ניתן לבנות פונקציות מתמטיות עם שימוש בתו @
 
מבנה
<source lang="text">
<משתנה2><פעולות מתמטיות><משתנה1> (<משתנה2>,<משתנה1>)@=<שם הפונקציה>
</source>
 
 
נבנה פונקציה y=2+x
<source lang="text">
>>y = @(x) 2+x;
>>y(2)
ans = 4
</source>
נבדוק x=2
<source lang="text">
ans=
y(2)
</source>
אם רוצים לראות את הפונקציה שיצרנו :
<source lang="text">
>>y
y =
 
@(x) 2 + x
</source>
כעת נבדוק מיהו y
<source lang="text">
octave:20> whos y
 
*** local user variables:
 
Prot Name Size Bytes Class
==== ==== ==== ===== =====
rwd y 1x1 0 function_handle
 
Total is 1 element using 0 bytes
 
 
</source>
 
שימו לב שאין השפעה על משתנה בשם x:
<source lang="text">
octave:39> x
error: `x' undefined near line 39 column 1
</source>
לא קיים משתנה בשם הזה. אם היה קיים, הוא לא היה מושפע מהפונקציה.
 
דוגמה נוספת:
<source lang="text">
octave:23> y=@(a,b) (a+b)^2
y =
 
@(a, b) (a + b) ^ 2
octave:26> y(1,2)
ans = 9
 
</source>
כאשר קיים יותר ממשתנה אחד בפונקציה, צריך לפנות אליהם לפי סדר ההופעה בהגדרה.
ניתן להשתמש במשתנים יותר מפעם אחת :
<source lang="text">
octave:32> y=@(a,b) (a+b)^2+ab
y =
 
@(a, b) (a + b) ^ 2 + ab
 
octave:33> y(1,4)
error: `ab' undefined near line 32 column 18
error: evaluating binary operator `+' near line 32, column 17
error: called from `?unknown?'
 
</source>
 
התוכנה לא מכירה את הביטוי ab ומתייחסת אלו בתור משתנה חדש
 
נשתמש בסימן הכפל:
<source lang="text">
octave:33> y=@(a,b) (a+b)^2+a*b
y =
 
@(a, b) (a + b) ^ 2 + a * b
 
octave:34> y(1,4)
ans = 29
 
</source>
 
נבדוק עם מספרים מרוכבים:
<source lang="text">
octave:27> y(5+2i,8)
ans = 165 + 52i
 
</source>
 
ניתן ליצור פונקציות מורכבות לדוגמה: