אלגוריתם לביצוע אינטגרל על פונקציה רציונאלית: הבדלים בין גרסאות בדף

מתוך Math-Wiki
אין תקציר עריכה
אין תקציר עריכה
שורה 1: שורה 1:
[[קטגוריה:אינפי]]
[[קטגוריה:אינפי]]
=אלגוריתם '''מלא''' לביצוע אינטגרל על פונקציה רציונאלית=
=אלגוריתם לביצוע אינטגרל על פונקציה רציונאלית=
תהי פונקציה מהצורה <math>f(x)=\frac{p(x)}{q(x)}</math> כאשר <math>p,q</math> פולינומים. נתאר אלגוריתם לחישוב <math>\int f(x)dx</math> .
תהי פונקציה מהצורה <math>f(x)=\frac{p(x)}{q(x)}</math> כאשר <math>p,q</math> פולינומים. נתאר אלגוריתם לחישוב <math>\int f(x)dx</math> .


'''עובדה'''. כל פולינום אפשר לפרק מעל הממשיים לגורמים ממעלה 1 ו-2 (עובדה זו נובעת מכך ששדה המספרים הממשיים הוא [http://he.wikipedia.org/wiki/%D7%A9%D7%93%D7%94_%D7%A1%D7%92%D7%95%D7%A8_%D7%9E%D7%9E%D7%A9%D7%99%D7%AA שדה סגור ממשית]. איננו מטפלים כאן בבעיה האלגוריתמית של פירוק פולינום לגורמים).
'''עובדה'''. כל פולינום אפשר לפרק מעל הממשיים לגורמים ממעלה 1 ו-2 (עובדה זו נובעת מכך ששדה המספרים הממשיים הוא [http://he.wikipedia.org/wiki/%D7%A9%D7%93%D7%94_%D7%A1%D7%92%D7%95%D7%A8_%D7%9E%D7%9E%D7%A9%D7%99%D7%AA שדה סגור ממשית].  


==מצב ראשון <math>\deg(p)=\deg(q)-1</math>==
איננו מטפלים כאן בבעיה האלגוריתמית של פירוק פולינום לגורמים), האלגוריתם מניח שאנו יודעים את הפירוק של המכנה.
ניתן למצוא קבוע <math>c</math> כך ש- <math>h=cp-q'</math> כך ש- <math>\deg(h)<\deg(q)-1</math> .


אז רושמים <math>\int\frac{p}{q}=\int\frac{q'+h}{c\cdot q}=\frac{\ln(q)}{c}+\int\frac{h}{c\cdot q}</math>
==סקירה כללית==
האלגוריתם מורכב משלושה שלבים:
*שלב ראשון - אם הפולינום במונה מדרגה גדולה או שווה לפולינום במכנה, נבצע חילוק פולינומים.
*שלב שני - נניח שהפולינום במונה מדרגה קטנה ממש מהפולינום במכנה. נפרק את הפונקציה הרציונאלית לשברים חלקיים.
*שלב שלוש - נחשב את האינטגרל של כל שבר חלקי.


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


==מצב שני <math>\deg(p)<\deg(q)-1</math>==
==שלב ראשון==
*נפרק את <math>q</math> לגורמים אי-פריקים:
לאחר ביצוע חילוק פולינומים נקבל <math>p(x)=h(x)q(x)+r(x)</math> ולכן <math>\frac{p(x)}{q(x)}=h(x)+\frac{r(x)}{q(x)}</math>.
 
האינטגרל על <math>h(x)</math> הוא אינטגרל מיידי על פולינום, ונותרנו עם האינטגרל על הפונקציה הרציונאלית <math>\frac{r(x)}{q(x)}</math> בה המונה מדרגה קטנה ממש מאשר המכנה.
 
==שלב שני==
כעת אנו מניחים שהמונה מדרגה קטנה ממש מהמכנה.
 
נפרק את <math>q</math> לגורמים אי-פריקים:


:<math>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>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>\frac{p}{q}=\Big[\frac{A_{1,1}}{x-a_1}+\frac{A_{1,2}}{(x-a_1)^2}+\cdots+\frac{A_{1,n_1}}{(x-a_1)^{n_1}}\Big]+\cdots+
:<math>\frac{p}{q}=\Big[\frac{A_{1,1}}{x-a_1}+\frac{A_{1,2}}{(x-a_1)^2}+\cdots+\frac{A_{1,n_1}}{(x-a_1)^{n_1}}\Big]+\cdots+
שורה 25: שורה 34:
:<math>+\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}+\cdots+\frac{B_{1,m_1}x+C_{1,m_1}}{(x^2+c_1x+b_1)^{m_1}}\Big]+\cdots</math>
:<math>+\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}+\cdots+\frac{B_{1,m_1}x+C_{1,m_1}}{(x^2+c_1x+b_1)^{m_1}}\Big]+\cdots</math>


*נעשה מכנה משותף ונשווה בין הפולינום שנקבל במונה לפולינום <math>p</math> , מקדם מקדם. נקבל מערכת משוואות ממנה נחשב את הקבועים <math>A_{i,j},B_{i,j},C_{i,j}</math> .
נעשה מכנה משותף ונשווה בין הפולינום שנקבל במונה לפולינום <math>p</math> , מקדם מקדם. נקבל מערכת משוואות ממנה נחשב את הקבועים <math>A_{i,j},B_{i,j},C_{i,j}</math> .
*נחשב כל מחובר בנפרד:
 
 
==שלב שלישי==
נחשב את האינטגרל של כל שבר חלקי.


===אינטגרל מהצורה <math>I_m=\int\frac{A}{(x-a)^m}</math>===
===אינטגרל מהצורה <math>I_m=\int\frac{A}{(x-a)^m}</math>===
שורה 36: שורה 48:


===אינטגרל מהצורה <math>I_m=\int\frac{A}{(x^2+bx+c)^m}</math> (כאשר המכנה אי-פריק)===
===אינטגרל מהצורה <math>I_m=\int\frac{A}{(x^2+bx+c)^m}</math> (כאשר המכנה אי-פריק)===
*נבצע השלמה לריבוע על-מנת לקבל את האינטגרל <math>I_m=\int\frac{A}{\left(\left[x+\frac{b}{2}\right]^2+\left[c-\left(\frac{b}{2}\right)^2\right]\right)^m}</math>
נבצע השלמה לריבוע על-מנת לקבל את האינטגרל <math>I_m=\int\frac{A}{\left(\left[x+\frac{b}{2}\right]^2+\left[c-\left(\frac{b}{2}\right)^2\right]\right)^m}</math>


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


*נעזר בנוסחא הרקורסיבית הבאה:
נעזר בנוסחא הרקורסיבית הבאה:
**<math>G_1=\frac{A}{a}\arctan\left(\tfrac{x}{a}\right)+C</math>
<math>G_1=\frac{A}{a}\arctan\left(\tfrac{x}{a}\right)+C</math>


**<math>G_{m+1}=\frac{2m-1}{2ma^2}\cdot G_m+\frac{A}{2ma^2}\cdot\frac{x}{(x^2+a^2)^m}</math>
<math>G_{m+1}=\frac{2m-1}{2ma^2}\cdot G_m+\frac{A}{2ma^2}\cdot\frac{x}{(x^2+a^2)^m}</math>


===אינטגרל מהצורה <math>I_m=\int\frac{Bx+C}{(x^2+bx+c)^m}</math> (כאשר המכנה אי-פריק)===
===אינטגרל מהצורה <math>I_m=\int\frac{Bx+C}{(x^2+bx+c)^m}</math> (כאשר המכנה אי-פריק)===
*דבר ראשון, בדומה למצב הראשון, נצמצם את הבעיה לאינטגרל מהצורה <math>I_m=\int\frac{A(2x+b)+B}{(x^2+bx+c)^m}</math>
דבר ראשון נצמצם את הבעיה לאינטגרל מהצורה <math>I_m=\int\frac{A(2x+b)+B}{(x^2+bx+c)^m}</math>
 
*את החלק <math>I_m=\int\frac{B}{(x^2+bx+c)^m}</math> פותרים לפי הנוסחא לעיל
 
*לחלק הנותר נבצע הצבה <math>t=x^2+bx+c</math> לקבל אינטגרל פתיר מהצורה <math>I_m=\int\frac{A}{t^m}</math>
 
==מצב שלישי <math>\deg(p)=\deg(q)</math>==
*קיים קבוע <math>c</math> כך שקיים פולינום <math>h</math> המקיים <math>h=cp-q</math> וגם <math>\deg(h)<\deg(q)</math> .
 
*נפריד את האינטגרל לשניים <math>\int\frac{p}{q}=\int\frac{q+h}{c\cdot q}=\int 1+\int\frac{h}{q}</math>
 
*נחזור למצב הראשון או השני להמשך החישוב.


==מצב רביעי <math>\deg(p)>\deg(q)</math>==
את החלק <math>I_m=\int\frac{B}{(x^2+bx+c)^m}</math> פותרים לפי הנוסחא לעיל
*נבצע חלוקת פולינומים על-מנת לקבל את הנוסחא <math>p(x)=a(x)q(x)+r(x)</math> כאשר מתקיים <math>\deg(r)<\deg(q)</math>


*מתקיים <math>\int\frac{p}{q}=\int\frac{aq+r}{q}=\int{a(x)}+\int\frac{r}{q}</math>
לחלק הנותר נבצע הצבה <math>t=x^2+bx+c</math> לקבל אינטגרל פתיר מהצורה <math>I_m=\int\frac{A}{t^m}</math>


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


==מצב חמישי <math>p=f',q=f^m</math>==
<math>\int\frac{f'}{f^m}</math> מבצעים את ההצבה <math>t=f(x)</math>


=דוגמאות=
=דוגמאות=

גרסה מ־09:34, 21 במרץ 2018

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

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

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

איננו מטפלים כאן בבעיה האלגוריתמית של פירוק פולינום לגורמים), האלגוריתם מניח שאנו יודעים את הפירוק של המכנה.

סקירה כללית

האלגוריתם מורכב משלושה שלבים:

  • שלב ראשון - אם הפולינום במונה מדרגה גדולה או שווה לפולינום במכנה, נבצע חילוק פולינומים.
  • שלב שני - נניח שהפולינום במונה מדרגה קטנה ממש מהפולינום במכנה. נפרק את הפונקציה הרציונאלית לשברים חלקיים.
  • שלב שלוש - נחשב את האינטגרל של כל שבר חלקי.


שלב ראשון

לאחר ביצוע חילוק פולינומים נקבל [math]\displaystyle{ p(x)=h(x)q(x)+r(x) }[/math] ולכן [math]\displaystyle{ \frac{p(x)}{q(x)}=h(x)+\frac{r(x)}{q(x)} }[/math].

האינטגרל על [math]\displaystyle{ h(x) }[/math] הוא אינטגרל מיידי על פולינום, ונותרנו עם האינטגרל על הפונקציה הרציונאלית [math]\displaystyle{ \frac{r(x)}{q(x)} }[/math] בה המונה מדרגה קטנה ממש מאשר המכנה.

שלב שני

כעת אנו מניחים שהמונה מדרגה קטנה ממש מהמכנה.

נפרק את [math]\displaystyle{ q }[/math] לגורמים אי-פריקים:

[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}+\cdots+\frac{A_{1,n_1}}{(x-a_1)^{n_1}}\Big]+\cdots+ \Big[\frac{A_{k,1}}{x-a_k}+\frac{A_{k,2}}{(x-a_k)^2}+\cdots+\frac{A_{k,n_k}}{(x-a_k)^{n_k}}\Big]+ }[/math]
[math]\displaystyle{ +\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}+\cdots+\frac{B_{1,m_1}x+C_{1,m_1}}{(x^2+c_1x+b_1)^{m_1}}\Big]+\cdots }[/math]

נעשה מכנה משותף ונשווה בין הפולינום שנקבל במונה לפולינום [math]\displaystyle{ p }[/math] , מקדם מקדם. נקבל מערכת משוואות ממנה נחשב את הקבועים [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=A\ln(x-a)+C }[/math]
[math]\displaystyle{ I_m=\frac{-A}{(m-1)(x-a)^{m-1}}+C }[/math]

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

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

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

נעזר בנוסחא הרקורסיבית הבאה: [math]\displaystyle{ G_1=\frac{A}{a}\arctan\left(\tfrac{x}{a}\right)+C }[/math]

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

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

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

את החלק [math]\displaystyle{ I_m=\int\frac{B}{(x^2+bx+c)^m} }[/math] פותרים לפי הנוסחא לעיל

לחלק הנותר נבצע הצבה [math]\displaystyle{ t=x^2+bx+c }[/math] לקבל אינטגרל פתיר מהצורה [math]\displaystyle{ I_m=\int\frac{A}{t^m} }[/math]


דוגמאות

דוגמא 1

[math]\displaystyle{ \int\frac{x^7}{(1-x^4)^2}dx }[/math]

בדוגמא זו ניתן להפעיל את האלגוריתם אך עדיף לבצע את ההצבה [math]\displaystyle{ t=1-x^4 }[/math] ולקבל

[math]\displaystyle{ \int\frac{x^7}{(1-x^4)^2}dx=\int\frac{1-t}{-4t^2}dt }[/math]

דוגמא 2

[math]\displaystyle{ \int\frac{dx}{(x-1)(x^2+1)} }[/math]

נפרק לשברים חלקיים

[math]\displaystyle{ \frac{1}{(x-1)(x^2+1)}=\frac{A}{x-1}+\frac{Bx+C}{x^2+1}=\frac{A(x^2+1)+(Bx+C)(x-1)}{(x-1)(x^2+1)} }[/math]

לכן

[math]\displaystyle{ 1=A(x^2+1)+(Bx+C)(x-1) }[/math]