תכנות נומרי עם Matlab ו-Octave/מספרים מרוכבים
להעביר לנספחים
הקדמה
פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.
כדאי לדעת: דף זה דורש ידע קודם במספרים מרוכבים. כדאי לקרוא את הספר מספרים מרוכבים. |
ניצור מספר מרוכב:
octave:16> x=3+4i
x = 3 + 4i
ונבדוק מיהו:
octave:17> whos x
*** local user variables:
Prot Name Size Bytes Class
==== ==== ==== ===== =====
rwd x 1x1 16 double
Total is 1 element using 16 bytes
פעולות חישוב
עריכהניתן לבצע פעולות חשבוניות על וקטורים עם מספרים ממשיים:
octave:9> x=3+2i;
octave:10> x+4
ans = 7 + 2i
octave:11> x*2
ans = 6 + 4i
ואף עם וקטורים אחרים:
octave:12> y=2+4i
y = 2 + 4i
octave:13> x+y
ans = 5 + 6i
octave:14> x*y
ans = -2 + 16i
ניתן להגדיר מספר מרוכב שהאיברים בו הם משתנים. אבל צריך שהמשתנים הללו יהיו קיימים.
octave:21> a=1;b=2;
octave:22> x=a+b*i
x = 1 + 2i
שימו לב: שימו לב לפעולת הכפל בין b ל i לא ניתן לחבר בין האיברים ללא כפל (כמו במתמטיקה) כי אז התוכנה תחפש משתנה בשם bi . |
i הוא קבוע הקיים בתוכנה (שערכו שורש של 1-). אם נגדיר משתנה בשם i לא נקבל מספר מרוכב.
octave:25> i=5;
octave:26> x=a+b*i
x = 11
ולכן נמחק את המשתנה i ונריץ שוב את הפקודה:
octave:27> clear i
octave:28> x=a+b*i
x = 1 + 2i
שימו לב: כאשר כותבים תוכנית שמשתמשת במספרים מרוכבים, רצוי לאתחל את i בתחילת התוכנית, ולא להשתמש במשתנה (להציב איברים לתוכו) |
וקטורים ומטריצות
עריכהכמו בשימוש במספרים ממשיים, גם עם מספרים מרוכבים ניתן לבנות מערך שורה ( כלומר וקטור של מספרים מרוכבים) ואף מטריצות:
octave:32> a=[1+5i,2+3i,4+2i;3+2i,2+2i,4+4i]
a =
1 + 5i 2 + 3i 4 + 2i
3 + 2i 2 + 2i 4 + 4i
מה יקרה אם נבנה מערך שחלר מאיבריו הם מספרים מרוכבים והשאר מספרים ממשיים ?
octave:34> a=[1+5i,pi,4+2i;e,2+2i,4]
a =
1.0000 + 5.0000i 3.1416 + 0.0000i 4.0000 + 2.0000i
2.7183 + 0.0000i 2.0000 + 2.0000i 4.0000 + 0.0000i
במקרה הזה התוכנה תתייחס לכל המספרים כאל מרוכבים ותוסיף חלק המדומה 0i
שחלוף
עריכההאם ניתן לשחלף מטריצה של מספרים מרוכבים ? ננסה :
octave:32> a=[1-5i,2+3i,4+2i;3+2i,2-2i,4+4i]
a =
1 - 5i 2 + 3i 4 + 2i
3 + 2i 2 - 2i 4 + 4i
octave:33> a'
ans =
1 + 5i 3 - 2i
2 - 3i 2 + 2i
4 - 2i 4 - 4i
שחלוף מטריצה מרוכבת הופך את אברי המטריצה לצמוד המרוכב שלהם
אבל רצינו מטריצה משוחלפת! לשם כך נוסיף נקודה לפני הגרש .'
octave:33> a.'
ans =
1 - 5i 3 + 2i
2 + 3i 2 - 2i
4 + 2i 4 + 4i
ונקבל מטריצה משוחלפת של המספרים המרוכבים.
פונקציות למספרים מרוכבים
עריכהcomplex
עריכה- הפונקציה מקבלת שבר עשרוני והופכת אותו למספר מרוכב.
- הפונקציה מקבלת חלק מדומה וממשי ומציגה אותם כמספר מרוכב.
complex(0.886)
ans = 0.88600 + 0.00000i
complex(3,4)
ans = 3 + 4i
real
עריכהמחזירה את החלק האמיתי של המספר המרוכב.
z=4+5i;
real(z)
ans = 4
imag
עריכהמחזירה את החלק המדומה של המספר המרוכב..
imag(z)
ans = 5
כדאי לדעת: קיימת פונקציה שונה שנקראת image, לא להתבלבל.. |
angle / arg
עריכההפונקציות מחזירות את הזוית בין החלק המדומה לממשי.
angle(z)
ans = 0.89606
conj
עריכההפונקציה מחזירה את הצמוד המרוכב (conjugate) לדוגמה:
conj(1+3i)
ans = 1 - 3i
הפרק הקודם: מערכים |
מספרים מרוכבים | הפרק הבא: רשומות |