אלגוריתם לביצוע אינטגרל על פונקציה רציונאלית

מתוך Math-Wiki

אלגוריתם מלא לביצוע אינטגרל על פונקציה רציונאלית

תהי פונקציה מהצורה [math]\displaystyle{ f(x)=\frac{p(x)}{q(x)} }[/math] כאשר p,q פולינומים. נתאר אלגוריתם לחישוב [math]\displaystyle{ \int f(x)dx }[/math].

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

מצב ראשון [math]\displaystyle{ deg(p)=deg(q)-1 }[/math]

ניתן למצוא קבוע c כך ש [math]\displaystyle{ h=cp-q' }[/math] כך ש[math]\displaystyle{ deg(h)\lt deg(q)-1 }[/math].

אז רושמים [math]\displaystyle{ \int\frac{p}{q}=\int\frac{q'+h}{c\cdot q}=\frac{1}{c}ln(q) + \int\frac{h}{c\cdot q} }[/math]

וממשיכים לשלב הבא:

מצב שני [math]\displaystyle{ deg(p)\lt deg(q)-1 }[/math]

  • נפרק את q לגורמים אי פריקים:

[math]\displaystyle{ q(x)=(x-a_1)^{n_1}\cdots (x-a_k)^{n_k}\cdot(x^2+c_1x+b_1)^{m_1}\cdots (x^2+c_jx+b_j)^{m_j} }[/math]


  • כעת, נפרק את הפונקציה הרציונאלית לשברים חלקיים:

[math]\displaystyle{ \frac{p}{q}=\Big[\frac{A_{1,1}}{x-a_1}+\frac{A_{1,2}}{(x-a_1)^2}+...+\frac{A_{1,n_1}}{(x-a_1)^{n_1}}\Big]+...+\Big[\frac{A_{k,1}}{x-a_k}+\frac{A_{k,2}}{(x-a_k)^2}+...+\frac{A_{k,n_k}}{(x-a_k)^{n_k}}\Big] + \Big[\frac{B_{1,1}x + C_{1,1}}{x^2+c_1x+b_1}+\frac{B_{1,2}x + C_{1,2}}{(x^2+c_1x+b_1)^2}+...+\frac{B_{1,m_1}x + C_{1,m_1}}{(x^2+c_1x+b_1)^{m_1}}\Big]+... }[/math]


  • נעשה מכנה משותף ונשווה בין הפולינום שנקבל במונה לפולינום p, מקדם מקדם. נקבל מערכת משוואות ממנה נחשב את הקבועים [math]\displaystyle{ A_{i,j},B_{i,j},C_{i,j} }[/math].
  • נחשב כל מחובר בנפרד:

אינטגרל מהצורה [math]\displaystyle{ I_m=\int\frac{A}{(x-a)^m} }[/math]

נבצע הצבה [math]\displaystyle{ t=x-a }[/math] על מנת לקבל:


[math]\displaystyle{ I_1=Aln(x-a)+C }[/math]


[math]\displaystyle{ I_m=\frac{-A}{(m-1)(x-a)^{m-1}}+C }[/math]

אינטגרל מהצורה [math]\displaystyle{ I_m=\int\frac{Bx+C}{(x^2+bx+c)^m} }[/math] (כאשר המכנה אי פריק)

  • דבר ראשון, נבצע את המצב הראשון באלגוריתם על מנת לצמצם את הבעייה לאינטגרל מהצורה [math]\displaystyle{ I_m=\int\frac{A}{(x^2+bx+c)^m} }[/math]


  • שנית, נבצע השלמה לריבוע על מנת לקבל את האינטגרל [math]\displaystyle{ I_m=\int\frac{A}{(\Big[x+\frac{b}{2}\Big]^2+\Big[c-(\frac{b}{2})^2\Big])^m} }[/math]


  • כעת, בעזרת הצבה לינארית פשוטה נעבור לאינטגרל מהצורה [math]\displaystyle{ G_m=\int\frac{A}{(x^2+a^2)^m} }[/math]


  • נעזר בנוסחא הרקורסיבית הבאה:


    • [math]\displaystyle{ G_1=\frac{A}{a}arctan(\frac{x}{a}) +C }[/math]


    • [math]\displaystyle{ G_{m+1}=\frac{2m-1}{2ma^2}\cdot G_m + \frac{1}{2ma^2}\cdot\frac{x}{(x^2+a^2)^m} }[/math]

מצב שלישי [math]\displaystyle{ deg(p)=deg(q) }[/math]

  • קיים קבוע c כך שקיים פולינום h המקיים [math]\displaystyle{ h=cp-q }[/math] וגם [math]\displaystyle{ deg(h)\lt deg(q) }[/math].


  • נפריד את האינטגרל לשניים [math]\displaystyle{ \int\frac{p}{q}=\int\frac{q+h}{c\cdot q}=\int{1}+\int\frac{h}{q} }[/math]


  • נחזור למצב הראשון או השני להמשך החישוב.


מצב רביעי [math]\displaystyle{ deg(p)\gt deg(q) }[/math]

  • נבצע חלוקת פולינומים על מנת לקבל את הנוסחא [math]\displaystyle{ p(x)=a(x)q(x)+r(x) }[/math] כאשר מתקיים [math]\displaystyle{ deg(r)\lt deg(q) }[/math]


  • מתקיים [math]\displaystyle{ \int\frac{p}{q}=\int\frac{aq+r}{q}=\int{a(x)}+\int\frac{r}{q} }[/math]


  • נמשיך לפתור את האינטגרל בעזרת המצב הראשון או השני.