שיחה:88-151 שימושי מחשב תשעב סמסטר אביב/שאלות ותשובות: הבדלים בין גרסאות בדף

מתוך Math-Wiki
שורה 394: שורה 394:
?
?


: זאת אכן תהיה התוצאה. משמעות של פקודה: <math>a(:,3)</math> - תקח את כל העמודה השלישית; <math>a(:,3:5)</math> - תקח את העמודות 3, 4, 5; <math>a(:,end:-2:1)</math> - תקח את כל העמודות האי זוגיות בסדר ההפוך. --[[משתמש:Grisha|Grisha]] 20:04, 15 באפריל 2012 (IDT)
: זאת אכן תהיה התוצאה. משמעות של פקודה: <math>a(:,3)</math> - תקח את כל העמודה השלישית; <math>a(:,3:5)</math> - תקח את העמודות 3, 4, 5; <nowiki><math>a(:,end:-2:1)</math></nowiki> - תקח את כל העמודות האי זוגיות בסדר ההפוך. --[[משתמש:Grisha|Grisha]] 20:04, 15 באפריל 2012 (IDT)

גרסה מ־17:05, 15 באפריל 2012

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


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


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

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

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

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

שאלות

מה אמורים להגיש בשיעורי בית?

את הקוד ואת תוצאת הביצוע. אם נדרש הסבר (למשל בשאלה האחרונה), אז גם את ההסבר.--Grisha 22:40, 22 במרץ 2012 (IST)

בשיעורי בית בתרגיל 3 כתוב "עשה את אותו חישוב אבל עם format long) יש צורך לעשות את כל החישובים מחדש עם format long, או שמספיק הסבר מה זה עושה וכמה דוגמאות?

כתוב שיש לעשות את זה על 3 סעיפים אחרונים בלבד. כן, צריך לעשות את כל שלושת הסעיפים ולא דוגמאות. --Grisha 11:31, 23 במרץ 2012 (IST)

תרגיל 1 שאלה 4

האם בהדפסת שורשי המשוואה אני צריך להדפיס גם את הכותרת הנלוות- "אלו שורשי המשוואה בעלת המקדמים הנתונים?" או משהו בסגנון? או שאין צורך ועלי להדפיס רק את שורשי המשוואה ללא שום כותרת נלוות?

עדיף שתהיה איזו כותרת שמסבירה מה עשית ומה קיבלת ולא אוסף המספרים ללא הסבר. --Grisha 11:31, 23 במרץ 2012 (IST)

מה הכוונה בתרגיל 4 לתוצאות "נומריות" בלבד? הרי יש אפשרות לקבל ערך אחר מהמשוואה הזו?

שלא יהיה כתוב משהו בסגנון:
[math]\displaystyle{ =x_1 }[/math]
[math]\displaystyle{ 2.05 }[/math]
אלא רק הערך המספרי. --Grisha 13:27, 23 במרץ 2012 (IST)

איך אני פותר משוואות במתלאב

נגיד AX=B או סתם פולינומים

נלמד את זה בהמשך הקורס. כרגע יש לפתור ללא שימוש בפונקציות מובנות. --Grisha 13:28, 23 במרץ 2012 (IST)

תרגיל 1 שאלה 1 סעיף 13

<ltr>exp[ln...]</ltr>

האם הכוונה למספר [math]\displaystyle{ e }[/math] כפול הסוגריים או בחזקת הסוגריים?

פקודת [math]\displaystyle{ (...)exp }[/math] מבצעת העלאת e בחזקה. --Grisha 17:03, 23 במרץ 2012 (IST)

תרגיל 1 שאלה 2

כשמבקשים להשתמש במשתנים במקום בערכים מספריים. ההאם הכוונה להשתמש במשתנים גם עבור [math]\displaystyle{ e }[/math] [math]\displaystyle{ ln3 }[/math] [math]\displaystyle{ \pi }[/math]?

כתוב - ערכים מספריים. מה שאתה כותב זה כבר הפעלה של שתי פונקציות. --Grisha 17:05, 23 במרץ 2012 (IST)

בהגשת הש"ב

צריך להדפיס קובץ סקריפט ואת הפלט בחלון הפקודות, או שאפשר פשוט להדפיס הכל בחלון הפקודות?

גם קוד וגם פלט. --Grisha 22:33, 24 במרץ 2012 (IST)
אבל אפשר להדפיס אותם בנפרד?
כן, רק שיהיה ברור לאיזו שאלה מתייחסת התשובה. --Grisha 08:22, 26 במרץ 2012 (IST)

הגשת שיעורי בית

איך מגישים שיעורי בית האם אני מעתיק את הקוד לword ומדפיס?

אפשר להדפיס מתוך matlab או דרך כל תוכנה אחרת. יש להגיש הן הקוד, הן התוצאות. --Grisha 14:36, 26 במרץ 2012 (IST)

הגשת הקובץ

הפתרון יוצא ארוך מאד, 8-9 עמודים; אפשר בתרגילים הבאים לשלוח את הקובץ, במקום להדפיס?

לא. אפשר לנסות לצמצם את אורך הפתרון (למחוק שורות ריקות וכו') ולהדפיס משני צידי הדף. --Grisha 07:15, 27 במרץ 2012 (IST)

אני לא מצליח להפעיל את הvnc.

אחרי שאני מכניס את הסיסמה בvnc (שלב 8) מופיע השגיאה "read: connection reset by peer (10054)". הצלחתי להיכנס לmatlab בעזרת putty לבד אבל פחות נוח לעבוד ככה.

אם ביצעת את כל השלבים שהיו בהסבר ואתה לא מצליח להתחבר, אני ממליץ שתפנה לאנשי מעבדה. --Grisha 16:49, 28 במרץ 2012 (IST)

לי הייתה אותה בעייה.... אבל מתברר שזה היה תלוי בגרסה של vnc שהורדתי. תוריד/י את הגרסה לפני אחרונה שבקישור (VNC Free Edition Viewer for Windows)

זה לא עוזר זה אומר שהסיסמא עדיין לא נכונה. ובנוסף איך מתחברים לmatlab דרך המחשבים באוניברסיטה?

אם המחשבים במעבדה, אז להתחבר למחשב. להיכנס ל- Start -> Applications -> planet. לכתוב את השם ואת הסיסמא ולאחר פעולות אלה להקליד matlab.
מכל מחשב אחר שאינו במעבדה, יש להתחבר לפי אותו האלגוריתם כמו להתחבר מהבית. בכל בעיה עם סיסמא או חיבור מרחוק אנא תפנה לאנשי המעבדה. --Grisha 22:55, 28 במרץ 2012 (IST)

תרגיל 2 שאלה 5

הכוונה שצריך למצוא את המרחק המקסימלי מ-xi ל-yi או בין xi ל-yj כלשהו? ועוד משהו-בתרגיל 1, סעיף ד'ו-ה', צריך להסתכל על x כ-x אחרי שעשינו עליו את סעיף ג', או x המקורי?

שאלה 1 - אחרי שנעשה מה שכתוב בסעיף ג'.
שאלה 5 - יש למצוא את המרחק המירבי בין נקודות: [math]\displaystyle{ (x_i,y_i) }[/math] ו- [math]\displaystyle{ (x_j,y_j) }[/math]. כל נקודה היא נקודה על המישור.
--Grisha 11:19, 28 במרץ 2012 (IST)

הסבר על mod ו rem

היי, אשמח לקבל הסבר מפורט על שתי הפונקציות האלה וההבדלים בניהם, במיוחד במספרים שליליים.

זאת בדיוק השאלה שעלייך לענות ולתת דוגמאות. כל הפירוט נמצא ב- help של Matlab. --Grisha 16:47, 28 במרץ 2012 (IST)

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

עבור קבוצות תרגול 03, 04, 08 - כאן. --Grisha 18:05, 28 במרץ 2012 (IST)

האם בתרגיל 1 שאלה 5 מספיק להביר במילים ולתת דוגמא אישית לכל אחת מהפקודות?

כן, זה בדיוק מה שצריך לעשות. --Grisha 18:05, 28 במרץ 2012 (IST)

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

להחליף את כל הערכים המספריים במשתנים. --Grisha 18:05, 28 במרץ 2012 (IST)

ומה הכוונה בשאלה 4 בבקשה?

למצוא שורשים של פולינום ריבועי לפי הכללים שמפורטים בשאלה. --Grisha 18:05, 28 במרץ 2012 (IST)

תרגיל

איך ואיפה שומרים את התרגיל? תודה

זה לא משנה. ההגשה צריכה להיות על הנייר. יש להגיש גם את הקוד וגם את התשובות. --Grisha 21:00, 28 במרץ 2012 (IST)

אם הבנתי נכון אני אכתוב על הנייר את כל התשובות לתרגיל? מה ההבדל בין קוד לתשובות?

קוד - זה פקודות שאתה כותב. תשובות - זה תוצאה של הפקודות. לא כותבים על הנייר, אלא מריצים את זה ב- Matlab. כלומר, יש להדפיס את הפקודות ואת התוצאות שהתקבלו ולא לכתוב אותם ידנית. --Grisha 22:51, 28 במרץ 2012 (IST)

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

בשאלה 1 סעיפים א' וב', רשום יש "לקבל", האם הכוונה להכניס את התוצאה לתוך וקטור אחר?

כן. --Grisha 13:13, 30 במרץ 2012 (IDT)

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

אם לא כתוב לקבל וקטור חדש, יש לעשות את כל הפעולות על הוקטור המקורי. אפילו אם יש מספר פעולות "מקלקלות" את המקור. --Grisha 13:13, 30 במרץ 2012 (IDT)

שאלה 2

קבל מטריצה c חדשה הכוונה לכתוב השמה לתוך C, או שזה צריך להיות קלט מהמשתמש עם INPUT?

לא הבנתי את השאלה. --Grisha 13:39, 30 במרץ 2012 (IDT)

בסעיפים 3 ו 4, מה זה איברים מינימאליים ומקסימליים,? בסתם מטריצה יש רק איבר מינימאלי ומקסימאלי אחד.. האם הכוונה שאם יש אותו כמה פעמים אז להדפיס את כולם? לכן במטריצה C התשובה תהיה 2 מינימליים (0 ו 0) ו2 מקסימליים ( 8 ו 8) וזה גם הפלט?

התחילת התרגיל כתוב שכל הפעולות שאתם מתכנתים אמורים לעבוד עם כל מטריצה שהיא (גם גודל וגם תוכן). הנתריצה הנתונה היא להמחשה בלבד. לא כתוב להדפיס את כל האיברים המינימליים, כתוב - כמה כאלה יש. כלומר יש להדפיס רק 2 ולא 0, 0. --Grisha 13:39, 30 במרץ 2012 (IDT)

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

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

לא, לא צריך להשתמש ב- input. קבל מטריצה חדשה אומר שצריך לבצע איזושהי פעולה על המטריצה הקודמת ולשמור את התוצאה במטריצה החדשה. לדוגמא - C2 = C1.^3. --Grisha 13:40, 30 במרץ 2012 (IDT)

בשאלה 6 ב אני אמרו כאילו ליצור

תוכנה שתחשב לי בכמה איברים יש את המספר 3? ואיך אני אמור להסביר את התוצאות ב6 א? אני לא לומד הסתברות(תיכוניסט)

לא צריך לדעת הסתברות כדי להסביר את התוצאה. תריץ את התוכנה מספר פעמים ותחשוב על התוצאה. --Grisha 13:42, 30 במרץ 2012 (IDT)

בהמשך לשאלה 1

כתבת שהמטריצה היא להמחשה בלבד.. ושהקוד צריך לעבוד על כל מטריצה - זה בסדר. אבל בכל זאת האם אני צריך להכניס את המטריצה לתכנית שלי? כלומר לכתוב c= למטריצה שלך, ו"לעבוד" עליה? כך שיודפסו פלטים למטריצה הזו? או שצריך לכתוב סתם קוד ללא התייחסות למטריצה הנתונה? עוד דבר, האם צריך לפתוח קובץ ובו לרשום את הקוד (כלומר לפתוח FIle->new-> m file) או שצריך לכתוב הכל במסך ה"ראשי"? (ואז יודפסו גם פלטים , זה בסדר?)

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

משהו לא ברור לי ב שאלה 2 סעיף2

אמרת שהמטריצה C להמחשה, אבל כתוב להחליף את המספר 4 ב 200. צריך להחליף בכל מקום שיש 4, או פשוט לגשת לאינדקס במטריצה הספציפית C? כלומר אפשר פשוט לכתוב: a = c; a(3,2) = 200 ? או שהכוונה למשהו אחר? כי אם מדובר על מטריצה כללית לא בטוח שיש 4 במקום הזה

לא! אסור לפנות לאינדקס מסוים במטריצה הנתונה. אני חוזר ואומר (וזה גם כתוב בתרגיל עצמו) - קוד שאתם כותבים אמור לעבוד על מטריצה C כלשהי. למדנו איך משתמשים ב- logical indexing וגם בפקודת find. --Grisha 15:17, 30 במרץ 2012 (IDT)

שאלה 1 סעיפים 11 - 14

בסעיף 11 רשום להפוך את המטריצה לוקטור שורה ואז למחוק מהוקטור שורה איברים. לפי מה שהבנתי צריך "לדרוס" את המטריצה C? ואז בסעיף 12 רשום שוב להפוך את C לוקטור שורה, אבל כבר עשיתי את זה בסעיף 11, ודרסתי את C. אחרי זה בסעיפים 13 ו 14 רשום לעשות עוד דברים על המטריצה C, אבל היא כבר לא מטריצה , היא וקטור שורה! ההעלאה בחזקה בסעיף 14 תחזיר וקטור שורה עם אפסים.. ( כי בסעיף 12 מחקתי את האיברים השונים מ 0) זה בסדר כל זה? אפשר במקום אולי לא לדרוס את המטריצה C, אלא בסעיף 11 להפוך את C לוקטור שורה אבל את התוצאה להכניס למשתנה אחר? או שחייבים לדרוס את C עצמה?

זה בדיוק מה שצריך לעשות. או לרשום את הווקטור המתקבל למשתנה אחר, או להדפיס אותה על המסך ללא שמירה בשום מקום. --Grisha 17:32, 30 במרץ 2012 (IDT)

שאלה 3 ב' מספרים אקראיים

צריך לעשות מטריצת מספרים אקראיים בין 1 ל -1. איך אפשר לעשות? למדנו rand אבל הוא נותן מספרים אקראיים רק בין 0 ל 1

לא לכל דבר יש פונקציה מובנית ב- matlab. --Grisha 17:29, 30 במרץ 2012 (IDT)

בשאלה 2 13 אני צריך למצוא את האיברים שגדולים מ114

ולשים אותם בוקטור?

וגם לבדוק מהו גודל של הווקטור. --Grisha 20:10, 30 במרץ 2012 (IDT)

שמתי לב כי מטלאב מעגל נגיד 0.913=0.9127...

האם עליי להתחשב במספרים אלו ב6 ב? או לא?

אני לא מכיר תופעה כזאת. אתה יכול לשלוח לי דוגמא בה מטלב מעגל מספרים על דעת עצמו? --Grisha 00:35, 1 באפריל 2012 (IDT)

מטלאב כאילו שומר את הערך המספרי אבל מציג לי אותו אחרי העיגול למשל את המספר הזה 0.162182308193243 הוא כותב לי 0.1622

ראה את התרגול הראשון וגם משמעות הפקודה format. --Grisha 14:25, 1 באפריל 2012 (IDT)

שאלה 5 ועוד משהו

רק שאני אבין: בשאלה 5 נתונה מטריצה בגודל N*2 כאשר כל שורה מייצגת נקודה? כאשר בעמודה הראשונה ערכי ה X, וערך ה Y בעמודה השנייה? צריך לחשב עם הנוסחה:d= שורש של( (x1-x2)בריבוע + (y1-y2)בריבוע) ) ?

כן. --Grisha 22:58, 1 באפריל 2012 (IDT)

או שיש לזה פונקציה מובנית שצריך להשתמש בה?

לא. --Grisha 22:58, 1 באפריל 2012 (IDT)

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

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

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

שאלה 5 לכתוב פונקציה?

כתוב לכתוב "תכנית כללית" מה זה אומר? אפשר לעשות פונקציה שתקבל כארגומנט את רשימת הנקודות וכפלט תחזיר את המרחק הגדול ביותר? או שצריך ליצור BLANK M FILE ובתוכו לקבל את הנקודות כקלט מהמשתמש?

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

מותר להשתמש בWHILE ובTRY ב7?

לא הבנתי?

כן, מותר. לא רואה צורך להתשמש ב- try. --Grisha 16:15, 2 באפריל 2012 (IDT)

שאלה 6 לא ברורה

איך להסביר את התוצאות? הכוונה להסביר למה נבחרו המספרים האקראיים האלו דווקא? זה קשור להתפלגויות וכל מיני כאלו? זה כתוב במצגת? בא' אני אמור פשוט לספור כמה איברים במטריצה בין 0 ל 0.3?

לא צריך להסביר למה נבחרו דווקא איברים האלה ולא האחרים. צריך לדעת מה עושה פקודה rand - היא מחזירה איברים אקראיים בין 0 ל- 1, כך שלכל מספר יש אותו הסיכוי להיבחר.
זה קשור ל"התפלגויות וכל מיני כאלו", אבל לא צריך לדעת את ההסתברות כדי להסביר את התוצאה (לא מבקשים הוכחות מתמטיות).
כדי לבדוק נכונות של התוכנה, אני ממליץ להריץ אותה קודם על מטריצות קטנות, כך שאפשר לבדוק את התוצאות ידנית. --Grisha 22:16, 2 באפריל 2012 (IDT)

שאלה 2 סעיף 13

כל מספר בנפרד בוקטור שמקבלים צריך להיות גדול מ 114? צריך לקבל וקטור שורה או עמודה? אם ככה אז מן הסתם במקרה הזה הגודל של הוקטור יצא 0 כי אין שום מספר ב C שגדול מ 114..

כל איבר צריך להיות גדול מ- 114. לא משנה שורה או עמודה. התוכנה אמורה לעבוד על כל וקטור/מטריצה, לאו דווקא זה שנתון בשאלה. יש לבדוק את נכונות הביצוע. --Grisha 06:47, 3 באפריל 2012 (IDT)

תרגיל 5

מותר להשתמש בmax

כן. --Grisha 13:44, 3 באפריל 2012 (IDT)

תרגיל 7

מותר להשתמש ב inf?

מותר, למרות שאין צורך. --Grisha 13:16, 4 באפריל 2012 (IDT)

עזרה עם Rand

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

עזרה על פונקציה אפשר למצוא ב- help של מטלב, בספר הזה, במצגות התרגול ועוד. פונקצית rand מחזירה מספרים בין 0 ל-1, כך שלכל מספר יש אותו סיכוי להיבחר. כדי להבין איך עובדים הדברים צריך להתחיל ממטריצות קטנות, להריץ כמה פעמים ולהסתכל על התוצאות. תנסה "לשחק" קצת עם הפקודות עד שלא תפנים איך הן עובדות ואז תעבור לשאלה עצמה. --Grisha 22:28, 4 באפריל 2012 (IDT)

תרגיל 2

מותר להשתמש בwhile?

בשאלות 5-7 - כן. בשאלות 1-4 - לא. --Grisha 21:49, 5 באפריל 2012 (IDT)

שאלה 6 ב

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

נכון, לא למדנו פקודה כזאת (אני גם לא בטוח אם קיימת כזאת). אבל אם הכלים שקיבלתם אתם כן יכולים לגשת לכל ספרה במספר. כן, מדובר בספרות עשרוניות בלבד. חג שמח! --Grisha 15:57, 6 באפריל 2012 (IDT)

תרגיל 2 שאלה 5

אם אני עושה את התוכנה כתוכנה שמקבלת מטריצת 2*N, מותר לי להניח שהקלט תקין, או לעשות IF כדי לוודא זאת? עריכה - כנ"ל גם לגבי כל שאר השאלות (כולל 1-4 בהם מוזכר לא להשתמש בIF)

בתרגיל זה אפשר להניח כי הקלט תקין. ברור שאפשר להכליל את שאלה 5 לטפל בנקודות במרחב [math]\displaystyle{ \R^n }[/math]. אפשר לפתור את השאלה באופן כללי, אך הפתרון עבור מרחב דו-מימדי הינו מספיק . --Grisha 01:35, 8 באפריל 2012 (IDT)

ועבור השאלות האחרות אפשר גם להניח את זה?

בתרגיל בית זה אפשר להניח כי הקלט תקין. --Grisha 20:34, 8 באפריל 2012 (IDT)

תרגיל 2 שאלה 6

עשיתי קוד שמוצא כמה מספרים [כן, ולא את כמות הספרות] יש בהם 3 לפי הדרישות, ויצא לי 4100, למרות שלפי שיקולי קומבינטוריקה צריך לצאת בסביבות 3400 [גם הרצתי ב C++ וזה אכן נע בסביבות 3430]. אני סבור שאין לי בעיה בקוד [אציג אותו אם ידרש], האם סטייה כזו של 700 זה הגיוני? [הרצתי הרבה פעמים וזה נע בסביבות 4100]

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

הנה הקוד בו השתמשתי:

[יתכן ופונ' ה rand של matlab ממומשת על הפנים]

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


A=rand(100,100);

c=0;

for i = 1:numel(A)

if numel(strfind(num2str(A(i)),'3')) ~= 0

c=c+1;

end

end

לא למדנו על פונקציות על מחרוזות ואני רוצה לראות פתרון מתמטי. כתוב בתרגיל הבית שאסור להשתמש בפונקציות שלא נלמדו בכיתה. שנית, תבדוק מה זה precision של פקודת num2str. --Grisha 23:02, 8 באפריל 2012 (IDT)

תודה, הבנתי. אכן מימשתי עם mod, והכפלה ב 10 ובאמת התוצאה נעה בסביבות 3430 כצפוי :)

הייתי אומר שצפוי מספר קצת שונה. --Grisha 23:28, 8 באפריל 2012 (IDT)

כשכתוב '4 ספרות ראשונות' זה כולל את ה 0 בתחילת המספר, או לא? [הנחתי שלא]

הנחה נכונה. --Grisha 23:35, 8 באפריל 2012 (IDT)

נראה לי שאחוז המספרים עם שלוש צריך להיות: 0.3439=4^1-0.9. [ה 9 זה לא ההבדל, נכון?]

עוד שאלה: האם בשאלות 1 ו 2 אני צריך לשנות את המטריצות הנתונות לפי מה שכתוב, או שאני צריך להקצות מטריצה חדשה עם הערך המבוקש? לדוגמא כתוב: "החלף בין השורה הראשונה לשנייה במטריצה C" - האם אני צריך להחליף באמת את השורות של C, או להעתיק אותה ואז להחליף את השורות?

אם כתוב - "קבל מטריצה חדשה", אז יש ליצור מטריצה חדשה. אם לא - אז אין דרישה כזאת. --Grisha 22:28, 8 באפריל 2012 (IDT)


אז לפי זה, בסוף תרגיל 2, C צריכה להיות וקטור אפסים?

לא. אם תעשה את זה לא תוכל לפתור את שני הסעיפים האחרונים שממשיכים לדבר על מטריצה C. --Grisha 23:02, 8 באפריל 2012 (IDT)

תרגיל 2 שאלה 5

כחלק מהתכנית מותר להשתמש בפונקציית size?

למה זה יכול להיות אסור? --Grisha 16:01, 9 באפריל 2012 (IDT)

סליחה היה לי בלבול בשאלה. רציתי לשאול האם מותר להעביר כל שורה למספר מרוכב ואז להשתמש בabs?

השאלה שלי דווקא נשארת - למה זה יכול להיות אסור? --Grisha 17:17, 9 באפריל 2012 (IDT)

שאלה 6 תרגיל 2

ב א' צריך ממש לכתוב קוד שבודק את כמות המספרים או שמספיק שאני פשוט אסביר כמה הם אמורים לצאת? ו בב' אני יכולה לצאת מנקודת הנחה שהמטריצה היא 100 * 100 או שכמו בשאר התרגיל אני צריכה להתייחס לסוג של מטריצה אנונימית בכל גודל שהוא?

בא' יש לכתוב את הקוד ולהסביר את התוצאה. בב' - יש לכתוב כך שיעבוד על כל מטריצה שהיא. --Grisha 08:40, 10 באפריל 2012 (IDT)

שאלה 1ה

אם הבנתי את השאלה, זה תמיד יצא 0, עבור כל מטריצה שנכניס... (יותר הגיוני לכתוב את הסעיף הזה לפני 1ד)

נכון?

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

MIN(MIN))

וגם sum(sum) - מותר להשתמש בהם בשיעורי הבית? (למרות עניין היעילות?(

מותר. אבל אם יודעים שאפשר לעשות משהו טוב יותר, אז למה להשתמש בשיטות פחות יעילות? --Grisha 00:15, 11 באפריל 2012 (IDT)
אולי משימוש בsum אפשר להימנע, אבל יש דרך להימנע מmin שלא כוללת לולאות ותנאים?

שאלה 6 ב

האם המספר שצריך לצאת (= מספר המספרים שמופיע לפחות פעם אחת 3 בארבע ספרות ראשונות) הוא קבוע? כלומר כל פעם שיריצו את התכנית שלי זה המספר שצריך להתקבל? כי אני מריץ פעמים שונות ומקבל מספרים שונים, למרות זאת - כל המספרים שאני מקבל הם באזור ה 3400-3500. וגם, האם הפתרון שצריך לבצע הוא ע"י אלגוריתם לפירוק מספר (עם MOD וחלוקה ב 10)?

המספר לא אמור לצאת קבוע, אבל הוא כן אמור לצאת בטווח בין 3400-3500. אז אתה בכיוון הנכון, השאלה שצריך להסביר למיטב הבנתי היא למה?
כיוון שהמטריצה ההתחלתית היא מטריצה אקראית, המספר לא אמור לצאת אותו הדבר. --Grisha 13:08, 12 באפריל 2012 (IDT)

אפשר להגיש את השיעורים בשלישי?

בתרגיל עצמו? אם אי אפשר, לאיפה נגיש מחר?

אפשר בתרגול עצמו או מחר בתא של מתרגל שלך. --Grisha 23:56, 14 באפריל 2012 (IDT)

חיסור מספר ממטריצה

אם A היא מטריצה וכותבים A-3, מטלב תעשה את פעולת החיסור על כל איבר בנפרד, כאילו כתוב [math]\displaystyle{ A-3*ones(size(A)) }[/math]. לא למדנו בתרגול שאם המימדים לא מתאימים אז תהיה שגיאה? איך זה מסתדר?

למה אתה חושב שיש כאן אי התאמה של גדלים? כן למדנו בתרגול שאם נחסיר ממטריצה A את מטריצה B, כאשר מימדי המטריתות שונים, נקבל טעות. --Grisha 13:36, 15 באפריל 2012 (IDT)

"להפוך לווקטור שורה"

הכוונה ל-[math]\displaystyle{ c(1:end) }[/math]?

איזה פעולה הופכת וקטור שורה לוקטור עמודה ולהיפך? --Grisha 13:37, 15 באפריל 2012 (IDT)

בקשר ללסכום איברי מטריצה

יש דרך אחרת חוץ מsum?

תודה

מה רע בדרך זו? --Grisha 17:31, 15 באפריל 2012 (IDT)

אפשר הסבר על הפקודה הבאה

b=a(:,4:-1:1) מה זה אומר? זה לקוח מדף 13 במצגת של התרגול ה-2

משמעות - להפוך את המטריצה, כך העמודה השמאלית הפכה להיות העמודה הימנית וכו'.
לקחת את כל העמודה (זה תפקיד של : הראשונים) ותקח את העמודות לפי הסדר 4, 3, 2 ולבסוף 1. --Grisha 17:35, 15 באפריל 2012 (IDT)

הכוונה שהעמודות מתחלפות בצורה פנימית לדוגמא אם היו 6 עמודות אז המתחלפות (6-1) (2-5) (3-4) ?

זאת אכן תהיה התוצאה. משמעות של פקודה: [math]\displaystyle{ a(:,3) }[/math] - תקח את כל העמודה השלישית; [math]\displaystyle{ a(:,3:5) }[/math] - תקח את העמודות 3, 4, 5; <math>a(:,end:-2:1)</math> - תקח את כל העמודות האי זוגיות בסדר ההפוך. --Grisha 20:04, 15 באפריל 2012 (IDT)