שאלה בMATLAB

  • פותח הנושא pdib
  • פורסם בתאריך

pdib

New member
שאלה בMATLAB ../images/Emo26.gif

שלום, הגדרתי פונקציה f במטלב, כעת בניתי קובץ חדש, וכשאני כותב שורת השמה של הערך שמחזירה הפונ' לתוך משתנה מסויים אני מקבל ERROR. מדוע? איך אני מתקן זאת?
 

pdib

New member
סבבה...../images/Emo26.gif

??? One or more output arguments not assigned during call to 'd:\MATLAB7\work\f.m (f)'. Error in ==> ppp at 1 y=f(1000)​
f לבד עובדת. ב-ppp יש בסה"כ פקודת אחת, פקודת ההשמה.
 

khaydarin

New member
כמו שזה נראה

f לא מחזירה איזהשהוא ערך שהתוכנה אמורה להציב ב-y.
 

pdib

New member
למה? ../images/Emo26.gif

הפונקציה מחשבת את סיגמה(1/i) כאשר i רץ מ-1 עד n עבור n שהפונ' מקבלת. אז למעשה הפונ' מחזירה סקלר. אז למה אי אפשר לעשות כאן השמה?
 

pdib

New member
סבבה../images/Emo26.gif

function y= f(N) s=0; for i= 1:N s=s+1/i; end​
 

khaydarin

New member
אוקיי

y הוא המשתנה שהפונקציה מחזירה אבל לא הצבת בו שום ערך בסוף הפונקציה.
function y= f(N) s=0; for i= 1:N s=s+1/i; end y=s;​
 

khaydarin

New member
ובכלל...

ל-matlab יותר נוח עם מטריצות, לולאות for קצת כבדות עליה. נסה את זה -
function y = f(N) y = sum(1./(1:1:N));​
 
למעלה