1 - אוניברסיטת תל אביב

Download Report

Transcript 1 - אוניברסיטת תל אביב

‫הפקולטה למדעי החיים ע"ש ג'ורג' ס‪ .‬וויז‬
‫אוניברסיטת תל אביב‪ ,‬ישראל‬
‫נובמבר ‪2010‬‬
‫מועבר ע"י‪ :‬אורי לוי‬
‫‪http://ibis.tau.ac.il/twiki/bin/view/Bioinformatics/MATLAB2011‬‬
‫© כל הזכויות שמורות‪ ,‬אין להעתיק להציג או לשפכל מצגת זאת או חלקים‬
‫ממנה‪ ,‬ללא אישור המחבר‪.‬‬
‫על הסדנא‬
‫‪1‬‬
‫למה ללמוד ‪?Matlab‬‬
‫אני בכלל ביולוג ‪ /‬חוקר מוח‪ ...‬למה אני צריך את זה?‬
‫‪ ‬מאפשר ייעול המחקר‬
‫‪ ‬מאפשר הדמיה החוסכת זמני ועלויות מחקר‬
‫‪ ‬מאפשר ניתוח תמונות של‪ :‬מוח‪ ,‬תאים‪ ,‬התנהגות‬
‫בע"ח ועוד שבן אדם היה מתקשה לבצע‬
‫‪ ‬מאפשר חישובים רבים אשר היו לוקחים שנים או‬
‫חודשים במקרה אחר‬
‫על הסדנא‬
‫‪2‬‬
‫למה ללמוד ‪?Matlab‬‬
‫על הסדנא‬
‫‪3‬‬
‫ניתוח תמונות במחקר‬
‫כימות ריכוז בג'לים‬
‫זיהוי באנדים ב ג'לים‬
‫שיעור ‪ - 7‬חזרה‬
‫צביעות‬
‫אימונוהיסטוכימיות‬
‫‪4‬‬
‫מה נלמד היום?‬
‫‪ ‬סביבת העבודה‬
‫‪ ‬סוגי משתנים ב ‪Matlab‬‬
‫‪ ‬פקודות ‪ Matlab‬בסיסיות‬
‫‪ ‬הצגת נתונים ב ‪Matlab‬‬
‫‪ ‬גרפיקה ועיבוד תמונה ב ‪Matlab‬‬
‫‪ ‬עיבוד נתונים‬
‫על הסדנא‬
‫‪5‬‬
Matlab ‫סביבת העבודה‬
http://citrix.tau.ac.il
.‫ בכיתת המחשבים‬
:citrix ‫ מתוך אתר‬
http://www.tau.ac.il/tau-only/software/winsock/XenAppWeb.exe
6
‫סביבת העבודה‬
‫סביבת העבודה ‪Matlab‬‬
‫‪ ‬בחירת תיקיית מתמטיקה‪.‬‬
‫סביבת העבודה‬
‫‪7‬‬
‫סביבת העבודה ‪Matlab‬‬
‫‪ ‬בחירת ‪.Matlab‬‬
‫סביבת העבודה‬
‫‪8‬‬
‫סביבת העבודה ‪Matlab‬‬
‫‪ ‬בכיתת המחשבים‪.‬‬
‫סביבת העבודה‬
‫‪9‬‬
‫סביבת העבודה ‪Matlab‬‬
‫חלון עריכת קבצים‬
‫חלון כתיבת פקודות‬
‫סביבת העבודה‬
‫רשימת משתנים‬
‫חלון‬
‫היסטוריה‬
‫‪10‬‬
‫סביבת העבודה ‪Matlab‬‬
‫‪ ‬יצירת קובץ תוכנית‪.‬‬
‫‪ ‬כתיבת הקוד ושמירתו‪.‬‬
‫‪ ‬הרצת הקוד‪.‬‬
‫סביבת העבודה‬
‫‪11‬‬
‫סביבת העבודה‪...‬‬
‫‪.1‬הרצת תוכניות‪:‬‬
‫תוכניות בדרך כלל אנחנו מריצים על ידי לחיצה על האייקון שלהם‪:‬‬
‫תוכניות שיצרנו ב ‪ matlab‬מריצים על ידי הקשת השם שלהן בשורת הפקודה‪:‬‬
‫שם תוכנית >>‬
‫דוגמאות‪:‬‬
‫‪>>earthmap‬‬
‫‪>>vibes‬‬
‫‪>>life‬‬
‫סביבת העבודה‬
‫‪12‬‬
‫תוכנית ראשונה‬
.‫ על המסך‬hello world ‫ התכנית מדפיסה‬
MatLab
function hello()
Hello, world!
disp(‘hello
disp(
‘helloworld’);
world’);
end
hello.m
13
‫תוכנית ראשונה‬
‫מבנה פקודה ‪ -‬שפת ‪matlab‬‬
‫)ערך ‪ ,2‬ערך ‪(1‬פקודה = משתנה ‪1‬‬
‫)‪value = min(3,2‬‬
‫)‪,...‬ערך ‪ ,2‬ערך ‪(1‬פקודה = ]‪,...‬משתנה ‪ ,2‬משתנה ‪[1‬‬
‫מבנה תוכנית – ‪matlab‬‬
‫‪14‬‬
‫הכרת המחשב – איך עובד הזכרון?‬
‫‪ ‬המחשב משמש אותנו לעיבוד מידע‬
‫‪ ‬מידע מיוצג בזכרון ע"י החלפתו במספרים‪.‬‬
‫‪ ‬לכל קבוצה בזכרון יש כתובת‪.‬‬
‫לדוגמה‪:‬‬
‫כתובת מספר ‪ 164‬מכילה‬
‫את הערך ‪200‬‬
‫הכרת המחשב‬
‫‪9‬‬
‫‪200‬‬
‫‪8‬‬
‫‪188‬‬
‫‪7‬‬
‫‪165‬‬
‫‪6‬‬
‫‪218‬‬
‫‪5‬‬
‫‪113‬‬
‫‪4‬‬
‫‪230‬‬
‫‪3‬‬
‫‪77‬‬
‫‪2‬‬
‫‪42‬‬
‫‪1‬‬
‫‪253‬‬
‫‪0‬‬
‫‪81‬‬
‫כתובת‬
‫_‪11‬‬
‫‪113‬‬
‫‪18‬‬
‫‪150‬‬
‫‪25‬‬
‫‪8‬‬
‫‪32‬‬
‫‪112‬‬
‫‪190‬‬
‫‪202‬‬
‫‪235‬‬
‫‪68‬‬
‫‪236‬‬
‫‪171‬‬
‫‪92‬‬
‫‪196‬‬
‫‪138‬‬
‫‪198‬‬
‫‪122‬‬
‫‪103‬‬
‫‪248‬‬
‫‪146‬‬
‫‪32‬‬
‫‪112‬‬
‫‪172‬‬
‫‪131‬‬
‫‪111‬‬
‫‪4‬‬
‫‪40‬‬
‫‪1‬‬
‫‪236‬‬
‫‪210‬‬
‫‪206‬‬
‫‪136‬‬
‫‪128‬‬
‫‪44‬‬
‫‪80‬‬
‫‪54‬‬
‫‪253‬‬
‫‪198‬‬
‫‪3‬‬
‫‪138‬‬
‫‪110‬‬
‫‪211‬‬
‫‪140‬‬
‫‪47‬‬
‫‪45‬‬
‫‪227‬‬
‫‪93‬‬
‫‪194‬‬
‫‪176‬‬
‫‪192‬‬
‫‪38‬‬
‫‪45‬‬
‫‪226‬‬
‫‪110‬‬
‫‪97‬‬
‫‪17‬‬
‫‪251‬‬
‫‪82‬‬
‫‪229‬‬
‫‪150‬‬
‫‪35‬‬
‫‪93‬‬
‫‪11‬‬
‫‪189‬‬
‫‪49‬‬
‫‪172‬‬
‫‪106‬‬
‫‪134‬‬
‫‪147‬‬
‫‪184‬‬
‫‪168‬‬
‫‪61‬‬
‫‪239‬‬
‫‪200‬‬
‫‪49‬‬
‫‪40‬‬
‫‪34‬‬
‫‪229‬‬
‫‪49‬‬
‫‪23‬‬
‫‪20‬‬
‫‪21‬‬
‫‪69‬‬
‫‪49‬‬
‫‪7‬‬
‫‪152‬‬
‫‪237‬‬
‫‪25‬‬
‫‪219‬‬
‫‪60‬‬
‫‪149‬‬
‫‪202‬‬
‫‪201‬‬
‫‪231‬‬
‫‪52‬‬
‫‪122‬‬
‫‪239‬‬
‫‪218‬‬
‫‪179‬‬
‫‪80‬‬
‫‪94‬‬
‫‪196‬‬
‫‪157‬‬
‫‪60‬‬
‫‪214‬‬
‫‪182‬‬
‫‪87‬‬
‫‪201‬‬
‫‪216‬‬
‫‪148‬‬
‫‪57‬‬
‫‪135‬‬
‫‪190‬‬
‫‪153‬‬
‫‪90‬‬
‫‪186‬‬
‫‪176‬‬
‫‪198‬‬
‫‪232‬‬
‫‪61‬‬
‫‪170‬‬
‫‪192‬‬
‫‪36‬‬
‫‪4‬‬
‫‪152‬‬
‫‪70‬‬
‫‪74‬‬
‫‪122‬‬
‫‪10‬‬
‫‪128‬‬
‫‪211‬‬
‫‪136‬‬
‫‪178‬‬
‫‪130‬‬
‫‪115‬‬
‫‪69‬‬
‫‪197‬‬
‫‪84‬‬
‫‪228‬‬
‫_‪12‬‬
‫_‪13‬‬
‫_‪14‬‬
‫_‪15‬‬
‫_‪16‬‬
‫_‪17‬‬
‫_‪18‬‬
‫_‪19‬‬
‫_‪20‬‬
‫_‪21‬‬
‫_‪22‬‬
‫_‪23‬‬
‫_‪24‬‬
‫_‪25‬‬
‫‪15‬‬
‫הכרת המחשב – איך עובד הזכרון?‬
‫‪ ‬מידע מיוצג בזכרון ע"י החלפתו במספרים‪.‬‬
‫‪ ‬תמונה בזכרון המחשב מחולקת לריבועים קטנים )‪.)pixel‬‬
‫‪4‬‬
‫‪0‬‬
‫‪3‬‬
‫‪129‬‬
‫‪2‬‬
‫‪129‬‬
‫‪1‬‬
‫‪129‬‬
‫‪0‬‬
‫‪129‬‬
‫כתובת‬
‫_‪11‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫_‪12‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫_‪13‬‬
‫‪129‬‬
‫‪129‬‬
‫_‪14‬‬
‫‪0‬‬
‫_‪15‬‬
‫_‪16‬‬
‫‪5‬‬
‫‪9‬‬
‫‪129‬‬
‫‪8‬‬
‫‪129‬‬
‫‪7‬‬
‫‪129‬‬
‫‪6‬‬
‫‪129‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪129‬‬
‫‪129‬‬
‫‪129‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪17‬‬
‫‪240‬‬
‫‪240‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪18‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪19‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪20‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪21‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪22‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫‪240‬‬
‫‪0‬‬
‫‪0‬‬
‫‪240‬‬
‫_‪23‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫‪0‬‬
‫‪0‬‬
‫‪240‬‬
‫‪240‬‬
‫_‪24‬‬
‫‪ ‬כל פיקסל מכיל ערך מספרי‬
‫המייצג את הצבע‪.‬‬
‫) ‪Radiant Baby (Keith Haring‬‬
‫הכרת המחשב‬
‫‪16‬‬
‫הכרת המחשב – איך עובד הזכרון?‬
‫‪ ‬מידע מיוצג בזכרון ע"י החלפתו במספרים‪.‬‬
‫‪9 10‬‬
‫תזהר ממנה‬
‫ביגי‬
‫יש לה זוג עיניים איתן היא מביטה‬
‫כמו אל השמיים היא פיתחה שיטה‬
‫מבט אחד ממנה ואתה קפוא‬
‫תחזור מהר להנה כולם כבר ניסו‬
‫תיזהר ממנה היא כמו דבורה מיד עוקצת‬
‫סתם מסכה שהיא לובשת‬
‫תיזהר אחי כי אותך היא מחפשת‪.‬‬
‫תיזהר ממנה היא כמו דבורה מיד עוקצת‬
‫סתם מסכה שהיא לובשת‬
‫תיזהר אחי בכולם היא משחקת‪.‬‬
‫הלכתי ובדקתי אם זה אמיתי‬
‫אבל כשלא שמעתי עצרה נשימתי‬
‫מבט אחד ממנה ואתה קפוא‬
‫תחזור מהר להנה כולם כבר ניסו‬
‫‪‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪150x 250 233 230 228 248 32 238 238 240 228‬‬
‫‪151x 13 10 235 238 229 32 227 225 229 248‬‬
‫‪152x 228 32 228 233 224 32 238 233 227 32‬‬
‫‪153x 242 229 247 246 250 13 10 241 250 237‬‬
‫‪154x 32 238 241 235 228 32 249 228 233 224‬‬
‫‪155x 32 236 229 225 249 250 13 10 250 233‬‬
‫‪156x 230 228 248 32 238 238 240 228 13 10‬‬
‫‪157x 250 233 230 228 248 32 224 231 233 32‬‬
‫‪158x 235 233 32 224 229 250 234 32 228 233‬‬
‫‪159x 224 32 238 231 244 249 250 13 10 235‬‬
‫‪160x 238 229 32 227 225 229 248 228 32 228‬‬
‫מלות שיר מיוצגות בזכרון על‬
‫‪161x 233 224 32 238 233 227 32 242 229 247‬‬
‫במספר‬
‫החלפת‪250‬כל‬
‫‪241‬ידי‬
‫‪162x ,246‬‬
‫אות ‪250 13‬‬
‫‪10 241‬‬
‫‪237 32 238‬‬
‫‪163x ...‬‬
‫‪235‬‬
‫‪249‬ב‪228 =32‬‬
‫‪228 233‬‬
‫לדוגמה‪224‬‬
‫‪32 236 229‬‬
‫‪225‬‬
‫‪,224‬‬
‫א=‬
‫‪164x 225 249 250 13 10 250 233 230 228 248‬‬
‫‪165x 32 224 231 233 32 225 235 229 236 237‬‬
‫‪166x 32 228 233 224 32 238 249 231 247 250‬‬
‫תזהר ממנה‪...‬‬
‫הכרת המחשב‬
‫‪17‬‬
‫הכרת המחשב – איך עובד הזכרון?‬
‫‪ ‬מידע מיוצג בזיכרון ע"י החלפתו במספרים‪.‬‬
‫‪9‬‬
‫‪200‬‬
‫‪8‬‬
‫‪188‬‬
‫‪7‬‬
‫‪165‬‬
‫‪6‬‬
‫‪218‬‬
‫‪5‬‬
‫‪113‬‬
‫‪4‬‬
‫‪230‬‬
‫‪3‬‬
‫‪77‬‬
‫‪2‬‬
‫‪42‬‬
‫‪1‬‬
‫‪253‬‬
‫‪0‬‬
‫‪81‬‬
‫כתובת‬
‫_‪11‬‬
‫‪113‬‬
‫‪18‬‬
‫‪150‬‬
‫‪25‬‬
‫‪8‬‬
‫‪32‬‬
‫‪112‬‬
‫‪190‬‬
‫‪202‬‬
‫‪235‬‬
‫‪68‬‬
‫‪236‬‬
‫‪171‬‬
‫‪92‬‬
‫‪196‬‬
‫‪138‬‬
‫‪198‬‬
‫‪122‬‬
‫‪103‬‬
‫‪248‬‬
‫‪146‬‬
‫‪32‬‬
‫‪112‬‬
‫‪172‬‬
‫‪131‬‬
‫‪111‬‬
‫‪4‬‬
‫‪40‬‬
‫‪1‬‬
‫‪236‬‬
‫‪210‬‬
‫‪206‬‬
‫‪136‬‬
‫‪128‬‬
‫‪44‬‬
‫‪80‬‬
‫‪54‬‬
‫‪253‬‬
‫‪198‬‬
‫‪3‬‬
‫‪138‬‬
‫‪110‬‬
‫‪211‬‬
‫‪140‬‬
‫‪47‬‬
‫‪45‬‬
‫‪227‬‬
‫‪93‬‬
‫‪194‬‬
‫‪176‬‬
‫‪192‬‬
‫‪38‬‬
‫‪45‬‬
‫‪226‬‬
‫‪110‬‬
‫‪97‬‬
‫‪17‬‬
‫‪251‬‬
‫‪82‬‬
‫‪229‬‬
‫‪150‬‬
‫‪35‬‬
‫‪93‬‬
‫‪11‬‬
‫‪189‬‬
‫‪49‬‬
‫‪172‬‬
‫‪106‬‬
‫‪134‬‬
‫‪147‬‬
‫‪184‬‬
‫‪168‬‬
‫‪61‬‬
‫‪239‬‬
‫‪200‬‬
‫‪49‬‬
‫‪40‬‬
‫‪34‬‬
‫‪229‬‬
‫‪49‬‬
‫‪23‬‬
‫‪20‬‬
‫‪21‬‬
‫‪69‬‬
‫‪49‬‬
‫‪7‬‬
‫‪152‬‬
‫‪237‬‬
‫‪25‬‬
‫‪219‬‬
‫‪60‬‬
‫‪149‬‬
‫‪202‬‬
‫‪201‬‬
‫‪231‬‬
‫‪52‬‬
‫‪122‬‬
‫‪239‬‬
‫‪218‬‬
‫‪179‬‬
‫‪80‬‬
‫‪94‬‬
‫‪196‬‬
‫‪157‬‬
‫‪60‬‬
‫‪214‬‬
‫‪182‬‬
‫‪87‬‬
‫‪201‬‬
‫‪216‬‬
‫‪148‬‬
‫‪57‬‬
‫‪135‬‬
‫‪190‬‬
‫‪153‬‬
‫‪90‬‬
‫‪186‬‬
‫‪176‬‬
‫‪198‬‬
‫‪232‬‬
‫‪61‬‬
‫‪170‬‬
‫‪192‬‬
‫‪36‬‬
‫‪4‬‬
‫‪152‬‬
‫‪70‬‬
‫‪74‬‬
‫‪122‬‬
‫‪10‬‬
‫‪128‬‬
‫‪211‬‬
‫‪136‬‬
‫‪178‬‬
‫‪130‬‬
‫‪115‬‬
‫‪69‬‬
‫‪197‬‬
‫‪84‬‬
‫‪228‬‬
‫_‪12‬‬
‫_‪13‬‬
‫_‪14‬‬
‫_‪15‬‬
‫_‪16‬‬
‫_‪17‬‬
‫_‪18‬‬
‫_‪19‬‬
‫_‪20‬‬
‫_‪21‬‬
‫_‪22‬‬
‫_‪23‬‬
‫_‪24‬‬
‫_‪25‬‬
‫‪ ‬מוזיקה יכולה להיות מאוחסנת‬
‫במחשב על ידי החלפת כל תו‬
‫וצליל בערך מספרי‪.‬‬
‫הכרת המחשב‬
‫‪18‬‬
‫הכרת המחשב – איך עובד הזכרון?‬
‫‪ ‬מידע מיוצג בזכרון ע"י החלפתו במספרים‪.‬‬
‫‪9 10‬‬
‫תזהר ממנה‬
‫ביגי‬
‫יש לה זוג עיניים איתן היא מביטה‬
‫כמו אל השמיים היא פיתחה שיטה‬
‫מבט אחד ממנה ואתה קפוא‬
‫תחזור מהר להנה כולם כבר ניסו‬
‫תיזהר ממנה היא כמו דבורה מיד עוקצת‬
‫סתם מסכה שהיא לובשת‬
‫תיזהר אחי כי אותך היא מחפשת‪.‬‬
‫תיזהר ממנה היא כמו דבורה מיד עוקצת‬
‫סתם מסכה שהיא לובשת‬
‫תיזהר אחי בכולם היא משחקת‪.‬‬
‫הלכתי ובדקתי אם זה אמיתי‬
‫אבל כשלא שמעתי עצרה נשימתי‬
‫מבט אחד ממנה ואתה קפוא‬
‫תחזור מהר להנה כולם כבר ניסו‬
‫‪‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪150x 250 233 230 228 248 32 238 238 240 228‬‬
‫‪151x 13 10 235 238 229 32 227 225 229 248‬‬
‫‪152x 228 32 228 233 224 32 238 233 227 32‬‬
‫‪153x 242 229 247 246 250 13 10 241 250 237‬‬
‫‪154x 32 238 241 235 228 32 249 228 233 224‬‬
‫‪155x 32 236 229 225 249 250 13 10 250 233‬‬
‫‪156x 230 228 248 32 238 238 240 228 13 10‬‬
‫‪157x 250 233 230 228 248 32 224 231 233 32‬‬
‫‪158x 235 233 32 224 229 250 234 32 228 233‬‬
‫‪159x 224 32 238 231 244 249 250 13 10 235‬‬
‫‪160x 238 229 32 227 225 229 248 228 32 228‬‬
‫מלות שיר מיוצגות בזכרון על‬
‫‪161x 233 224 32 238 233 227 32 242 229 247‬‬
‫במספר‬
‫החלפת‪250‬כל‬
‫‪241‬ידי‬
‫‪162x ,246‬‬
‫אות ‪250 13‬‬
‫‪10 241‬‬
‫‪237 32 238‬‬
‫‪163x ...‬‬
‫‪235‬‬
‫‪249‬ב‪228 =32‬‬
‫‪228 233‬‬
‫לדוגמה‪224‬‬
‫‪32 236 229‬‬
‫‪225‬‬
‫‪,224‬‬
‫א=‬
‫‪164x 225 249 250 13 10 250 233 230 228 248‬‬
‫‪165x 32 224 231 233 32 225 235 229 236 237‬‬
‫‪166x 32 228 233 224 32 238 249 231 247 250‬‬
‫תזהר ממנה‪...‬‬
‫הכרת המחשב‬
‫‪19‬‬
‫מִ שְ תַ נ ִים‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫דרך נוחה לעבוד עם הזיכרון היא להגדיר שמות בעלי משמעות‬
‫לתאי הזיכרון איתם אנחנו עובדים‪.‬‬
‫בשפות תכנות לשמות של תאי הזיכרון קוראים משתנים‪.‬‬
‫הפקודות ‪ /‬פעולות בשפות התכנות מבצעות פעולות על‬
‫משתנים‪ ,‬כלומר מקבלות כקלט משתנים ומשנות )פלט) משתנים‬
‫;‪ X=3+4‬‬
‫;‪ Y=X-4‬‬
‫לכל משתנה חייב להיות שם‘ לדוגמא‪x, y, index, number :‬‬
‫שם של משתנה חייב להתחיל באות‬
‫שם של משתנה מורכב מאותיות‪ ,‬ספרות וקו תחתון‬
‫בד"כ יש מגבלה על אורך שם המשתנה )לדוגמא ‪ 32‬תווים)‬
‫אותיות קטנות וגדולות באנגלית יוצרות משתנים שונים‬
‫לדוגמא‪ x :‬ו ‪ X‬הם לא אותו משתנה‬
‫משתנים‬
‫‪20‬‬
‫משתנים – שמות משתנים‬
‫ שם משתנה לא יכול להיות שם של מלה שמורה בשפה‬
iskeyword ‫ ניתן לדעת ע"י הקשת הפקודה‬
break
case
catch
continue
else
elseif
21
end
for
function
global
if
otherwise
persistent
return
switch
try
while
‫מפעילים )אופרטורים)‬
‫‪ ‬הפקודות ‪ /‬פעולות בשפות התכנות מבצעות פעולות על משתנים‪,‬‬
‫כלומר מקבלות כקלט משתנים ומשנות )פלט) משתנים‬
‫‪ ‬מפעילים מגדירים פעולות אריתמטיות או לוגיות שניתן לבצע על‬
‫משתנים‪.‬‬
‫כאשר ‪a=1, b=2, c=3, d=8‬‬
‫‪ ‬מפעילים אריתמטיים‪:‬‬
‫מפעיל‬
‫‪+‬‬
‫‬‫*‬
‫‪/‬‬
‫\‬
‫‪%‬‬
‫‪ MATLAB‬מספר שלם מספר עשרוני‬
‫‪C‬‬
‫‪a+b=3‬‬
‫‪a+b=3‬‬
‫חיבור‬
‫‪c-b=1‬‬
‫‪c-b=1‬‬
‫חיסור‬
‫‪b*c=6‬‬
‫‪c*b=6‬‬
‫כפל‬
‫‪d/c=2.67‬‬
‫‪d/3=2‬‬
‫חילוק‬
‫חילוק בכיוון‬
‫שגיאה‬
‫הפוך‬
‫שארית‬
‫הערה‬
‫מפעילים )אופרטורים)‬
‫‪b\c=2‬‬
‫‪b\3=1.50‬‬
‫‪d%c=2‬‬
‫שגיאה‬
‫‪22‬‬
‫מפעילים )אופרטורים)‬
‫‪ ‬מפעילים לוגיים‪:‬‬
‫‪ ‬ב ‪ matlab‬תוצאתם ‪ false‬או ‪.true‬‬
‫‪ ‬ב ‪ C‬תוצאתם ‪) 0‬כמו ‪ )false‬או ערך שונה מ ‪) 0‬כמו ‪,)true‬‬
‫בד"כ ערך זה יהיה ‪. 1‬‬
‫כאשר ‪a=1, b=2, c=3‬‬
‫‪MATLAB‬‬
‫‪C‬‬
‫>‬
‫=>‬
‫<‬
‫=<‬
‫==‬
‫=!‬
‫=~‬
‫מפעילים )אופרטורים)‬
‫)‪true (1‬‬
‫‪c>a‬‬
‫‪c>=c‬‬
‫‪a<c‬‬
‫‪b<=b‬‬
‫)‪c==(a+b‬‬
‫‪c!=a‬‬
‫‪c~=a‬‬
‫)‪false(0‬‬
‫‪b>c‬‬
‫‪a>=b‬‬
‫‪c<b‬‬
‫‪b<=a‬‬
‫‪c==a‬‬
‫)‪c!=(a+b‬‬
‫)‪c~=(a+b‬‬
‫‪23‬‬
‫שילוב תנאים לוגיים‬
‫ב – ‪Matlab‬‬
‫‪ ‬וגם‪ & :‬בודק התקיימות שני תנאים‪:‬‬
‫‪ – a>1 & a<4 ‬דורש ש ‪ a‬יהיה גדול מ ‪ 1‬וגם קטן מ ‪.4‬‬
‫‪ ‬או‪ | :‬בודק התקיימות אחד משני תנאים‪:‬‬
‫‪ – a==1 | mod(a,2)==0 ‬דורש ש ‪ a‬יהיה ‪ 1‬או מספר זוגי‪.‬‬
‫השוואה עם קֶ צֶר ‪ -‬מחזיר תשובה כבר כשידועה התשובה‪:‬‬
‫‪ ‬וגם‪ && :‬בודק התקיימות שני תנאים‪:‬‬
‫‪ – (1>2) && (4/0>3) ‬הצד השמאלי לא יכול להתקיים אף פעם‬
‫לכן חוזר מיידית עם תשובה שלילית‪.‬‬
‫‪ ‬או‪ || :‬בודק התקיימות אחד משני תנאים‪:‬‬
‫‪ – (a/a==1) || (a>a) ‬הצד השמאלי תמיד מתקיים לכן חוזר‬
‫מייד עם תשובה חיובית‪.‬‬
‫מפעילים לוגיים‬
‫‪24‬‬
‫קלט – ‪matlab‬‬
‫‪ ‬ניתן לקלוט משתנה בודד ע"י הפקודה ‪input‬‬
‫;)’ ‪Var = input)‘enter one value:‬‬
‫‪ ‬לחילופין ניתן לקלוט מספר משתנים בשני שלבים‪:‬‬
‫;)’‪sTemp = input)‘enter several values:’, ‘s‬‬
‫;)‪values = str2num(sTemp‬‬
‫פלט – ‪matlab‬‬
‫‪ – disp ‬פקודה שימושית להצגת ערך של משתנה‪.‬‬
‫;)’‪disp)‘hello world‬‬
‫‪ - msgbox ‬כמו ‪ disp‬אך הפלט מוצג על גבי חלון הודעה‬
‫שנפתח במיוחד‪.‬‬
‫;)’‪ msgbox)‘text’,’title‬‬
‫קלט ופלט – קלט ב ‪matlab‬‬
‫‪25‬‬
‫מבנה תוכנית ‪matlab -‬‬
‫הגדרת הפונקציה הראשית‬
‫)(‪function hello_world‬‬
‫‪‬קוד ב ‪ matlab‬יכול להיות מאורגן בפונקציות לנוחיותינו‪.‬‬
‫‪‬פונקציה מאגדת בתוכה אוסף של פקודות שמטרתן ביצוע‬
‫תהליך או חישוב מסוים‪.‬‬
‫‪‬המטרה בכתיבת פונקציה הנה לממש יכולת מסוימת בלי לדאוג‬
‫לכתיבתה מחדש לצורך ביצוע אותן פעולות‪.‬‬
‫‪‬שם הפונקציה צריך להיות כשם הקובץ‪.‬‬
‫‪‬שם הקובץ קובע בלעדית את שם הקריאה לפונקציה!!!‪.‬‬
‫מבנה תוכנית – ‪matlab‬‬
‫‪26‬‬
‫מבנה תוכנית ‪matlab -‬‬
‫הגדרת הפונקציה הראשית‬
‫)(‪function hello_world‬‬
‫)… ‪function [out1,out 2,…] = function_name (in1, in2,‬‬
‫‪statements‬‬
‫‪end‬‬
‫‪ – out1,out2‬המשתנים שהפונקציה מחזירה כפלט‬
‫‪ – function_name‬שם הפונקציה‬
‫‪ – in1,in2‬המשתנים שהפונקציה מקבלת כקלט‬
‫‪‬ניתן לסיים פונקציה ולחזור ע"י פקודת ‪ .return‬לא חובה‪.‬‬
‫‪‬ניתן לתחום פונקציה ב ‪ .end‬חובה רק אם יש עוד פונקציות‬
‫באותו קובץ‪.‬‬
‫מבנה תוכנית – ‪matlab‬‬
‫‪27‬‬
matlab – ‫הערות‬
‫גרסה משודרגת של התכנית‬
function hello_world()
%function hello_world()
%prints hello world to the screen
fprintf(1,‘hello world\n’); %print
return
end %function hello_world()
28
‫מבנה תוכנית – הערות‬
‫ייצוג תמונה בזיכרון‬
‫‪ ‬הצגת תמונה על המסך‪:‬‬
‫;)‪image(pixels‬‬
‫‪ ‬המשתנה ‪ pixels‬מכיל את כל הפיקסלים של התמונה‪.‬‬
‫‪ ‬המשתנה ‪ pixels‬הוא בעצם טבלה של ‪ 100x100‬משתנים בודדים‪.‬‬
‫‪ ‬בשפות תכנות טבלה של משתנים נקראת מערך (‪.)array‬‬
‫ייצוג בזיכרון של תמונה‬
‫‪29‬‬
‫טיפוסים מרובי משתנים‬
C.dmiension(2)=[1,1,0.8]
1
2
3
4
5
source
MRI T1
MRI T2
PET
CT
X-RAY
orientation
L-R
L-R
T-B,L-R
1-0
[]
data
<256x256x56 double>
<256x256x66 double>
<64x64x32 double>
<256x256x256 double>
<512x512x384 double>
1
2
3
4
5
30
MRI T1
MRI T2
PET
CT
X-RAY
dimension
[1,1,1]
[1,1,0.8]
4
24
[0.5 0.5 0.5]
}...{‫מערך תאים‬
C(2,4)=[1,1,0.8]
1
‫מערך מבנים‬
2
L-R
L-R
T-B,L-R
1-0
[]
3
<256x256x56 double>
<256x256x66 double>
<64x64x32 double>
<256x256x256 double>
<512x512x384 double>
4
[1,1,1]
[1,1,0.8]
A(2,3)=724.58
1
2
3
4
5
1
48.44
73.17
800.02
220.04
210.55
4
24
[0.5 0.5 0.5]
matlab ‫סקירת סוגי ערכים ב‬
2
228.19
627.99
936.51
619.8
71.93
]...[ ‫מערך‬
3
217.08
724.58
720.51
296.97
679.15
4
165.4
312.67
363.45
710.71
173.29
‫מערכים – מימדי מערכים‬
‫‪ ‬כשמערך הוא דו מימדי הוא נקרא מטריצה‪.‬‬
‫‪ ‬מספר הערכים בכל שורה ושורה חייב להיות זהה‪.‬‬
‫‪ ‬מספר הערכים בטור חייב להיות זהה‪.‬‬
‫?‪?x‬‬
‫מערכים‬
‫‪5x4‬‬
‫‪31‬‬
‫מערכים – מימדי מערכים‬
‫‪4∙1‬‬
‫‪ ‬מערך חד מימדי‪ 1∙n :‬או ‪n∙1‬‬
‫‪ ‬נקרא גם וקטור‬
‫‪ ‬מעבר ביניהם ע"י '‬
‫‪1∙4‬‬
‫‪1 2 3 4‬‬
‫‪1‬‬
‫=’‪a‬‬
‫‪2‬‬
‫‪3‬‬
‫=‪a‬‬
‫‪4‬‬
‫‪ ‬מערך דו מימדי‬
‫‪ ‬נקרא גם מטריצה‬
‫‪3∙2‬‬
‫‪2∙3‬‬
‫‪1 2‬‬
‫‪1 3‬‬
‫‪4 5‬‬
‫‪2 6‬‬
‫‪ ‬אפשר ליצור גם מערך רב‬
‫מימדי ‪m ∙n ∙… ∙k‬‬
‫מערכים‬
‫‪1 4‬‬
‫‪1‬‬
‫=‪a‬‬
‫נקרא גם מטריצה‬
‫‪a’= 2 5‬‬
‫‪2‬‬
‫‪3 2‬‬
‫‪6‬‬
‫‪32‬‬
‫מערכים – פעולות מתמטיות‬
‫‪ ‬כל הפעולות הרגילות‬
‫‪ +‬חיבור‬
‫‪ -‬חיסור‬
‫‪ ./‬חילוק‬
‫*‪ .‬כפל‬
‫^‪ .‬חזקה‬
‫‪ ‬על מערכים באותו גודל (פרט לחזקה)‪.‬‬
‫‪ ‬על סקלרים (משתנה של ערך בודד)‬
‫‪ ‬פעולות מטריצה‬
‫‪ /‬חילוק ^ חזקה‬
‫* כפל‬
‫מערכים‬
‫‪33‬‬
‫מחרוזות‬
firstLetter = ‘a’
msg = ‘hello world’;
char ‫משתנה מסוג‬
)string( ‫מחרוזת‬
‫ ומייצגת‬.char ‫ מערך של‬,‫ מחרוזת היא סוג מיוחד של מערך‬
‫טקסט‬
msg = [‘hello world my age is’ 70];
hello world my age is F
msg = [‘hello world my age is’ 20];
hello world my age is 
34
‫מחרוזות‬
‫מחרוזות‬
‫‪ ‬הטיפוס ‪char‬‬
‫טבלת ‪ASCII‬‬
‫מחרוזות‬
‫‪35‬‬
‫מחרוזות‬
msg = [‘hello world my age is’ int2str(70)];
hello world my age is 70
msg = [‘hello world my age is’ num2str(20)];
hello world my age is 20
36
‫מחרוזות‬
‫מערכים‬
Humpty Dumpty sat on a wall
Humpty Dumpty had a great fall
All the king's horses and all the king's men
Couldn't put Humpty together again
5x4
37
27
30
44
34
?x?
‫תאים‬
‫תאים‬
Humpty Dumpty sat on a wall
Humpty Dumpty had a great fall
All the king's horses and all the king's men
Couldn't put Humpty together again
5x4
27
30
44
34
Humpty_song =
?x?
{['Humpty
'Humpty Dumpty
Dumpty sat
sat on
on aa wall';
wall';
'Humpty Dumpty had a great fall';
'All the king''s horses and all the king''s men';
'Couldn''t put Humpty together again‘]
again‘}
38
‫תאים‬
‫תאים‬
‫‪ ‬מערך תאים הוא אוסף של אזורי זכרון שאפשר לאחסן בהם מידע‬
‫מסוגים שונים‪.‬‬
‫‪ ‬כמו במערכים ב ‪ matlab‬גם מערך תאי צריך להיות מרובע‬
‫?‪?x‬‬
‫‪5‬‬
‫‪1‬‬
‫תאים‬
‫‪39‬‬
‫תאים‬
‫‪ ‬יצירת תא על ידי סוגריים מסולסלים‪C = {A B ; D E} :‬‬
‫‪ ‬שילוב‪:‬‬
‫}‪C1 = {C2 C3‬‬
‫‪ ‬ליצירת מערך תאים שמכיל ‪ 2‬תאים‬
‫]‪C4 = [C2 C3‬‬
‫‪ ‬להגדלת תא אחד‬
‫‪ – C)s( ‬מחזיר תא‬
‫‪ – C{s} ‬מחזיר ערך‬
‫‪C4‬‬
‫תאים‬
‫‪C1‬‬
‫‪C1 C4‬‬
‫‪40‬‬
‫מתאים למערכים חזרה‬
:‫ מערך תאים המכיל את ימות השבוע‬
days = {'Sunday', 'Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'};
1x7 :‫גודל‬
dayz = {'Sunday‘; 'Monday‘;'Tuesday‘;'Wednesday‘;'Thursday‘;'Friday‘;'Saturday'};
7x1 :‫גודל‬
Days =
‫ הופכת מערך תאי‬char ‫ הפקודה‬
Days = char(days): [‘Sunday
’
‘Monday
’
‫למערך מחרוזות הכוללת רווחים‬
Days = char(dayz):
‘Tuesday ’
‫בכדי שגודל כל המחרוזות יהיה‬
‘Wednesday’
.‫זהה‬
‘Thursday ’
‘Friday
’
‘Saturday ’]
strtrim(Days(3,:)) = ‘Tuesday’
41
‫ תסיר את הרווחים‬strtrim ‫ הפקודה‬
.‫בשליפה‬
‫תאים ומערכים‬
‫מבנים‬
‫) היא צורת אחסון נתונים מעורבים כמו תאים‬struct( ‫ מבנה‬
.‫ במבנה לכל תא קוראים בשם‬
Scans.name
Scans.orientation
Scans.data
Scans.dimensions
‘MRI T1’
‘L-R’
[ 256 x 256 x 50]
[1.5, 2, 3 ]
:‫ לדוגמא‬
:‫ יצירת מערך‬
Struct_name = struct(field_1,value_1,field_2,value_2, . . . , field_n,value_n)
Scans = struct(‘name’,‘MRI T1’, ‘orientation’,‘L-R’,’data’,MRI_T1, ‘dimensions’,[1.5, 2, 3])
42
‫מבנים‬
‫מערך מבנים‬
.‫ בדרך כלל נרצה ליצור מערך מבנים‬
.‫ לכל המבנים במערך יהיו אותם שדות‬
‫ לא חובה שיהיו אותם סוגי ערכים‬
:‫ יצירת מערך‬
Struct_name = struct(field_1,{values},field_2, {values}, . . . , field_n, {values})
Scans = struct(‘name’,{‘MRI T1’,’CT’}, ‘orient’,{‘L-R’,0:1},’data’,{MRI_T1,CTscan}, … ‘dims’,{[1.5, 2,
3], 256})
Scans(1).name
Scans(1).orient
Scans(1).data
Scans(1).dims
43
‘MRI T1’
‘L-R’
[ 256 x 256 x 50]
[1.5, 2, 3 ]
Scans(2).name
Scans(2).orient
Scans(2).data
Scans(2).dims
‘MRI T1’
[0 1]
[256 256 256]
256
‫מבנים‬
‫טיפוסים מרובי משתנים‬
‫‪ [[ ‬מערך ‪ -‬מרובע‪ ,‬אותו סוג טיפוס בכל המערך‪.‬‬
‫‪}{ ‬מערך תאים ‪ -‬מרובע‪ ,‬יכול להכיל מספר סוגי טיפוסים בתאים שונים‬
‫‪ – strcut ‬רשימת שדות וערכיהם‪ .‬פנייה באמצעות שם שדה ולא‬
‫באמצעות אינדקס‪.‬‬
‫‪ ‬מערך מבנים ‪ -‬מערך של ‪ struct‬אותם שדות חייבים להיות בכל מבנה‬
‫אך לא אותם סוגי טיפוסי נתונים‪.‬‬
‫‪ ‬מחרוזת – מערך של אותיות (טיפוס מסוג ‪ – )char‬משמש לאחסון‬
‫טקסט‪.‬‬
‫טיפוסים מרובי משתנים ב ‪matlab‬‬
‫‪44‬‬
‫סוגי משתנים‬
‫סקירת סוגי משתנים ב ‪matlab‬‬
‫‪45‬‬
‫סוגי ערכים‬
‫‪0 ‬‬
‫‪ -‬המספר ‪ false ,0‬בטיפוס ‪logical‬‬
‫‪1 ‬‬
‫‪ -‬המספר ‪ true ,1‬בטיפוס ‪ logical‬ובעצם כל מספר אחר‪...‬‬
‫‪ [[ ‬ערך ריק ‪ -‬כאשר הערך לא ידוע‪.‬‬
‫‪ – Inf ‬אין סוף ‪ -‬לדוגמה תוצאת חלוקה ב ‪.0‬‬
‫‪ – NaN ‬לא מספר‪ .‬כאשר הערך לא מוגדר לדוגמא‪.0 * Inf :‬‬
‫‪ ‬ביצוע השוואות על ‪ [],Inf,Nan‬יעשה תמיד דרך‪:‬‬
‫)(‪isnan(), isinf(), isempty‬‬
‫סקירת סוגי ערכים ב ‪matlab‬‬
‫‪46‬‬
‫‪nargin‬‬
‫‪‬לפעמים נרצה לאפשר למשתמש להזין רק מספר משתנים‬
‫לפונקציה‪ ,‬ובכל מצב אחר להשתמש בערכי ברירת מחדל‬
‫‪‬המשתנה המובנה ‪ nargin‬מאפשר לנו לדעת כמה משתנים‬
‫קיבלנו לתוך הפונקציה‬
‫‪nargout‬‬
‫‪‬לפעמים נרצה להגיב אחרת בהתאם למספר המשתנים‬
‫המבוקשים‬
‫‪‬המשתנה המובנה ‪ nargout‬מאפשר לנו לדעת כמה משתנים‬
‫נתבקשנו להוציא מתוך הפונקציה‬
‫‪ nargin‬ו ‪nargout‬‬
‫‪47‬‬
nargout
function seasonName = Season3(monthNumber)
switch monthNumber
case {1,2,12}
seasonName=('Winter');
case {3,4,5}
seasonName=('Spring');
case {6,7,8}
seasonName=('Summer');
case {9,10,11}
seasonName=('Autumn');
otherwise
seasonName=('Unknown month');
end
if nargout==0
disp(SeasonName);
end
end
48
>>season=Season3(8);
>>season
season =
Summer
>>Season3(8)
Summer
>>
nargout
nargin
function seasonName = Season4(monthNumber)
if nargin==0
monthNumber = input(‘what month is it? ’);
end
switch monthNumber
case {1,2,12}
seasonName=('Winter');
case {3,4,5}
seasonName=('Spring');
case {6,7,8}
seasonName=('Summer');
case {9,10,11}
seasonName=('Autumn');
otherwise
seasonName=('Unknown month');
end
end
49
>>Season4(8)
ans =
Summer
>>Season4()
what month is it? 3
ans =
Spring
>>
nargin
‫קבצי ‪mat‬‬
‫‪ ‬ניתן לשמור את כל המשתנים שיש לנו בסביבת העבודה או את‬
‫חלקם‪.‬‬
‫‪ ‬שמירת כל המשתנים לקובץ בפורמט בינארי‪:‬‬
‫‪save filename‬‬
‫‪ ‬טעינת המשתנים חזרה לסביבת העבודה‪:‬‬
‫‪load filename‬‬
‫‪‬שמירת מספר משתנים‬
‫*‪save filename var1 var2 var3 ab‬‬
‫*‪ - ab‬יישמור את כל המשתנים שמתחילים באותיות ‪ab‬‬
‫כקריאה לפונקציה‪:‬‬
‫;(’*‪save)‘filename’, ‘var1’, ‘var2’, ‘var3’, ‘ab‬‬
‫אחזור נתונים‬
‫‪50‬‬
‫קבצי נתונים‬
‫‪‬לעתים ה ‪ matlab‬לא מכיר סוג קובץ מסוים או שאנחנו רוצים‬
‫לבצע ייבוא בצורה מיוחדת ונכתוב קוד בעצמנו אשר קורא את‬
‫הקובץ או שומר אותו‪:‬‬
‫‪‬קריאת קובץ‪:‬‬
‫‪‬פתיחת הקובץ לקריאה‬
‫‪‬קריאה של נתונים ממנו‪.‬‬
‫‪‬סגירת הקובץ‬
‫‪‬עיבוד הנתונים לתוך משתנים‬
‫‪‬שמירת קובץ‪:‬‬
‫‪‬פתיחת הקובץ לשמירה‬
‫‪‬כתיבה של נתונים אליו‪.‬‬
‫‪‬סגירת הקובץ‬
‫אחזור נתונים‬
‫‪51‬‬
‫הצגה גרפית‬
‫‪‬שלב ראשון של הצגה גרפית היא יצירת חלון שעליו יצוייר הגרף ‪/‬‬
‫תמונה וכו'‬
‫;‪h = figure‬‬
‫‪‬הפונקציה ‪ figure‬יוצרת חלון ומחזירה לנו מספר שנוכל להשתמש‬
‫בו בשביל לפנות לחלון‬
‫‪‬לא חובה לשמור את המספר‬
‫‪‬לא חובה ליצור חלון‪ ,‬כל הפונקציות הגרפיות יוצרות בעצמן חלון‬
‫גרפי‬
‫‪‬במידה וכבר קיימים חלונות גרפיים הפונקציות יכתבו לחלון הגרפי‬
‫האחרון שהסתכלנו עליו‪.‬‬
‫אחזור נתונים‬
‫‪52‬‬
‫הצגה גרפית‬
‫‪‬לאחר ציור הגרף ניתן לשלוט על המראה הכללי‪:‬‬
‫‪‬מתן שמות לסרגלים‬
‫)שם(‪ylabel‬‬
‫‪‬מתן שם לגרף‬
‫;)שם(‪xlabel‬‬
‫;)שם(‪title‬‬
‫‪‬קביעת טווח הסרגלים‪:‬‬
‫;)]‪axis([xmin xmax ymin ymax‬‬
‫אחזור נתונים‬
‫‪53‬‬
‫הצגת תמונות‬
‫‪‬קיימות שתי פקודות להצגת תמונות‪:‬‬
‫;)מטריצה(‪image‬‬
‫)מטריצה(‪imagesc‬‬
‫‪ image‬מציגה ערכים שהם בטווח של ‪ 0‬עד ‪1‬‬
‫‪ imagesc‬מציגה ערכים בכל טווח‬
‫‪‬רוב התמונות שנציג יהיו שחור לבן‪.‬‬
‫‪‬כדי להציג תמונה צבעונית צריך מטריצה תלת מימדית כאשר‬
‫המימד השלישי מייצג לפי הסדר את ערכי האדום ירוק וכחול של‬
‫התמונה‪.‬‬
‫אחזור נתונים‬
‫‪54‬‬
‫הצגת תמונות‬
‫‪‬כדי לצבוע תמונה בשחור לבן משתמשים ב‪:‬‬
‫;)שם המפה(‪colormap‬‬
‫רשימת המפות המובנות‪:‬‬
‫אחזור נתונים‬
‫‪55‬‬
‫חלוקת חלון התצוגה‬
‫‪‬הפונקציה ‪ subplot‬מחלקת את חלון הציור לתתי חלונות‬
‫ובוחרת תת חלון נוכחי‬
‫;)תת חלון נבחר ‪,‬טורים‪,‬שורות(‪subplot‬‬
‫הצגת נתונים‬
‫‪56‬‬
‫ניתוח תמונות במחקר‬
‫ניתוח ריצת ‪:DNA‬‬
‫האם המקטע שרצינו להגביר שוכפל ב ‪? PCR‬‬
‫זיהוי קיומם של ‪ bands‬מסוימים בג'ל בצורה‬
‫אוטומטית‪.‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪57‬‬
‫ניתוח תמונות במחקר‬
‫’‪0’ 30’ 60’ 90‬‬
‫הערכת דרגת ניקיון של חלבונים‪:‬‬
‫השוואה בין בנדים שונים‪ :‬איך?‬
‫‪ ‬מציאת גבולות כל בנד‬
‫‪ ‬חישוב רמת הסיגנל ‪ /‬רמת סיגנל‬
‫הרקע בעמודה‪.‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪58‬‬
‫ניתוח תמונות במחקר‬
‫צביעות אימונוהיסטוכימיות‪:‬‬
‫זיהוי ריכוז חלבון מסוים באזורים שונים‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪59‬‬
‫ניתוח תמונות במחקר‬
‫צביעות אימונוהיסטוכימיות‪:‬‬
‫זיהוי תאים וספירתם‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪60‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫עוצמת בהירות‬
‫צבע מלא‬
‫שיעור ‪ - 7‬חזרה‬
‫תמונות בינאריות‬
‫אינדקס צבע‬
‫‪61‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫תמונות בינאריות )לוגיות)‬
‫‪ ‬מכילות רק ערכי ‪ 0‬ו ‪1‬‬
‫‪ ‬חייבות להיות מטיפוס ‪logical‬‬
‫)(‪dither‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫)(‪im2bw‬‬
‫‪62‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫תמונות עוצמת בהירות )‪)grayscale‬‬
‫’‪0’ 30’ 60’ 90‬‬
‫‪ ‬מכילות ערכים בטווח ‪0-1‬‬
‫‪ ‬חייבות להיות מטיפוס ‪double‬‬
‫‪ ‬ניתן להמיר מטריצה ע"י‪mat2gray :‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪63‬‬
‫תפיסת צבע‬
‫‪ ‬הראייה האנושית הינה טריכרומטית‬
‫‪ ‬תפיסת צבעים מורכבת משילוב שלושה צבעי יסוד‪:‬‬
‫אדום )‪ ,)565nm‬ירוק )‪ ,)545nm‬כחול )‪)440nm‬‬
‫‪ ‬ייצוג צבע במחשב מורכב‬
‫משילוב של רמות בהירות ב ‪3‬‬
‫צבעי היסוד‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪64‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫תמונות צבע מלאות‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫הצורה הטבעית של תמונות כפי ששמורות‬
‫בקבצי תמונה במחשב )‪)jpeg, bitmap‬‬
‫לאחר קריאה מתקבלת מטריצה של ‪int8‬‬
‫מגודל ‪mxnx3‬‬
‫מטריצה ראשונה מגודל ‪ mxn‬מייצגת את הצבע האדום‬
‫מטריצה שנייה מגודל ‪ mxn‬מייצגת את הצבע הירוק‬
‫מטריצה שלישית מגודל ‪ mxn‬מייצגת את הצבע הכחול‬
‫לצורך עבודה יש להמיר לסוג ‪ double‬בטווח ערכים ‪ 0-1‬וזאת‬
‫ע"י הפקודה ‪.im2double‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪65‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫תמונות אינדקס צבע‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫נפח הזיכרון הדרוש לשמירת תמונה‪:‬‬
‫‪258x350x3‬‬
‫אם מספר הצבעים בתמונה מוגבל )‪: )128‬‬
‫נוכל לשמור בצד רשימה של הצבעים וליצור‬
‫מטריצה חדשה שבה רשום רק מספר הצבע‪.‬‬
‫נפח הזיכרון הדרוש הינו בערך שליש‪:‬‬
‫‪258x350+128x3‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪66‬‬
‫ניתוח תמונות במחקר‬
‫עמידות גנטית‪:‬‬
‫‪‬ספירת מספר מושבות בצלחת‬
‫‪‬מאפייני המושבות – צורה‪ ,‬בהירות‪.‬‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪67‬‬
‫זיהוי אובייקטים‬
‫‪ ‬קריאת התמונה ‪ ‬זיהוי הדרגתיות‬
‫עוצמת הרקע‬
‫‪ ‬המרה לתמונה בינארית‬
‫סוגי תמונות ב ‪matlab‬‬
‫‪ ‬תיקון הרקע‬
‫‪ ‬זיהוי אובייקטים‬
‫‪68‬‬
‫‪fitting‬‬
‫‪ ‬המטרה‪ :‬התעלמות מרעש וטעויות מדידה והבאת הנתונים שלנו‬
‫לערכים "האמיתיים" שהיו אמורים לקבל‬
‫‪ ‬התאמה מאפשרת לנו למצוא יחס מתמטי בין משתנה מנבא‬
‫לערכים נמדדים‪.‬‬
‫‪69‬‬
fitting
70
‫‪clustering‬‬
‫‪ ‬תהליך של חלוקה אוטומטית לקבוצות‬
‫‪ ‬כיצד מחליטים מהי קבוצה?‬
‫‪ ‬כיצד מחליטים אם ערך מסוים שייך לקבוצה?‬
‫‪71‬‬
‫‪K -Means‬‬
‫‪ ‬חלוקה ל ‪ K‬קבוצות‬
‫‪ ‬צריך להחליט מראש מהו ה ‪) K‬כמה קבוצות יש)‬
‫‪ ‬התהליך‪:‬‬
‫‪ ‬יצירת ‪ k‬מרכזים ראנדומליים‬
‫‪ ‬שיוך של נקודות ל ‪ k‬המרכזים )כל נקודה משוייכת למרכז הקרוב לה‬
‫ביותר)‬
‫‪ ‬חישוב מחדש של המרכזים‬
‫‪72‬‬
‫ הדגמה‬- K-Means
73
‫‪lookfor‬‬
‫‪ ‬מציאת פקודות שפותרות בעיה מסויימת‪.‬‬
‫‪ ‬ה ‪ matlab‬מבצע מעבר על העזרה של הפונקציות השונות ומפרט‬
‫את כל הפונקציות אשר המלה שאנחנו מחפשים מופיעה בשם‬
‫הפונקציה או בעזרה שלה‪.‬‬
‫‪edit‬‬
‫‪ ‬עריכת קובץ פקודות שכתבנו‪.‬‬
‫‪ ‬עריכת )צפייה) בקובץ פקודות מובנה של ה ‪!!matlab‬‬
‫‪74‬‬
‫‪ ‬השימוש ב ‪ matlab‬נפוץ ביותר בקרה הקהילה האקדמית‬
‫‪ ‬כמות רבה של קוד והתייחסות לאפליקציות של ‪ matlab‬קיימת ב‬
‫‪web‬‬
‫‪ ‬הנוהג בקהילה המדעית הינו לפרסם כל חומר מדעי ששימש‬
‫במחקר ולכן בהרבה מקרים מאמרים מלווים בקוד שהיווה בסיס‬
‫למחקר‬
‫‪ ‬פלטפורמה להחלפת מידע תכנותי ב ‪matlab‬‬
‫‪ ‬מקור לקוד שיכול לשמש בסיס לפתרון בעיות‬
‫‪ ‬חסכון בצורך להמציא את הגלגל מחדש‬
‫‪75‬‬