מעבר לתוכן

מטלאב ?!? מישהו ??


gloria

הודעות מומלצות

אהה... שכחתי לציין,

 

הפונקציה קולטת פרמטר n  (מספר שלם) ומחזירה מערך שורה a של מספריים חד ספרתיים אשר שווים בהתאמה לספרות ב n

 

לדוגמא : 8427 = n   הפונקציה   תחזיר [   7    2  4  8]=a

קישור לתוכן
שיתוף באתרים אחרים

הקריאות הרקורסיביות ממשיכות, אבל הפונקציה לא מגיעה לשלב שבו היא צריכה להחזיר משהו.

כשהיא מגיעה סוף סוף לשלב שבו היא צריכה להחזיר משהו היא תקועה, כי לא נתת לה שום דבר להחזיר.

 

נניח שהמספר שלך הוא 8427.

אז הפונקציה תחלק אותו בעשר ארבע פעמים עד שתגיע ל-0.8427, ושם היא תתקע כי לא נתת לה שום דבר לעשות בשלב הזה.

a לא מקבל שום ערך בתוך ה-if שלך לפני ה-return. את מסיימת את הפונקצייה הרקורסיבית הפנימית בלי לתת ערך ל-a.

קישור לתוכן
שיתוף באתרים אחרים

לאורך כל ביצוע קריאות הרקורסביות נכנסים ערכים ל a  לא ?!? 

הוא לא אמור להציג את מה שהיה לו בתוך a עם היציאה מהפונקציה ?

 

ניסיתי להוסיף (a)disp  ל if  אך מתלאב מחזיר לי שגיאה "Undefined function or variable "a".

 
קישור לתוכן
שיתוף באתרים אחרים

לא. בקוד שלך ההצבות ל-a מופיעות רק אחרי הקריאה הרקורסיבית לפונקציה. זאת אומרת שעד שאין את היציאה הראשונה (מה שמופיע ב-if) אין שום הצבה ב-a.

...למעשה Matlab צודק בהחלט. a אפילו לא מוגדרת כשהוא מגיע ל-Return ההוא.

קישור לתוכן
שיתוף באתרים אחרים

הצטרפות לשיח

באפשרותך לשלוח הודעה כעת ולהירשם מאוחר יותר. אם ברשותך חשבון, ניתן להתחבר עכשיו לשליחת הודעה דרך חשבונך.
הערה: הודעתך דרושה לאישור הנהלה לפני הצגתה.

אורח
הוספת תגובה

×   הדבקה כטקסט עשיר.   הדבקה כטקסט רגיל במקום

  מאושרים אך ורק 75 סמייקונים.

×   הקישור שלך מוצמד אוטומטית.   הצגה כקישור במקום

×   תוכן הקודם שלכם שוחזר.   ניקוי עורך

×   You cannot paste images directly. Upload or insert images from URL.

טוען...
×
×
  • יצירת חדש...