שיחה:88-151 שימושי מחשב תשעב סמסטר אביב/שאלות ותשובות
הוספת שאלה חדשה
הוסף שאלה חדשה (רשום כותרת לשאלה, רשום את תוכן השאלה ולחץ על שמירה למטה מימין לסיום).
-עזרה על עיצוב הטקסט וכתיב מתמטי תוכלו למצוא כאן
אם אתם רוצים לשאול שאלה עליכם ליצור חשבון משתמש באתר.
ארכיון
ארכיון 1 - תרגילים 1-2.
ארכיון 2 - תרגיל 3.
שאלות
בתרגיל 4, בשאלה ראשונה 2 שאלות:
- -אפשר להניח שהמשתמש מכניס את הוקטור של הטווח באופן שמתאים ל-mesh/surf, כלומר הוקטור יהיה מהצורה [minx,maxx,miny,maxy]?
- -איך אני יכול להכניס בתוך תנאי את העניין שנניח והמשתמש לא הכניס פרמטר מסוים?
- שאלה ראשונה - בניסוח השאלה כתוב שיש להעביר לפונקציה את התחום שבו רוצים להעביר אותה. כלומר, לא צריך להניח שמתמש עושה את זה, אלא יש לממש את הדבר.
- שאלה שנייה - אתה יכול למצוא את זה או ב- help של Matlab או במצגת של תרגול 3, איפה שמדברים על פונקציות. --Grisha 22:44, 24 באפריל 2012 (IDT)
תרגיל 4 שאלה 1
האם אפשר להעמיס שיטות? אחרת איך אפשר לא להעביר וקטור לפונקציה?
- על איזה שיטות מדובר? מה הכוונה - להעמיס? אין שום בעיה להעביר וקטור לפונקציה - לדוגמא - sin(x), כאשר x הוא וקטור. --Grisha 22:38, 24 באפריל 2012 (IDT)
- הבעיה היא שבשאלה דורשים לטפל במצבים שבו הקלט הוא חלקי, ואי אפשר סתם להתעלם מזה שהפונקציה צריכה לקלוט וקטור (מתקבלת שגיאה). לכן עולה השאלה, אם ניתן להעמיס את פונקציה שצריך לבנות? וזאת על מנת שנוכל לטפל גם במקרה כזה.
- אנחנו לא כותבים ב C++ אלא במטלב. ראה את ההסבר איך עושים את זה במצגת של תרגול 3, בפרק שמדבר על פונקציות. --Grisha 08:57, 25 באפריל 2012 (IDT)
- הסתדרתי, אבל צצה שאלה אחרת. באחת התשובות אמרת שאנחנו מקבלים וקטור שמייצג את התחום ואז לממש אותו לוקטור שמתאים לפונקציה, אבל בעצם אנחנו צריכים גם תחום בציר הx וגם בתחום בציר הy. איך העניין הזה מסתדר בעצם? האם הוקטור שאנחנו מקבלים הוא שירשור של שני התחומים? או שאנחנו מקבלים וקטור כפי שאנחנו צריכים לשלוח לezmesh\ezsurf?
- אנחנו לא כותבים ב C++ אלא במטלב. ראה את ההסבר איך עושים את זה במצגת של תרגול 3, בפרק שמדבר על פונקציות. --Grisha 08:57, 25 באפריל 2012 (IDT)
- ezmesh/ezsurf מקבל בתחום כל פורמט הגיוני...
- תממש מה שיותר נוח והגיוני בשלבילך. עדיף שתעשה דומה להגיון שממומש ב- matlab. --Grisha 21:13, 25 באפריל 2012 (IDT)
- הבעיה היא שבשאלה דורשים לטפל במצבים שבו הקלט הוא חלקי, ואי אפשר סתם להתעלם מזה שהפונקציה צריכה לקלוט וקטור (מתקבלת שגיאה). לכן עולה השאלה, אם ניתן להעמיס את פונקציה שצריך לבנות? וזאת על מנת שנוכל לטפל גם במקרה כזה.
לא קשור לשיעורי בית
איך אני משנה את השדה שאני רוצה לעבוד אתו?
- איזה שדה? שדה של מה? על מה בדיוק אתה מדבר? קצת הכוונה או דוגמא מאוד תעזור. --Grisha 22:44, 24 באפריל 2012 (IDT)
הכוונה לשדה אלגברי. לדוגמה אם אני רוצה שהחישובים שנעשים יעשו ב[math]\displaystyle{ \mathbb {Z}_5 }[/math]?
- באופן כללי אין אפשרות כזאת (או שאני לא יודע איך עושים דבר כזה). ספציפית, במקרה של [math]\displaystyle{ \Z_5 }[/math], אפשר לעשות כל הפעולות mod 5. --Grisha 09:01, 25 באפריל 2012 (IDT)
מה הבעיה לעשות mod בסוף כל חישוב?
- כיוון שאין לי מושג מה אתה רוצה לעשות, לא יכול לענות האם יש איזושהי בעיה. תסביר מה אתה עושה ומה אתה רוצה לקבל ואשתדל לעזור. --Grisha 23:15, 26 באפריל 2012 (IDT)
תרגיל 3 שאלה 4 בכלליות
למה נועדו הערכים אלפה וביתא?
- תשחק עם הפרמטרים, תצייר גרפים עבור [math]\displaystyle{ \alpha, \beta }[/math] שונים. --Grisha 09:03, 25 באפריל 2012 (IDT)
תרגיל 4 שאלה 2
איפה אפשר למצוא את הדוגמה שמסבירה על movie? או שהיא עדיין לא הועלתה?
- תתחיל מ- help של matlab. כמו כן אפשר לראות את הדוגמא שנתתי בתרגול (היא הועלה לאתר שלי). --Grisha 21:02, 25 באפריל 2012 (IDT)
- הדוגמה שנתת לא כוללת את הפקודה movie2avi. חובה להשתמש בה? אם כן, איך?
- help movie2avi. --Grisha 07:54, 26 באפריל 2012 (IDT)
- הדוגמה שנתת לא כוללת את הפקודה movie2avi. חובה להשתמש בה? אם כן, איך?
תרגיל 4 שאלה 1
הפונקציה מקבלת וקטור?
- בסעיף 2 של ההסבר כתוב שפונקציה מקבלת את התחום בצורת וקטור. --Grisha 21:10, 25 באפריל 2012 (IDT)
חייבים לפעול על פי ההדרכה?
- באופן כללי כן, אבל תסביר למה אתה מתכוון. --Grisha 21:10, 25 באפריל 2012 (IDT)
צריכים להתייחס גם למקרה שלא מקבלים את התחום? צריכים להתייחס גם למקרה שלא מקבלים את הפונקציה?
- צריכים להתייחס למקרה שלא מקבלים אף פרמטר. --Grisha 21:10, 25 באפריל 2012 (IDT)
- בסעיף 2 של ההסבר כתוב שפונקציה מקבלת את התחום בצורת וקטור.
כן אבל הפונקציה מקבלת 3 נתונים ולא וקטור
- כן. פונקציה מקבלת 3 נתונים כאשר אחד מהם וקטור. מה השאלה? --Grisha 23:13, 26 באפריל 2012 (IDT)
תרגיל 4 שאלה 1
האם אפשר להניח שהקלט תקין? (בהנחה ויש קלט כמובן)
- כן --Grisha 18:46, 26 באפריל 2012 (IDT)
2 שאלות-על שאלה 4
2 שאלות: -בשאלה 1: איך אני אמור לדעת איזה פרמטר המשתמש לא הכניס? כלומר,אני יודע שע"מ לדעת כמה פרמטרים המשתמש הכניס אני משתמש ב-nargin, אבל איך אני אמור לדעת איזה פרמטרים בדיוק הוא הכניס ע"מ לשים איזהשהו defult במקומם?
- אם הסדר הוא: ('function_name('x^2+2*y',[1 2 -1 3],'mesh, אתה רשאי להניח שהסדר נשמר ויכול לא להופיע קלט אחרון, או שני האחרונים או כל שלושתם, אך לא ייתכן שהקלט הראשון לא הועבר כאשר שני ושלישי כן. או, לחילופית, תבדוק איך עובד ביטוי varargin. --Grisha 18:56, 26 באפריל 2012 (IDT)
-בשאלה 2: יש איזה פונקציה שיוצרת אנימציה, בדומה ל-commet, אבל ב-3D?
- למשל ezplot3. יש עוד כמה. אך אפשר לייצר אנימציה פשוט ע"י שימוש חוזר בפקודות mesh, surf וכו'. --Grisha 18:56, 26 באפריל 2012 (IDT)
תודה:)
כשאמרתם פרמטר התכוונתם ל1 מנתוני הקלט?
כלומר או לפונקציה או לטווח או לserf/mesh?
תרגיל 4 שאלה 2
בשאלה 2, נניח והדבורה נמצאת ב9.7 ומתקדמת ב0.5 באותו כיוון היא תעצר על 10, או תגיע עד 10.2 ושם תעצר?
תרגיל 4 שאלה 2
"הציגו בעזרת subplot כעשרים מצבי ביניים במרווחים שווים." מה הכוונה במרווחים שווים? האם אתה מכיר פקודה במטלב שמחלקת את אינטרבל לקטעים שווים? --Grisha 12:19, 29 באפריל 2012 (IDT)
תרגיל 4 שאלה 2
איך אני יכול לצייר כמהפונקציות באותה מערכת צירים תלת מימדים גם אם אני משתמש בפקודת ציור שונה ?
- תשתמש בפקודה axis --Grisha 12:14, 29 באפריל 2012 (IDT)
else if
1)אפשר דוגמה למצב שבו יש הבדל בין כתיבת elseif לelse if? (המצגת מעורפלת בנושא)
- לא קיימת דוגמא כזאת. זאת השאלה של נוחית וגם סיבוך של הקוד. כש אתה כותב elseif, אתה נמצא במבנה if אחד, שזה אומר בין היתר שיהיה סה"כ end אחד בסוף. אם, לעומת זאת, תכתוב מספר פעמים else if, אז הקוד יהיה מסובך לקריאה ולהבנה. --Grisha 12:18, 29 באפריל 2012 (IDT)
2)כשמטפלים במקרים שונים של אותו משתנה, האם יש הבדל כלשהו (יעילות, מוסכמה) בין שימוש במבנה elseif לswitch? הרי switch תמיד ניתן להחלפה במבנה הנ"ל...
- אין, שאלה של נוחות גם לכותב וגם לקורא/בודק. אין יש מספר ערכים מדויקים שיש לבדוק, נוח יותר להשתמש ב- switch, אם צריך לבדוק תנאים מורכבים, אינטרוולים וכו', אז if עדיף. --Grisha 12:18, 29 באפריל 2012 (IDT)
איך אמורים לעלות סרט?
?????
- לאן? --Grisha 14:37, 29 באפריל 2012 (IDT)
תרגיל 4 שאלה 1
מה הכוונה ב2. התחום של הפונקצייה? תחום של z,x,y? בנפרד?
- תבדוק איך מוגדרת פונקציה exmesh או ezsurf. אם לא מוגדר במדויק, אלא רשאי לעשות איך שזה נוח לך. --Grisha 22:28, 29 באפריל 2012 (IDT)
תרגיל 4 שאלה 1
האם המחרוזת שמקבלים היא בעצם ציר z ואם כן איך אמורים להכניס לשם פרמטרים אם זה מחרוזת? ז"א את x ,y לא אמורים לקבל כקלט? תודה
- תבדוק איך מוגדרת פונקציה exmesh או ezsurf. --Grisha 22:30, 29 באפריל 2012 (IDT)
בקשר לפונקציות ezsurf,ezmesh
מה קובע את ציר הz הפונקציה שאנו מכניסים?
תודה
- את ציר ה- z קובעת הפונקציה שאתה מכניס. למעשה z=f(x,y). --Grisha 06:56, 30 באפריל 2012 (IDT)
בקשר לnargin
אני יודע שלדוגמא שnargin =2 אז למשתנה הקלט הימני ביותר רק נכנס משהו אבל איך אני בודק אם רק למשתנה לדוגמא באמצע רק נכנס משהו ולשאר לא? כדי לעשותם ברירת מחדל או שמה שאתם התכוונתם זה רק להניח שהסדר נשמר ויכול לא להופיע קלט אחרון, או שני האחרונים או כל שלושתם? ובכל אופן בהמשך לשאלה הזו בשימוש בvarargin אני יכול לשים אותו על כל המשתנים כלומר בתחילת המשתנים של הקלט ואיך אני שואל אם מחרוזת היא ריקה if a=?זה לא מתסדר לי
תודה
תרגיל 4 שאלה 2
האם חייבים ליצור את הסרט בעזרת הפקודה: movie2avi? האם מותר להסתפק פשוט ב-getframe?
- מה כתוב בשאלה? יש לעשות בהתאם להנחיות. --Grisha 17:36, 30 באפריל 2012 (IDT)
- "את הסרטון יש לבצע כפי שנלמד בהרצאה (getframe,movie2avi וכו')" - זה מחייב movie2avi?
תרגיל 5 שאלה 1
מה הכוונה ביש לוודא האם הבסיס אורתונורמלי? כלומר, מה לעשות אם הבסיס שמתקבל הוא לא אורתונורמלי? [למרות שזה לא אמור לקרות מבחינת האלגורתים]
- למעשה זה אומר שיש לוודא שתכנתתם נכון את האלגוריתם. אם וקטורים שקיבלתם אכן אורתוגונליים מכפלה סקלרית של כל זוג וקטורים אמורה לתת 0. כמו כן, יש לוודא שקיבלתם בסיס לאותו מרחב וקטורי שממנו התחלקתם. כלומר, שהוקטורים המקוריים והוקטורים האורתוגונליים פורסים את אותו המרחב. --Grisha 14:54, 2 במאי 2012 (IDT)
- אני הבנתי את זה, אבל לא איך אני אמור לבטא את זה מעשית. אני אמור לבדוק את העניין בכל ריצה? ואם כן לעשות את זה כתנאי ממש או מה? או שעבור איזה 100 הרצות לבדוק את זה בשביל עצמי? [לא שזה כזה ביג דיל, מכפילים שתי מטריצות וזהו פחות או יותר].
- לא בדיוק הבנתי את ההסבר שלך עם הרצות. אחרי שפונקציה שמצבעת תהליך גראם-שמידט סיימה לעבוד עליך לבדוק שני דברים:
- א). האם פלט של הפונקציה אכן וקטורים אורתוגונאליים.
- ב). האם וקטורים פורסים את אותו מרחב וקטורי כמו וקטורים שהיו קלט של הפונקציה.
- כל הבדיקות האלה יש לעשות לא תוך כדי הפונקציה אלא לאחר סיומה. --Grisha 19:41, 2 במאי 2012 (IDT)
תרגיל 5 שאלה 2
האם עלי להניח כי הנקודות של המצולע הקמות נתונות בסדר עם כיוון השעון?
כמובן שאפשר לקחת נקודה כלשהי בתוך המצולע [ובפרט נקודה כלשהי מהנקודות הנתונות] ואז לסדר את הנקודות לפי השיפוע של הקו המחבר את את הנקודה שבחרנו לנקודות שלנו (O(n logn. אבל קשה לי להאמין שזו הכוונה.
- אפשר להניח שנקודות ניתנו לפי סדר החיבור. הסדר יכול להיות גם לפי וגם נגד כיוון השעון. אשמח אם תסביר למה זה יכול להשפיע על התוצאה. --Grisha 23:47, 2 במאי 2012 (IDT)
כן, זה לא משנה אם זה עם כיוון השעון או נגד כיוון השעון. פשוט נראה לי מאוד נוח להשתמש באלגוריתם שכל פעם מסתכל על שלוש נק' סמוכות, מחשב את שטח המשולש, ומוריד את הנק' האמצעית (סה"כ (O(n). בשביל לעשות את זה שלוש הנק' צריכות להיות סמוכות.
בלי קשר, אני משער של matlab אני גם צריך לתת את הנק' עם\נגד כיוון השעון כדי שהוא יצייר לי באמת את מה שאני רוצה.
מה השגיאה הזו אומרת?
??? Undefined function or method 'targil' for input arguments of type 'char'. היא כל הזמן מופיעה לי ואין לי מושג למה,כל פעם שאני פותח script ונותן לו שם
- לא בטוח, אבל נדמה לי שאתה מנסה להפעיל פונקציה שכתבת ומאטלב לא יודע איפה לחפש אותה. צריך לעבור לתיקיה איפה שנמצאת הפונקציה. --Grisha 23:44, 2 במאי 2012 (IDT)
אני עברתי על כל שמות הפונקציה שרשמתי ואין להם את השם הזה השגיאה קורה כאשר אני פותח script ומנסה להריץ אותו,בשביל להריץ MATLAB מבקש ממני שם לקובץ וכשאני נותן שם (לא חשוב איזה שם!) הוא רושם לי את השגיאה הזו ולא מריץ לי את הScript
- תשלח לי את הסקריפט לאימייל. --Grisha 08:57, 3 במאי 2012 (IDT)
אין לי את האימייל אבל אני אמצא אותו וחוץ מזה שאלה אחרת, איך עוצרים את MATLAB באמצע הרצה?
- תלחץ על החתימה שלי ותמצא. עוצרים על ידי Ctrl-C. --Grisha 12:41, 3 במאי 2012 (IDT)
תרגיל 5 שאלה 2
אפשר הסבר קצת על מה צריך לעשות?? אני לא מבין את סדר קליטת המשתנים ומה Scale x וscale y עושים, איך הקאורדינטות נראות? ערך x ובשורה מתחתיו ערך y ?
תרגיל 5 שאלה 3
הכוונה לשרטט לכל ערך עצמי גרף של הגודל שלו ביחס לn או משהו אחר? וחוץ מזה,הריצה של n היא מ2 עד 200 נכון?(אין משמעות למטריצה מגודל 0)
מה זה סיבוכיות?
?????????
- סיבוכיות הזמן של בעיה נתונה היא מספר הצעדים הנדרשים לפתרון שלה כפונקציה של גודל הקלט.
- כך לדוגמא, סיבוכיות של merge sort הוא [math]\displaystyle{ O(n \cdot log(n)) }[/math], כאשר n הוא גודל של וקטור הלא ממוין. --Grisha 12:46, 3 במאי 2012 (IDT)