שיחה:88-151 שימושי מחשב תשעב סמסטר אביב/שאלות ותשובות

מתוך Math-Wiki
גרסה מ־08:00, 17 במאי 2012 מאת R.s141095 (שיחה | תרומות) (תרגיל 7 שאלה 1: פסקה חדשה)

קפיצה אל: ניווט, חיפוש

חזרה לדף הקורס


גלול לתחתית העמוד


הוספת שאלה חדשה

הוסף שאלה חדשה (רשום כותרת לשאלה, רשום את תוכן השאלה ולחץ על שמירה למטה מימין לסיום).

-עזרה על עיצוב הטקסט וכתיב מתמטי תוכלו למצוא כאן

אם אתם רוצים לשאול שאלה עליכם ליצור חשבון משתמש באתר.

ארכיון

ארכיון 1 - תרגילים 1-2.

ארכיון 2 - תרגיל 3.

ארכיון 3 - תרגיל 4-5.

שאלות

מה זה קובץ .asv

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

קובץ asv הוא קובץ בו נשמרים שינויים אחרונים שעשית בתוכנה שלך. כך במקרה של סגירת matlab ללא שמירת קוד, עדיין יישאר לך קוד אחרון. אם אתה לא צריך את זה, אפשר לכבות את זה: File -> Preferences -> Editor/Debugger -> Autosave. --Grisha 06:57, 8 במאי 2012 (IDT)

תרגיל 5 שאלה 1

יוצא לי לפעמים במרחב אותונורמלי אחרי שאני מכניס רשימה של ווקטורים (שאני לא יודע אם הם בסיס אני מכניס באופן רנדומלי) אז יוצא פתאום אחרי התהליך של גרהם שמידט וקטורים עם רכיבי NAN ז"א שמה שהכנסתי בתור מרחב כלשהו זה בכלל לא מרחב? או שאפשר להכניס כל רשימה של ווקטורים והם יהוו מרחב כלשהו?

תודה

NaN יכול לצאת אם אתה מחלק 0 ב- 0. תבדוק אם זה קורה. --Grisha 22:26, 8 במאי 2012 (IDT)

אז יכול להיות עדיין שהפונקציה נכונה כלומר עבור מטריצות מסויימות כלומר רשימה של וקטורים שיוצרת מרחב זה יכול לקרות נכון?

לא הבנתי אותך. תשלח לי את הקוד עם הקלט שמייצר את השגיאה. --Grisha 23:07, 8 במאי 2012 (IDT)

תודה, האם אפשר לשלוח לך למייל? כי זה יוצא די מבולגן

תשלח לאימייל. --Grisha 20:19, 9 במאי 2012 (IDT)

שאלה אחרונה

שאתם אומרים לפתור בשתי שיטות את המשוואות למה אתם מתכוונים? עם שתי פונקציות שונות? pinv ו inv או לעשות A/b ?

דיברנו על שתי שיטות לפתור את מערכות משוואות ליניאריות ב- Matlab. אז מתכוונים בדיוק לזה - לשיטות. תבחר בעצמל איך לממש את זה, סקריפט, פונקציה, מספר פונקציות וכו'... --Grisha 20:22, 9 במאי 2012 (IDT)

כן, רק השאלה היא: האם ב"שיטות" אתם מתכוונים לאיזה פונקציה מובנית אני משתמש?

פיתוח לפי מינורים

הכוונה לפיתוח לפי שורה/עמודה? האם האלגוריתם הזה הוא רקורסיבי ? כי אני לא רואה דרך אחרת לעשות אותו. מותר לי לדרג את המטריצה לפני כן, או שאני חייב ישר לתפוס עמודה/שורה ולפתח לפיה ? ושכתבתם "תשוו עם det" התכוונתם רק להשוואה של זמן החישוב כן? (כי משם משתמע כאילו יש כמה דרישות)

זה לא חייב להיות רקורסיבי, אך כן - זאת הדרך הטבעית יותר.
אפשר לדרג את המטריצה רק כשאתה משווה הסיבוכיות של שני האלגוריתמים, שלך ושל matlab, חשוב שירוצו באותם התנאים.
להשוות זה כן להשוות את התוצאות וגם את הסיבוכיות. --Grisha 06:56, 10 במאי 2012 (IDT)

כן , השאלה היא כמה אתם מצפים, וכמה מותר לי, להיעזר במה שמטלב נותן לי. אם מותר לי לדרג, אז אני פשוט ישתמש בפונקצית דירוג, ויכפיל את איברים באלכסון. קל מידי. זה מותר? עריכה: עוד שאלה, למה התכוונת "באותם התנאים" ?

בשאלה כתוב - שיטת מינורים. זה אומר שאתה צריך לממש את שיטת המינורים ולא שיטות ומשפטים אחרים.
אתה יכול לתכנת ככה את פיתוח לפי מינורים שהוא יידע לעבוד עם מטריצות שיש שם הרבה אפסים (זאת לא דרישת השאלה).
אותם תנאים - זה אומר שגם פונקציה שלך וגם פונקציה det מקבלים את אותה המטריצה בדיוק. --Grisha 09:09, 12 במאי 2012 (IDT)

תרגיל 6 שאלה 3

במשוואת המישור יש גם a וגם \alpha, זה מכוון? או שהa אמורה להיות גם \alpha?

a זה \alpha. טעות הקלדה. --Grisha 09:59, 11 במאי 2012 (IDT)

תרגיל 6 שאלה 2,1

MATLAB יודע לעבוד עם רקורסיה? וחוץ מזה האם ניתן להשתמש בפעולה pinv??

כן, יש רקורסיה ב- Matlab. כן, מותר להשתמש ב- pinv. --Grisha 23:42, 11 במאי 2012 (IDT)

שאלה 3 בתרגיל 6

מה הפקודה pinv עושה?

ההסבר ניתן בתרגולים ואפשר למצוא אותו במצגות. חוץ מזה - help pinv ייתן הסבר של מפתחי Matlab לשאלה זו. --Grisha 23:43, 11 במאי 2012 (IDT)

תרגיל 6 שאלה 4

האם הכוונה היא לשימוש באופרטור \ וב pinv או שהכוונה לשימוש ב solvef?

איני מכיר פקודה solvef, יש פקודה fsolve, אך עוד לא למדנו אותה. אנחנו בנושא של אלגברה ליניארית ושיטות הן שיטות של אלגברה ליניארית, כפי שנלמדו בהרצאה ובתרגול. --Grisha 23:46, 11 במאי 2012 (IDT)

תרגיל 6 שאלה 2

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

ברור שאסור להשתמש בפקודת det!!! אחרת זאת לא תהיה שיטת מינורים, אלא פשוט שימוש בפקודה מובנית. המטרה לכתוב פונקציה מקבילה ל- det ולבדוק את היעילות שלה ביחס ל- det. --Grisha 23:48, 11 במאי 2012 (IDT)

הבוחן

מה אם החומר לבוחן? מתי יפורסמו שאלות לדוגמא וכו ...

עד אלגברה ליניארית. בקרוב. --Grisha 23:52, 11 במאי 2012 (IDT)

תרגיל 6 שאלה 2-מציאת הסיבוכיות

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

השאלה הזאת חוזרת על עמצה כל הזמן. אתם לא מחשבים את הסיבוכיות אלא מעריכים אותה לפי זמן ריצה עבור קלטים בגודל שונה. עושים את זה ע"י פקודות tic ו- toc. --Grisha 14:28, 12 במאי 2012 (IDT)
ואיך מעריכים O(n!)?
אתה מגדיל גודל של הקלט ומודד זמן. אחרי זה אתה משרטט את הגרף הזמן כפונקציה של גודל הקלט ואם מקבל גרף אם שיפוע קרוב לערך קבוע (לא תקבל ממש קו ישר, אבל משהו שקרוב לקו ישר) - אז הסיבוכיות O(n). --Grisha 17:44, 12 במאי 2012 (IDT)
התכוונתי לO(n!), איך מעריכים אותה? (ההסבר היבש פחות בעייתי)
לא שמתי לב לסימן קריאה. קודם כל, תשרטט את הגרף של עצרת. לאחר מכך, תביט ב נוסחא הזאת. על הסיבוכיות של פעולות מתמטיות אפשר לקרוא כאן. --Grisha 18:14, 12 במאי 2012 (IDT)

תרגיל 6 שאלה 3

לא הבנתי איך הפקודה pinv תעזור לי למצוא מרחק בין הנק' למישור... הרי אפשר פשוט למצוא את הווקטור המאונך למישור שעובר בראשית הצירים ( במקרה שלנו זה הווקטור (2,7a/10, 1) ) (a זה אלפא) ואז פשוט מציבים אותו כפול סקלר t במשוואה, וקיבלנו משוואה עם נעלם אחד.

מהו חילוק מטריצות?

אפשר הסבר על פעולת "חילוק" מטריצות? לא הצלחתי להבין מה help. מה זה מוצא, ומה המטריצות המחולקות צריכות לקיים. ומה ההבדל בין A/b לבין A\b (ה '\' בכיוונים הפוכים). שמתי לב ששניהם קיימים, ומבצעים משהו שונה, מה ההבדלים ביניהם?

אתה מוזמן להסתכל למצגות של תרגולים. --Grisha 13:34, 13 במאי 2012 (IDT)

שאלה 3

האם אני צריך לכתוב פונקציה שמקבלת את אלפא כפרמטר, ואז לשלוח לפונקציה ערכים בין -10 ל 10 ? יש סיבה שבחרתם את אלפא דווקא בקטע הזה או שזה שרירותי?

המישוש שלך. העיקר שזה יעבוד ועדיף אם יעבוד יעיל. --Grisha 18:30, 13 במאי 2012 (IDT)

ועכשיו לשאלות שלא הבנתי : אני מניח ש"הדרך הרגילה" שהתכוונתם היא ע"י הצבת בנוסחה של מרחק נקודה ממישור (מצאתי באינטרנט)? אז לא ברור לי מה היא הדרך עם pinv. ואיך הפונקציה הזו קשורה. אני הרי צריך למצוא את אורך האנך מראשית הצירים למישור. איך זה אמור להיות קשור ללפתור מערכת משוואות? אפשר הכוונה או שאולי אני לא מבין משהו?

פונקציה pinv לא פותרת מערכת משוואות ליניארית, היא מוצאת מטריצה פסאודו-הופכית. --Grisha 18:30, 13 במאי 2012 (IDT)

עריכה : עוד משהו, אני אמור לכתוב 2 פונקציות שונות, כן? אחת לכל שיטה? (הרגילה, ועם pinv שעוד לא ברור איך עושים את זה איתו )

המישוש הוא לבחירתך. אפשר שתי פונקציות, אפשר אחת, אפשר סקריפט. --Grisha 18:30, 13 במאי 2012 (IDT)

אוקיי, אבל איך pinv אמורה בדיוק לעזור לי למצוא מרחק ?

זאת בדיוק השאלה שאתה צריך לענות עליה. --Grisha 19:04, 13 במאי 2012 (IDT)

כן , אבל אני כבר לא מוצא פתרון לזה . פתרתי בדרך הרגילה (ע"י הצבה בנוסחה) ועובד לי. אני לא רואה איך להפוך מטריצה עוזר לי למצוא מרחק. אפשר לפחות רמז ? הסתכלתי גם במצגת - אין הכוונה. ואני לא רואה דרך לעשות זאת. אני תקוע |

pinv עובד גם על המטריצות וגם על וקטורים. תמצא (אם אתה לו מכיר) נוסחא למרחק בצורה וקטורית. --Grisha 19:16, 13 במאי 2012 (IDT)

שאלה על הבוחן

מי מכין אותו, אתם המתרגלים, או המרצה?

למה זה חשוב? --Grisha 19:05, 13 במאי 2012 (IDT)

סתם לדעת למה לצפות (בכל זאת אתם הבאתם את השאלות חזרה)

נגדיר את זה ככה - אנחנו, גם המרצה וגם המתרגלים, הכננו את הבוחן ואת שאלות החזרה. --Grisha 17:35, 14 במאי 2012 (IDT)

הבוחן

האם הבוחן יהיה עם חומר פתוח? והאם הוא יהיה מול מחשב? תודה

חומר סגור, לא מול מחשב. --Shimi 11:16, 14 במאי 2012 (IDT)
מה זה אומר חומר סגור? אני יכול להביא חומר מודפס משלי?
לא. זה מה שנקרא חומר סגור. יהיו לכם: שאלון, דפי טיוטה ועט. --Grisha 20:38, 14 במאי 2012 (IDT)

מה זה מטריצה פסאדו-הפיכה?

לא הבנתי מה זה בדיוק

אתה מוזמן להסתכל במצגות וב- help של Matlab. ללא פירוט, אם A מטריצה כלשהי (לאו דווקא ריבועית), אז A*pinv(A)=I, אך pinv(A)*A \ne I. --Grisha 20:54, 13 במאי 2012 (IDT)

בקיצור זה הפיכה מצד אחד ?

כן. --Grisha 17:33, 14 במאי 2012 (IDT)

שאלה 2

האם אסור בכלל להשתמש ב-det? אני לא מבין איך אפשר לפתור את השאלה ללא שימוש ב-det בכלל, הרי אפילו בשיטת המינורים, לאחר שאתה מחלק את המטריצה לפי 'חילוק' של עמודה ושורה שאתה מוחק-אתה עושה דטרמיננטה לכל מטריצה שהתקבלה..

אם המטריצה שהתקבלה לאחר הסרת שורה-עמודה היא מגודל 2X2 הנוסחא היא פשוטה, אם גדולה מכך תפעיל גם עליה את שיטת המינורים. (תהליך רקורסיבי) --Shimi 11:20, 14 במאי 2012 (IDT)

אבל לא למדנו רקורסיה

א) אפשר לכתוב את זה ללא רקורסיה אלא ע"י לולאות ותנאים.
ב) למדנו איך כותבים פונקציות - רקורסיה זהו המקרה כאשר פונקציה קוראת לעצמה. --Grisha 20:28, 14 במאי 2012 (IDT)

איך להשתמש ב pinv בשאלה 3?

לא מבין מה אתם רוצים שאעשה עם הפקודה. פתרתי רק בדרך הרגילה. מצאתי את הנוסחה הזאת, בדף הזה, של מרחק של נקודה ממישור (בהצגה השנייה, לא הרגילה): http://he.wikibooks.org/wiki/%D7%9E%D7%AA%D7%9E%D7%98%D7%99%D7%A7%D7%94_%D7%AA%D7%99%D7%9B%D7%95%D7%A0%D7%99%D7%AA/%D7%95%D7%A7%D7%98%D7%95%D7%A8%D7%99%D7%9D/%D7%97%D7%99%D7%A9%D7%95%D7%91%D7%99_%D7%9E%D7%A8%D7%97%D7%A7%D7%99%D7%9D

אבל אני עדיין לא מבין איך pinv קשור לעסק. אולי תסבירו למה אתם מתכוונים ?

תר' 6 שאלה 1

בדוגמאות, צריך 'לטפל' בקלט ולגרום לו להיראות מלכתחילה דומה לפרבולה?

אם כן, איך עושים את זה בצורה יותר מתוחכמת מלהוסיף מספר רנדומלי לפונק' שרוצים לקבל?

לא 'מטפלים' בקלט. אם תעשה אותו יותר דומה לפרבולה אז תשנה אותו, נכון? והתבקשת לקרב את מה שקיבלת ע"י משוואה ריבועית. ברור שבמקרה שהקלט יהיה רחוק מהצורה הפרבולית, תקבל התאמה גרועה. --Grisha 17:38, 14 במאי 2012 (IDT)

ריבועים מינימליים

למה במצגת השתמשתם ב randn  ? למה להגריל מספרים בכלל ? לא הבנתי מה עושה השיטה עדיין חוץ מלקרב איכשהו אוסף של נקודות לגרף. כלומר לא הבנתי איך היא פועלת..

האם אתה מגיע לתרגולים או שרק מסתכל על המצגות. מצגות לא מסבירות את עצמם בצורה מספקת וחשוב גם להקשיב להסברים הניתנים בתרגול. במקרה שאתה מדבר, הגרלתי מספרים כך שיתאימו לפונקציה הקירוב שבחרתי - f(x)=a\cdot sin(x) + b\cdot cos(x). לא צריך להגריל שום דבר ולא עם הפונקציה randn בפרט, פשוט הייתי צריך הרבה נקודות ולא רציתי לכתוב אותם ידנית.
לגבי איך השיטה עובדת ולמה זה נכון, אני ממליץ לחזור אל החומר שקיבלתם בהרצאה ואם הוא לא ברור אז לבוא לשעות הקבלה למרצה או לאחד המתרגלים. כמו כן, יש שפע של חומר בנושא גם בספרים וגם באינטרנט. --Grisha 18:38, 14 במאי 2012 (IDT)

תרגיל 6 שאלה 4,א

עשיתי בשיטת A/b ובשיטת x=inv(A)*b חוץ מהקטע של קבלת זמן התשובה לא ידוע לנו מה הפעולות הללו עושות באמת ולכן אין לי מה לכתוב בתשובה למה שתי הפתרונות זהים... , נכון?

תודה

אם פתרון יחיד, אכן שתי שיטות מוצאות את אותו הפתרון. אנחנו כן דיברנו על השיטות ואני מקווה שאמור להיות מושג מה הפקודות האלה עושות באמת. לדוגמא, פקודת inv(A) מוצאת מטריצה הופכית למטריצה A. וכמו שאתם יודעים מאלגברה ליניארית, אם יש למערכת משוואות A\cdot x = b פתרון יחיד, אז המטריצה A הפיכה ולכן הפתרון הוא x=A^{-1}\cdot b. לגבי פעולה '\' אכן לא הסברנו איך היא עובדת אך הסברנו מהן תכונות של הפתרון שהיא מחזירה. --Grisha 18:28, 14 במאי 2012 (IDT)

תרגיל 6 שאלה 4

בחלק של הבדיקה. אם אני דורש ש Ax=b זה יוצא לי בסעיף א' שזו תשובה שגויה עבור הדרך עם הpinv, זאת מכיוון שהמטלב טיפה סוטה בתוצאה (סטייה של בסביבות 10^{-15} שזה האפסילון של מטלב). לפיכך, זה בסדר לדרוש Ax-b<10^{-14} או משהו קצת יותר גדול? זה לא יכול להוות בעיה במשוואות בעלות סתירה פנימית מסוימות (מכיוון שה pinv מחשב את הפתרון עם הנורמה הקטנה ביותר)?

אין כאן שום סתירה. דיברנו בתרגול שהרבה פקודות ב- Matlab מבצעות חישוב מקורב וחוץ מזה אי אפשר לייצג מספר אירציונלי (או אפילו רציונלי אינסופי) ע"י מספר סופי של ספרות, לכן הרבה פעמים נקבל שגיאות דיוק בסדר גודל של 10^{-14} - 10^{-16}. --Grisha 20:31, 14 במאי 2012 (IDT)
דיברתי על הסטייה. השאלה מה תקין לדרוש בתכנית בדיקה, והאם במקרה כזה שמאפשרים סטייה לא יכול לקרות מצב שהתכנית בדיקה שלנו תקלוט תשובה שגויה כתשובה תקינה?
תיאורטית זה יכול לקרות. אתה רשאי להניח שבמקרה שלנו זה לא קורה. --Grisha 20:40, 14 במאי 2012 (IDT)

שאלה 6 ב

למקרה של אינסוף פתרונות אמרנו ש A/b מחזיר וקטור פתרונות בעל מספר מקסימלי של אפסים מה קורה שבכל הפתרונות אין אפסים מה הוא מחזיר? תודה

הוא מחזיר וקטור שהוא פתרון. כיוון שאנו לא יודעים מהו האלגוריתם של הפונקציה, לא יודעים איך הוא בוחר את הפתרון. --Grisha 20:36, 14 במאי 2012 (IDT)

pinv

1)מהי הנוסחה המפורשת לחישוב pinv של מטריצה? זה לא כתוב בhelp.

2) האם pinv יחידה מתמטית?

3)נתקלנו בהרצאה/תרגול בנוסחה A^t(AA^t)^{-1}. מה היא? למה היא משמשת? היא אינה נוסחה לpinv, שכן AA^t יכולה להיות לא-הפיכה.

במקרה כאשר A^T \cdot A הפיכה, pinv(A) = (A^T \cdot A)^{-1} \cdot A^T. את ההגדרה הפורמלית אפשר למצוא כאן: קישור 1 או קישור 2 או להסתכל בסרטון. --Grisha 22:20, 14 במאי 2012 (IDT)
אז מה שכתוב בhelp הוא בכל זאת הנוסחה. תודה, זה ממש מעניין.

בוחן

מה יהיה אורך הבוחן?

4 שאלות. --Grisha 21:25, 15 במאי 2012 (IDT)
התכוונתי לאורך מבחינת זמן, די חשוב לי. תודה
שעה וחצי. --Grisha 08:13, 16 במאי 2012 (IDT)

בקשר לשאלות הכנה לבוחן

שאלה 2 - N שווה למספר הרכיבים בx? תודה

כן. --Grisha 19:43, 16 במאי 2012 (IDT)

שאלות הכנה לבוחן שאלה 4 exam2

לא היה צריך לרשום:

[k j]=ind2sub(size(A),I)

במקום:

[k j]=ind2sub(I,size(A)
כן, אתה צודק. --Grisha 23:15, 16 במאי 2012 (IDT)

תירגול

מתי יעלו את המצגת האחרונה?

שאלה 6 בשאלות הכנה לבוחן

בתשובה לשאלה מסוג זה צריך להביע תיאור מילולי כללי עם תרשים זרימה? או שהפלט הוא קונקרטי?

תודה

צריך להסביר מה עושה פקודה (אפשר גם בלי תרשימי זרימה) ואם תוגדר מטריצה A, צריך גם לחשב את הפלט. --Grisha 23:18, 16 במאי 2012 (IDT)

שאלה 8 בהכנה לבוחן

התכוונתם שנכתוב תוכנית נכון? ובקשר לשאלה זאת הכפל שמצד ימין זה לסכום את xi ואחרי זה לסכום את yi ואחרי זה להכפיל בין שניהם נכון ? לא משהו אחר?

סדר הפעולות האריתמטיות ב- Matlab הוא כמו בשאנחנו מכירים. סוגריים קודמים להכל, אחרי זה חזקות, אחרי כפל וחילוק ובסוף סכום והפרש. --Grisha 23:20, 16 במאי 2012 (IDT)

תרגיל 7 שאלה 1

הפונקציות מוגדרות על ווקטורים מאורך גדול שווה ל1 או רק לווקטורים מאורך 1(מספרים)?