שאלה על מטלב

שאלה על מטלב

אני צריך להגדיל את הדיוק הנומרי של מטלב, האם מישהו מכיר דרך?
למשל ראו את התמונה של הקוד המצורף...

 
אמת, גם אני הגעתי לזה.

כאשר הרצתי את הקוד הנ"ל היה עדיין אותו סדר גודל של שגיאה (10^-16), לכן אני חושב או שאני לא משתמש בה טוב או שהיא לא עושה את זה.
 

1ca1

New member
ה-10 בחזקת מינוס 16 נובע מהגדרת ה-double

אתה צריך לשנות ממש את הקוד (במינימום, להצהיר על המשתנים בצורה מדוייקת) בשביל להשתמש ב-VPA הזה (אני לא מכיר מספיק טוב את מופאד, אלא את מייפל ומאז שהחליפו אני כבר פחות מתמצא בעניינים הטכניים העדינים האלה).
&nbsp
בכל אופן, יכול להיות שיש שם גם בעיה בגלל ה-solver עצמו של ה-eig (צריך לראות בדיוק איזה סולבר ממומש על איזה סוג משתנה במאטלאב בגירסא שלך).
&nbsp
לרוב אם אתה רוצה חישובים במספרים ארוכים מאוד, יש ספריות סיפיפי מיוחדות לנושא.
אני גם לא מבין בדיוק מה אתה מנסה לחשב פה, נורמת פרון-פרובניוס? לעיתים יש לזה הצגות טובות יותר מאשר סתם לכסון, פשוט תהליך הלכסון עצמו הוא בזבזני במאטלאב.
באופן כללי, אתה פותר פולינום שמוגרל רנדומלית, חשבת על איזה דיוק נותן לך ה-rand? איזה דיוק נותן לך פתרון המשוואה? אחרי שיש לך את שני אלו, הבנייה של Q מיידית (זה מערכת משוואות לינארית), אבל תזכור שעשויה להיות שם חלוקה במספרים שנגזרים מהמספרים הרנדומיים, אז הנה עוד שגיאה (או מה שנקרא - ill conditioned matrix).
 
זאת לא בעיה האמתית שלי

בבעיה שלי נתונה מטריצה R מסדר 5000 שהמספרים שלה בגודל של כ-10^-9 ואני צריך לחשב את המטריצה (T=sum(n=0..inf,R^n כלומר I+R+R^2+.....
באופן ישיר זה לא ניתן לביצוע, אז אני מחשב T=Q*1/1-D*Q^-1 (אני יודע שהערכים העצמים שלי קטנים מ-1), היות ובמטריצה בגודל 5000x5000 שהשגיאה בסדר גודל של 10^-11.
 

1ca1

New member
חשבת להשתמש ברזולוונט?

הרי זה מתכנס ל- zz (I-R)^-1 zz כל עוד הדברים יוצאים טוב (המטריצה לא רחוקה מדי מהיחידה).
למה ללכסן?
 
פעם ראשונה שאני שומע על הדבר הזה.

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

עריסטו

Active member
עוד דרך לחשב את הסכום

(I+R)(I+R^2)(I+R^4)(I+R^8)...
כאשר מחשבים כמובן את R^8 על ידי העלאה בריבוע של R^4.
 
רעיון טוב, אתה חושב שזה יוריד את השגיאה של החישוב?

והאם יש לך רעיון איך להעריך את השגיאה של:
1) ההזנחה של הזנב, כי אני לא יכול לעשות את זה עד אינסוף.
2) הכפל מטריצות.

חשוב לציין רוב המספרים שלי ב-R הם ממש אפס, יש אולי 10,000 מתוך 25,000,000 שהם בסדר גודל של 10^-4 (כן, התבלבלתי בהודעה הקודמת), לכן אני חייב להיזהר עם השגיאה.
 

עריסטו

Active member
לגבי הכפל אני לא יודע

לגבי ההזנחה של הזנב - אולי אחרי הכפלת מספר קטן של איברים המכפלה ממילא תפסיק להשתנות ואז אין טעם להמשיך להכפיל.
 
למעלה