به نام خدا محاسبات عددی روش های ریشه...
TRANSCRIPT
مقدمهاهداف:خطيغيرمعادالتريشهمحاسبه•ايچندجملههايريشه•غيرخطيمعادالتدستگاه•
عدديهايروشبنديدستهتابعمشتقبهوابستگيعدم•تابعمشتقبهوابسته•
دسته بندي دوم روش هايعددي
دامنه محدود •نامحدوددامنه•
رهيافت هاي محاسباتي :سعي و خطا •( بسته)دامنه محدود •دامنه نامحدود•
رهيافت هاي محاسباتي روش هاي سعي و خطا
فرض جوابx = α محاسبه ،f(α) تكرار آلگوريتم تا ،f(α)≈0
.توقف محاسبه
( بسته)دامنه محدودفرض جواب در محدودهa < x < b ، ، كاهش دامنه بصورت
.سيستماتيك با حفظ جواب در داخل دامنهدو روش متداول: (bisection method)نصف كردن بازه( 1
False position or regula)موقعيت خطا ( 2 falsi)
3
ادامه رهيافت هاي محاسباتينامحدوددامنه
مشخصمحدودهدرريشهحفظعدم.جوابتخمينبرايتابعاطالعاتازاستفاده.متداولروشچهار:ثابت،نقطهروش.1نيوتن،روش.2.سكانتروش.3.مولرروش.4رنظموردنامحدوددامنهيابيريشههايشيوهازاولروشسهتنهااينجادر*
.هستند
4
روش هاي دامنه محدود
(بسته)5
(Bisection)روش نصف كردن بازه بيان رياضي :f(x)=0
يك ريشه در بازه معين: محدوديت هاي روش.فرضيات رياضياتي:
•y = f(x) دربازه[a,b]پيوسته است.
f(a).f(b) < 0 •
f’(x) ≠ 0 •
حالت مناسب:
6
(Bisection)الگوریتم روش نصف كردن بازه
گام اول :
گام دوم:
گام سوم :
گام اولاگر شرط فوق برقرار باشد، به مرحله چهار برو، در غيراينصورت بازگرد به
نمايش : گام چهارمcبه عنوان ريشه و پايان الگوريتم.7
(Bisection)ادامه الگوریتم روش نصف كردن بازه
:معایب:مزایا .نرخ همگرائي كند* روش ساده و محاسبه خطا آسان *
. در موارد خاص روش به جواب نمي رسد* 8
(Bisection)روش نصف كردن بازه matlabبرنامه
9
Bisectionمثال ریشه یابي به شيوه
10
Bisectionمثال ریشه یابي به شيوه
11
رسم تابعf(x)=x3-x2-1 [2 ,1]در بازه
(Bisection)روش نصف كردن بازه درشدهذكرديگرهايفرمولازتوانميخطا،محاسبهبراي:1نكته
:كرداستفادهدرسيكتاباز37يصفحه
يايا
تحويلموعد)درسيكتاب2.1بخشاز6و2،4مسائل:تمرين:93/07/26)
| |n n
n
a b
a
| |n na b
12
2.1مجموعه مسائل بخش
13
False position روش
2 1
3 2 2
2 1
( )( ) ( )
x xx x f x
f x f x
3x
1 1( , ( ))x f x
2 2( , ( ))x f x
تابع غيرخطيf(x) در بازه[a,b]بصورت خطي تقريب زده مي شود.
روشFalse PositionنامبهكهRegula Falsiمشابهاست،مشهورنيزابكهاستبرتريايندارايكهتفاوتاينبامي باشد،Bisectionشيوه ي.مي دهدبدستراجوابقبل،شيوه يازبيشتركميسرعت
تالقيمحلازكهجديدمعادلهنقطهدوبينواصلخط
:شودميحاصلو
14
(False Position)الگوریتم روش موقعيت خطا
گام اول :
گام دوم:
گام سوم :
گام اولاگر شرط فوق برقرار باشد، به مرحله چهار برو، در غيراينصورت بازگرد به
نمايش : گام چهارمcبه عنوان ريشه و پايان الگوريتم.
n
n
n
n
bc
bf
ac
af
nn
nnnn
bfaf
babfbc
an
bn
f(an)
next estimate,
c
f(bn)
F(c)
nnn
nnnn
bbcaotherwise
aacbafcfif
11
11
,
,0)().(
2111 ||/|| ceorandabe nnnn
15
False positionالگوریتم روش
16
False positionروشMatlabبرنامه
function false(f,a,b,tol,n)
% False position method for solving the nonlinear
% equation f(x)=0.
a0=a;
b0=b;
iter=0;
u=feval(f,a);
v=feval(f,b);
c=(v*a-u*b)/(v-u);
w=feval(f,c);
disp('_________________________________________')
disp(' iter a b c f(c) |b-a|')
disp('_________________________________________')
fprintf('\n')
if (u*v<=0)
while (abs(w)>tol)&(abs(b-a)>tol)&(iter<=n)&((v-
u)~=0)
w=feval(f,c);
fprintf('%2.0f %12.4f %12.4f %12.6f %10.6f
%10.6f\n',iter,a,b,c,w,abs(b-a))
17
if (w*u<0)
b=c;v=w;
end
if (w*u>0)
a=c;u=w;
end
iter=iter+1;
c=(v*a-u*b)/(v-u);
end
if (iter>n)
disp(' Method failed to converge')
end
if (v-u==0)
disp(' Division by zero')
end
else
disp(' The method cannot be applied f(a)f(b)>0')
end
% Plot f(x) in the interval [a,b].
fplot(f,[a0 b0])
xlabel('x');ylabel('f(x)'); grid
False Positionمثال ریشه یابي به شيوه
18
(False Position)روش موقعيت خطا
تحويلموعد)درسيكتاب2.2بخشاز3و2و1مسائل:تمرين:93/07/26)
19
1 1
1 1
0,1, ...,
( ) ( )
( ) ( )
( ). ( ) 0, ,
, , .
n n n n
n n
n n n n
n n n
for n ITMAX
f b a f a bc
f b f a
if f a f c set a a b c
otherwise set a c b b
2.2مجموعه مسائل بخش
20
روش هاي دامنه نامحدود
21
روش سکانت
و دو تقریب اوليه آن حول صفر تابع Secantشيوه ي αبه نام
22
Bisectionروش هايآنجائيكهاز
Falseو Positionكميسرعتباذالمي كنند،ميلريشهسمتبه
يافتنبرايسريعترايشيوه چنينيك.استنيازريشه
نامSecantشيوه يشيوه اي،Falseشيوه يمشابه.دارد
Position،ربنيزروشايناساسقطريازتابعريشه زدنتقريب
ودكهداردقرارمستقيمخطيكگريكديبهراتابعنمودارازنقطهكهنيستنيازيامامي كند،وصلدارايحتماًاوليهحدسنقاط
.باشندمخالفعالمت
(Secant)الگوریتم روش سکانت
گام اول :
گام دوم:
اگر شرط فوق برقرار باشد، به مرحله چهار برو،: گام سوم: در غيراينصورت داريم
نمايش : گام چهارمxi+1به عنوان ريشه و پايان الگوريتم.
iiii xxxxSet 11 ,
2111 |)(|/|| iniin xfeorandxxe
ii
iiiii
xfxf
xxxfxx
1
11
23
ریشه یابي به روش سکانتMatlabشبه كد و برنامه شبه كد
24
تابعMatlab براي روش سكانت
مزایا و معایب ریشه یابي به روش سکانتمزايا:همگرايي سريع( 1
به مشتق نيازي ندارد( 2
25
معايبغيرحدازبيشتابعچنانچه(1
حالتي،چنيندرباشد،خطيگامدرشدهيافتهايريشهبههمگراييجايبهبعدي،هاي
راواگشكل،مطابقريشه،سمت.گردندمي
x0 x1r x2
Secantمثال ریشه یابي به شيوه
26
(Secant)روش سکانت
تحويلموعد)درسيكتاب3.2بخشاز4و1مسائل:تمرين:93/07/26)
27
for n=1,2,…, ITMAX
1
1
1
( )[ ]( ) ( )
n n
n n n
n n
x xx x f x
f x f x
1
1
1
| || ( ) | , | |
| |
n n
n n n
n
x xf x x x or
x
2.3مجموعه مسائل بخش
28
روش نيوتناستجوابنزديكاوليهفرضكهموارديكليهدرتقريباًكهقويروشي
.همگراستمنحنيبرمماستابعريشهازاستفادهمبنايبرآلگوريتم
29
(Newton-Raphson)الگوریتم روش نيوتن
گام اول :
گام دوم:
اگر شرط فوق برقرار باشد، برو مرحله چهار،: گام سوم: در غيراينصورت داريم
نمايش : گام چهارمxi+1به عنوان ريشه و پايان الگوريتم.
1 ii xxSet
2111 |)(|/|| iniin xfeorandxxe
i
iii
xf
xfxx
1
30
ایرادات روش نيوتن
انتخابعدمصورتدرواگراييايبرمثالًمناسب،شروعنقطههيچگاهشده،دادهنشانحالتهاxمحورمشتقازحاصلخط
.كندنميقطعرا
همحاسبغيرقابلياومشكلازهبنقاطدرتابعمشتقبودن
شدهدادهاي
31
Newtonمثال ریشه یابي به شيوه
32
(Newton)روش نيوتن تحويلموعد)درسيكتاب2.4بخشاز4و1مسائل:تمرين:
93/07/26)
33
(Fixed-Point)روش تکراري نقطه ثابت .كندميمشخصرا
بهوقفپروسهوپيوستهتابعيكgاگربهnاگريعنيشود،همگراαمقدار=pnوكردهميل،∞سمت αگرديدصفحههمينمعادلهفرمبهمعادلهجوابابتثنقطه،هندسيبطور.آيدميبدست
pتابعازgخطبرخوردمحلy=xو.باشدميy=g(x)تابع
34
موردحالبهتاكهييروش هاتماميازمثال هاييگرفتندقراربررسيوبحث
ايندر.بودندعملياتتكرارروش هايعملياتازديگرمهميشيوهيكبخشg(x)=xفرمبهمعادالتحلبرايراتكرار
رايبكهثابتنقطهروش.نماييمميمعرفيكاربهgتابعازثابتاينقطه تعيينp0مثلاوليهحدسيكازابتدادر،مي رود
سرييك،اوليهحدساينكهمي شودآغازروشطريقازآمدهبدستمقاديراز
1 ( ), 0,1, 2...n np g p n
ادامه روش تکراري نقطه ثابت
و Fixed-Pointتکرار -2.9شکل واگرایي آن از نقطه
35
Fixed-Pointروش تکرار -2.8شکل
و همگرایي آن به نقطه
شبه كد ریشه یابي به روش نقطه ثابتشبه كد
36
Fixed-Pointمثال ریشه یابي به شيوه
37
(Fixed-Point)روش نقطه ثابت (93/07/26:تحويلموعد)درسيكتاب2.5بخشاز4و3مسائل:تمرين
38
(Fixed-Point)روش نقطه ثابت (93/07/26:تحويلموعد)درسيكتاب2.5بخشاز4و3مسائل:تمرين
39
مرتبط با ریشه یابيMatlabبرخي دستورات
40
مرتبط با ریشه یابيMatlabادامه برخي دستورات
41
مرتبط با ریشه یابيMatlabادامه برخي دستورات
42
مرتبط با ریشه یابيMatlabادامه برخي دستورات
43
مرتبط با ریشه یابيMatlabادامه برخي دستورات
44
(93/07/26:تحويلموعد):تكليفعدديمحاسباترهيافتچهاز،MATLABافزارنرمدرشودبررسي1)
rootsدستورتوسطايجملهچنديكهايريشهكردپيدابراي
شود؟مياستفادهافزارنرمدرديگريتوابعودستوراتچهrootsدستورازغير2)
MATLABشود؟مييافتغيرخطيمعادالتيابيريشهبراي
45