Upload
faradars
View
193
Download
6
Embed Size (px)
Citation preview
محاسبات عددیMATLABبه کمک
faradars.org/fvmth102
MATLABمحاسبات عددی به کمک نرم افزار «عددی ریشه یابی معادالت غیر خطیروش های »
:مدرساشکان تاشک
درجه و رشته تحصیلیمخابرات گرایش سیستم و مدرس دانشگاه-دکترای مهندسی برق
فرادرس
FaraDars.org
ششمعناوين فصل
غيرخطي معادالت عددي يابي ريشه :ششم فصليابي ريشه مسأله مقدمه -1
خطي غير معادالت يابي ريشه براي عددي هاي رهيافت انواع -) MATLAB برنامه همراه به( بسته يا محدود دامنه عددي يابي ريشه هاي روش -2
Bisectionيا كردن نصف روش -
Regula يا خطا موقعيت يا نابجايي روش - Falsi يا False Position
) MATLAB برنامه همراه به( باز يا نامحدود دامنه عددي يابي ريشه هاي روش -3)Secant( سكانت روش -يافته تعميم و ساده )Newton-Raphson( رافسون-نيوتون روش -)Fixed-Point( ثابت نقطه روش -
)Matlab برنامه همراه به( نيوتون روش به غيرخطي معادالت هاي دستگاه حل -42
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102مقدمه
اهداف: خطي غير معادالت ريشه محاسبه• اي چندجمله هاي ريشه• غيرخطي معادالت دستگاه•
عددي هاي روش بندي دسته تابع مشتق به وابستگي عدم• تابع مشتق به وابسته•
3
دسته بندي دوم روش هايعددي
دامنه محدود •نامحدود دامنه•
رهيافت هاي محاسباتي :سعي و خطا•رسم منحني•) بسته(دامنه محدود •دامنه نامحدود•
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102رهيافت هاي محاسباتيxفرض جواب : روش هاي سعي و خطا• = α محاسبه ،f(α) تكرار آلگوريتم تا ،f(α)≈0 و در انتها
.توقف محاسبه تبديل صورت اين غير در ها،xمحور با آن تقاطع محل يافتن و x(f( رسم :منحني رسم روش•
)x(f = )x(1f-)x(2f بايكديگر دادن تالقي و آنها رسم و) بسته(دامنه محدود •
aمحدوده در جواب فرض• < x < b ، در جواب حفظ با سيستماتيك ، بصورت دامنه كاهش .دامنه داخل
:دو روش متداول• (bisection method)بازه يا تصنيفنصف كردن ) 1
False position or regula)موقعيت خطا ) 2 falsi)
4
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102ادامه رهيافت هاي محاسباتي
نامحدود دامنه• .مشخص محدوده در ريشه حفظ عدم• .جواب تخمين براي تابع اطالعات از استفاده• :متداول روش چهار•
ثابت، نقطه روش .1نيوتن، روش .2.سكانت روش .3.مولر روش .4.هستند نظر مورد نامحدود دامنه يابي ريشه هاي شيوه از اول روش سه تنها اينجا در *
5
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
روش هاي دامنه محدود
)بسته(6
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 روش نصف كردن بازه)Bisection(f(x)=0: بيان رياضي•.يك ريشه در بازه معين: محدوديت هاي روش•:فرضيات رياضياتي•
•y = f(x) دربازه[a,b] پيوسته است.f(a).f(b) < 0 •
f ’(x) ≠ 0 •:حالت مناسب•
7
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 الگوريتم روش نصف كردن بازه)Bisection(
: گام اول•
:گام دوم•
: گام سوم•
ولاگر شرط فوق برقرار باشد، به مرحله چهار برو، در غيراينصورت بازگرد به گام ا•
.به عنوان ريشه و پايان الگوريتم cنمايش : گام چهارم•
8
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 ادامه الگوريتم روش نصف كردن بازه)Bisection(
9
:معايب:مزايا .نرخ همگرائي كند* روش ساده و محاسبه خطا آسان *
. در موارد خاص روش به جواب نمي رسد*
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Bisection(روش نصف كردن بازه matlabبرنامه
10
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Bisection(روش نصف كردن بازه matlabبرنامه
11
function bisect(f,a,b,tol,n)% Bisection method for solving the nonlinear %equation f(x)=0.a0=a;b0=b; iter=0;u=feval(f,a);v=feval(f,b);c=(a+b)*0.5;err=abs(b-a)*0.5;disp('_______________________________________')disp(' iter a b c f(c) |b-a|/2 ')disp('_______________________________________')fprintf('\n')if (u*v<=0)
while (err>tol)&(iter<=nw=feval(f,c);
fprintf('%2.0f %10.4f %10.4f %12.6f %10.6f,
%10.6f\n',iter,a,b,c,w,err)
if (w*u<0)b=c;v=w;
endif (w*u>0)
a=c;u=w;enditer=iter+1;c=(a+b)*0.5;err=abs(b-a)*0.5;
end if (iter>n)
disp(' Method failed to converge')end
elsedisp(' 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
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102Bisectionمثال ريشه يابي به شيوه
12
:
f پس (a)f (b)<0===========================================================================================================================
كه نتايج در جدول
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102Bisection ادامه مثال ريشه يابي به شيوه
]1 ,2[در بازه 2x-3x)=x(f-1رسم تابع •
13
>>bisect('f1',1,2,10^(‐4),40)iter a b c f( c) |b‐a|/2________________________________________________ 0 1.0000 2.0000 1.500000 0.125000 0.5000001 1.0000 1.5000 1.250000 ‐0.609375 0.2500002 1.2500 1.5000 1.375000 ‐0.291016 0.1250003 1.3750 1.5000 1.437500 ‐0.095947 0.0625004 1.4375 1.5000 1.468750 0.011200 0.0312505 1.4375 1.4688 1.453125 ‐0.043194 0.0156256 1.4531 1.4688 1.460938 ‐0.016203 0.0078137 1.4609 1.4688 1.464844 ‐0.002554 0.0039068 1.4648 1.4688 1.466797 0.004310 0.0019539 1.4648 1.4668 1.465820 0.000875 0.00097710 1.4648 1.4658 1.465332 ‐0.000840 0.00048811 1.4653 1.4658 1.465576 0.000017 0.00024412 1.4653 1.4656 1.465454 ‐0.000411 0.000122
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Bisection(قضيه مهم در مورد همگرايي روش نصف كردن بازه
14
===========================================================================================================================
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102Bisectionمثال از دقت ريشه يابي به شيوه
15
fتابعتعداد دفعات الزم تكرار عمل نصف كردن براي يافتن صفر : مثال (x) تعريف شده در مثال قبل را.بدست آوريد 10-6مطلق با دقت كمتر از خطاي
=========================================================================================================
:كه داشته باشيمرا به گونه اي بدست آوريم nمي خواهيم ) جواب
:در اين صورت
.الزم خواهد بود 10-6تقريب حدود بار تكرار عمل نصف كردن، براي بدست آوردن يك 19بنابراين حداكثر
61 1 1 1
2 1| | ( ) 102 2n n n n n
b ac b a
6( 1) log(2) 6 1 19log 2
n or n
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 معيارهاي خطا براي خاتمه روش نصف كردن بازه)Bisection(:ردك استفاده زير قرار به هايي فرمول از توان مي خطا، محاسبه براي :نكته•
يا يا
16
| |n n
n
a ba
| |n na b فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
تابع غيرخطيf (x) در بازه[a,b] بصورت خطي تقريب زده مي شود.
روش False Positionنام به كهRegula Falsi شيوه ي مشابه است، مشهور نيزBisection،از تربيش كمي سرعت با كه است برتري اين داراي كه تفاوت اين با مي باشد
.مي دهد بدست را جواب قبل، شيوه ي3 معادلهx بين واصل خط تالقي محل از كه جديد :شود مي حاصل و نقطه دو
False Positionروش نابجايي يا
17
2 13 2 2
2 1
( )( ) ( )
x xx x f x
f x f x
1 1( , ( ))x f x2 2( , ( ))x f x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)False Position(الگوريتم روش موقعيت خطا
: گام اول•
:گام دوم•
: گام سوم•
ولاگر شرط فوق برقرار باشد، به مرحله چهار برو، در غيراينصورت بازگرد به گام ا•
.به عنوان ريشه و پايان الگوريتم cنمايش : گام چهارم•18
n
n
n
n
bcbf
acaf
nn
nnnn bfaf
babfbc
anbn
f(an)
next estimate, c
f(bn)
F(c)
nnn
nnnn
bbcaotherwiseaacbafcfif
11
11
,,0)().(
2111 ||/|| ceorandabe nnnn
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102شبه كد الگوريتم روشFalse position
19
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 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))
20
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
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 مثال ريشه يابي به شيوهFalse Position
21
11 ba
:
===========================================================================================================================
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102خطا ادامه مثال ريشه يابي به شيوه نابجايي يا موقعيت]1 ,2[در بازه 2x-3x)=x(f-1رسم تابع •
22
>> fals('f1',1,2,10^(‐4),40)________________________________________________iter a b c f(c) |b‐a|________________________________________________
0 1.0000 2.0000 1.250000 ‐0.609375 1.0000001 1.2500 2.0000 1.376623 ‐0.286264 0.7500002 1.3766 2.0000 1.430925 ‐0.117660 0.6233773 1.4309 2.0000 1.452402 ‐0.045671 0.5690754 1.4524 2.0000 1.460613 ‐0.017331 0.5475985 1.4606 2.0000 1.463712 ‐0.006520 0.5393876 1.4637 2.0000 1.464875 ‐0.002445 0.5362887 1.4649 2.0000 1.465310 ‐0.000916 0.5351258 1.4653 2.0000 1.465474 ‐0.000343 0.5346909 1.4655 2.0000 1.465535 ‐0.000128 0.53452610 1.4655 2.0000 1.465558 ‐0.000048 0.534465
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 روش موقعيت خطا)False Position()False Position(شبه كد و الگوريتم روش نابجايي •
23
1 1
1 1
0,1, ...,( ) ( )
( ) ( )( ). ( ) 0, ,
, , .
n n n n
n n
n n n n
n n n
for n ITMAXf b a f a b
cf b f a
if f a f c set a a b cotherwise set a c b b
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Modified False Position(الگوريتم روش موقعيت خطاي بهبود يافته
0a=0cو na(f=F(و f=G)nb(: مفروضات اوليه•
: گام اول•
:گام دوم•
: گام سوم•
اگر شرط فوق برقرار باشد، به مرحله چهار برو، در غيراينصورت بازگرد به گام اول•
.به عنوان ريشه و پايان الگوريتم cنمايش : گام چهارم•24
FG
FbGabfafbabfbc
nn
nnnnn
][
1
2/,)(,
2/,)(,0)().(
1111
11111
GGafFbbcaotherwise
FFbfGcbaacfcfif
nnnnn
nnnnnnn
21111 ||/|| nnnnn ceorandabe
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102Modified False positionروشMatlabبرنامه
function Modified_fals(f,a,b,tol,n)
% False position method for solving the nonlinear
% equation f(x)=0.
a0=a;
b0=b;
iter=0;
F=feval(f,a);
G=feval(f,b);
c=(G*a-F*b)/(G-F);
W=feval(f,c);
disp('______________________________________________')
disp(' iter a b c f(c) |b-a|')
disp('______________________________________________')
fprintf('\n')
if (F*G<=0)
while (abs(W)>tol)&(abs(b-a)>tol)&(iter<=n)&((G-F)~=0)
W=feval(f,c);
25
fprintf('%2.0f %12.4f %12.4f %12.6f %10.6f %10.6f\n',iter,a,b,c,w,abs(b-a))
if (W*F<0)b=c;G=W;F=F/2;
endif (W*F>0)
a=c;F=W;G=G/2;enditer=iter+1;c=(G*a-F*b)/(G-F);
endif (iter>n)
disp(' Method failed to converge')endif (G-F==0)
disp(' Division by zero')end
elsedisp(' 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
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 مثال ريشه يابي به شيوهModified False Position
26
:
===========================================================================================================================
:ده داريمبه عنوان فرضيات اوليه در الگوريتم روش ريشه يابي عددي نابجايي اصالح ش) جواب مثال3)=0b(f=G 1و-)=0a(f=F
:جديد داريم cبراي محاسبه -گام اول از تكرار نخست
:صورت خواهيم داشتاين در -گام دوم از تكرار نخست
چك كردن شرط يا -گام سوم از تكرار نخست
.به علت برقراري هر كدام از دو شرط فوق، به گام اول از تكرار دوم مي رويم
25.1
)1(3]1231[][
100
00
00001
cFG
FbGabfafbabfbc
5.12/,6094.0)(
25.1,20)()(1&6094.0)(
11
110110001
GGcafF
cabbcfcfaccf
tolcf )( 1tola
ab
1
11 ||
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 ادامه مثال ريشه يابي به شيوهModified False Position
27
-گام اول از تكرار دوم) ادامه جواب مثال
:در اين صورت خواهيم داشت -دومگام دوم از تكرار
يا چك كردن شرط -دومگام سوم از تكرار
.رفت عدب تكرار از اول گام به بايستي مجدد هستند، برقرار سوم گام شرايط همچنان اينكه به توجه با
.به اين ترتيب، عمليات تكرار تا زماني كه شرايط گام سوم نقض شوند ادامه مي يابند
tolcf )( 2
4667.1
)6094.0(5.1)]6094.0(25.125.1[][
211
11
11112
cFG
FbGabfafbabfbc
00397.0)(,3047.02/
25.1,4667.10)()(25.1&00397.0)(
22
12221212
cbfGFF
aacbcfcfccf
tola
ab
1
11 ||
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102هادامه مثال ريشه يابي به شيوه نابجايي اصالح شد]1 ,2[در بازه 2x-3x)=x(f-1رسم تابع •
28
_________________________________________________iter a b c f(c) |b‐a|_________________________________________________0 1.0000 2.0000 1.250000 ‐0.609375 1.0000001 1.2500 2.0000 1.466667 0.003852 0.7500002 1.2500 1.4667 1.463962 ‐0.005645 0.2166673 1.4640 1.4667 1.465979 0.001431 0.0027054 1.4640 1.4660 1.465300 ‐0.000953 0.0020175 1.4653 1.4660 1.465687 0.000408 0.0006796 1.4653 1.4657 1.465509 ‐0.000220 0.0003887 1.4655 1.4657 1.465601 0.000106 0.000179
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
روش هاي نامحدوددامنه )باز(
29
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102روش سكانت
αو دو تقريب اوليه آن حول صفر تابع به نام Secantشيوه ي
30
False و Bisection روش هاي آنجائيكه از Position با يوه ش لذا مي كنند، ميل ريشه سمت به كمي سرعت
ينچن يك .است نياز ريشه يافتن براي سريعتر ايشيوه ي مشابه .دارد نام Secantشيوه ي شيوه اي،
False Position، زدن تقريب بر نيز روش اين اساس دو هك دارد قرار مستقيم خط يك طريق از تابع ريشه اما مي كند، وصل يكديگر به را تابع نمودار از نقطه داراي حتماً اوليه حدس نقاط كه نيست نيازي.باشند مخالف عالمت
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Secant(الگوريتم روش سكانت
: گام اول•
:گام دوم•
اگر شرط فوق برقرار باشد، به مرحله چهار برو،: گام سوم•: در غيراينصورت داريم
.به عنوان ريشه و پايان الگوريتم 1i+xنمايش : گام چهارم•31
iiii xxxxSet 11 ,
2111 |)(|/|| iniin xfeorandxxe
ii
iiiii xfxf
xxxfxx
1
11
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 شبه كد و برنامهMatlab ريشه يابي به روش سكانتشبه كد•
32
تابعMatlab فرادرسبراي روش سكانت
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102سكانت روش Matlabبرنامه
function secant(f,x0,x1,tol,n)
% The secant method for solving the nonlinear
% equation f(x)=0.
iter=0;
u=feval(f,x0);
v=feval(f,x1);
err=abs(x1‐x0);
disp('__________________________________')
disp('iter xn f(xn) f(xn+1)‐f(xn) |xn+1‐xn|')
disp('__________________________________')
fprintf('%2.0f %12.6f %12.6f\n',iter,x0,u)
33
fprintf('%2.0f %12.6f %12.6f %12.6f %12.6f\n',iter,x1,v,v‐u,err)while (err>tol)&(iter<=n)&((v‐u)~=0)
x=x1‐v*(x1‐x0)/(v‐u);x0=x1;
u=v;x1=x;v=feval(f,x1);err=abs(x1‐x0);iter=iter+1;fprintf('%2.0f %12.6f %12.6f %12.6f
%12.6f\n',iter,x1,v,v‐u,err)endif ((v‐u)==0)
disp(' Division by zero')endif (iter>n)
disp(' Method failed to converge')end
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102مزايا و معايب ريشه يابي به روش سكانت:مزايا•همگرايي سريع) 1
به مشتق نيازي ندارد) 2
34
معايب غير حد از بيش تابع چنانچه )1
حالتي، چنين در باشد، خطي گام در شده يافت هاي ريشه به همگرايي جاي به بعدي، هاي
راواگ شكل، مطابق ريشه، سمت.گردند مي
x0 x1r x2
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 مثال ريشه يابي به شيوهSecant
35
:
===========================================================================================================================
لكه نتايج در جدو
f (x1)=3
x1
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102سكانت ادامه مثال ريشه يابي به شيوه
]1 ,2[در بازه 2x-3x)=x(f-1رسم تابع •
36
>> secant('f1',1,2,10^(‐4),40)________________________________________________iter xn f(xn) f(xn+1)‐f(xn) |xn+1‐xn|________________________________________________0 1.000000 ‐1.0000000 2.000000 3.000000 4.000000 1.0000001 1.250000 ‐0.609375 ‐3.609375 0.7500002 1.376623 ‐0.286264 0.323111 0.1266233 1.488807 0.083463 0.369727 0.1121844 1.463482 ‐0.007322 ‐0.090786 0.0253255 1.465525 ‐0.000163 0.007160 0.0020436 1.465571 ‐0.000163 0.000163 0.0020437 1.465571 ‐3.20E‐07 ‐0.000000 0.000000
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 روش سكانت)Secant(
37
for n=1,2,…, ITMAX
11
1
( )[ ]( ) ( )
n nn n n
n n
x xx x f x
f x f x
11
1
| || ( ) | , | |
| |n n
n n nn
x xf x x x or
x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 رافسون ساده-نيوتنروش
.همگراست است جواب نزديك اوليه فرض كه مواردي كليه در تقريباً كه قوي روشي•منحني بر مماس تابع ريشه از استفاده مبناي بر آلگوريتم•
38
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Newton-Raphson(الگوريتم روش نيوتن
: گام اول•
:گام دوم•
اگر شرط فوق برقرار باشد، برو مرحله چهار،: گام سوم•: در غيراينصورت داريم
.به عنوان ريشه و پايان الگوريتم 1i+xنمايش : گام چهارم•39
11 iixxSet ii
2111 |)(|/|| iniin xfeorandxxe
i
iii xf
xfxx
1
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102رافسون-نيوتن روش Matlabبرنامه
function newton(f,df,x0,tol,n)
% Newton's method for solving the nonlinear
% equation f(x)=0.
iter=0;
u=feval(f,x0);
v=feval(df,x0);
err=abs(u/v);
disp('_____________________________')
disp(' iter x f(x) df(x) |xn+1‐xn|')
disp('_____________________________')
fprintf('%2.0f %12.6f %12.6f %12.6f\n',iter,x0,u,v)
while (err>tol)&(iter<=n)&(v~=0)
x1=x0‐u/v;40
err=abs(x1‐x0);x0=x1;u=feval(f,x0);v=feval(df,x0);iter=iter+1;fprintf('%2.0f %12.6f %12.6f %12.6f
%12.6f\n',iter,x0,u,v,err)endif (v==0) disp(' division by zero')
endif (iter>n)disp(' Method failed to converge')
end
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102ايرادات روش نيوتن
انتخاب عدم صورت در واگرايي• ايبر مثالً مناسب، شروع نقطه هيچگاه شده، داده نشان حالت هاx محور مشتق از حاصل خط.كند نمي قطع را
همحاسب غيرقابل يا و مشكل• ازهب نقاط در تابع مشتق بودن.شده داده اي
41
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 مثال ريشه يابي به شيوه نيوتن)Newton-Raphson(
42
:
كه
===========================================================================================================================
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102رافسون-ادامه مثال ريشه يابي به شيوه نيوتن]1 ,2[در بازه 2x-3x)=x(f-1رسم تابع •
43
>> newton('f1','df1',1,10^(‐4),40)________________________________________________iter xn f(xn) df(xn) |xn+1‐xn|________________________________________________0 1.000000 ‐1.000000 1.0000001 2.000000 3.000000 8.000000 1.0000002 1.625000 0.650391 4.671875 0.3750003 1.485786 0.072402 3.651108 0.1392144 1.465956 0.001352 3.515168 0.0198305 1.465571 0.000001 3.512556 0.0003856 1.465571 0.000000 3.512555 143E‐7
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 گانهتعميم يافته و ريشه هاي چندرافسون -نيوتنروش
f شرط تحت را نيوتن الگوريتم قبل، قسمت در• ’ (α)≠ عنوان به نيز را α و آورديم بدست 0 .نموديم فرض ساده ريشه ي
زماني نيوتن روش از استفاده در مشكل روبرو، شكل مطابق•.نباشد ساده ا ي ريشه ديگر α كه مي شود ظاهري
•α مرتبه ي مكرر ي ريشه را kتابع از ام f اگر گوئيم:
44
0)(0)()()( )()1( kk fbutfff 0)(0)()( )()1( kk fbutfff
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102هتعميم يافته و ريشه هاي چندگانرافسون -ادامه روش نيوتن يك داراي f كه مي كنيم فرض . مي كند نيوتن روش اصالح به مجبور را ما ، مكرر ريشه هاي از ناشي مشكالت
:كنيم مي تعريف را زير جديد تابع ابتدا .است تكرار بار m با α مانند ريشه
f تابع تيلور بسط معادله از استفاده با حال (x) حول α مي آيد در زير صورت به :
: كه اي بگونه
:مي آوريم بدست فوق، معادله از گيري مشتق با
45
( )( )
'( )f x
u xf x
( ) ( ) ( )mf x x h x
( ) ( 1)( ) ( )( ) ( ) ...
! ( 1)!
m mf fh x x
m m
1 1'( ) ( ) '( ) ( ) ( ) ( ) [( ) '( ) ( )]m m mf x x h x m x h x x x h x mh x
0)(0)()()( )()1( mm fbutfff فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102هتعميم يافته و ريشه هاي چندگانرافسون -ادامه روش نيوتن:نوشت زير فرم به را معادله مي توان قبل معادالت از بنابراين
:آن در كه
:داريم .باشد مي كه آنجايي از .باشد
و روش اعمال با حال .است x=α در ريشه ساده يك داراي u(x) كه كرد استباط مي توان فوق، روابط به توجه با
:مي شود حاصل فوق نتايج از استفاده با و u(x) تابع به نيوتن
نيوتن يافته تعميم روش را فوق معادله ي .مي كند مشخص را ريشه چندگانگي درجه m ،رابطه اين در كه)Modified Newton Method( نامند مي.
46
( )( )'( )
f xu xf x
( ) ( )
( ) ( ) ( )( ) '( ) ( )
x h xu x x x
x h x mh x
( )( )
( ) '( ) ( )h x
xx h x mh x
1lim ( )x
xm
( ) ( )( )!
mfhm
1lim '( ) lim[( ) '( ) ( )]x x
u x x x xm
1
( )'( )
nn n
n
f xx x m
f x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102ندگانهتعميم يافته و ريشه هاي چرافسون -مثال براي روش نيوتن نظر در با .مي باشد x=1 در مضاعف ريشه ي يك داراي تابع )1 مثال صورت.بزنيد تقريب و تخمين را ريشه اين نيوتن روش از استفاده با و 0x=0 گرفتن
==========================================================================================f از نموداري )مثال پاسخ (x) افزار نرم توسط شده رسم MATLAB در . است شده داده نشان روبرو شكل
به كه هستند اعداد از سري يك 1x,0x,… كه مي كنيم فرض :تعريف .بگيريم نظر در را nx-α=ne مجموعه و باشند همگرا α مثل عددي باشند موجود C مثل ديگري ثابت مثبت عدد و k مثل عددي اگر حال:كه گونه اي به
.مي نامند مجانبي خطاي ثابت را C و همگرائي درجه ي يا مرتبه را k آنگاه
47
3 2( ) 7 11 5f x x x x
1|lim n
kxn
eC
e
0 1 2 3 4 5
-15
-10
-5
0
5
10
15
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102اي تعميم يافته و ريشه هرافسون -ادامه مثال براي روش نيوتن
چندگانه وتنني روش كه مي شود مشاهده زير، جدول در شده داده عددي نتايج و فوق تعريف به توجه با )مثال پاسخ ادامه
.باشد مي همگرا 1α= سمت به كند، بسيار اما خطي طور به
48
>> newton('f12','df12',0,10^(-4),40)____________________________________________________iter x f(x) df(x) |xn+1-xn|____________________________________________________0 0.000000 -5.000000 11.000000 ---1 0.454545 -1.352367 5.256198 0.4545452 0.711835 -0.356084 2.554434 0.2572903 0.851234 -0.091818 1.256523 0.1393994 0.924307 -0.023352 0.622734 0.0730735 0.961805 -0.005891 0.309935 0.0374986 0.980813 -0.001480 0.154603 0.0190087 0.990384 -0.000371 0.077209 0.0095718 0.995186 -0.000093 0.038582 0.0048029 0.997592 -0.000023 0.019285 0.00240610 0.998795 -0.000006 0.009641 0.00120411 0.999398 -0.000001 0.004820 0.00060212 0.999699 -0.000000 0.002410 0.00030113 0.999849 -0.000000 0.001205 0.00015114 0.999925 -0.000000 0.000602 0.000075
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102نيوتن تعميم يافته روش Matlabبرنامه
49
function newton2(f,df,x0,m,tol,n)% The Modified Newton's method for solving the nonlinear% equation f(x)=0.iter=0;u=feval(f,x0);v=feval(df,x0);err=abs(m*u/v);disp('___________________________________________')disp('iter x f(x) df(x) |xn+1-xn|')disp('___________________________________________')fprintf('%2.0f %12.6f %12.6f %12.6f\n',iter,x0,u,v)while (err>tol)&(iter<=n)&(v~=0)
x1=x0-m*u/v;err=abs(x1-x0);x0=x1;u=feval(f,x0);v=feval(df,x0);iter=iter+1;fprintf('%2.0f %12.6f %12.6f %12.6f
%12.7f\n',iter,x0,u,v,err)pause(1)y(iter)=err;
endif (v==0)
disp(' division by zero') endif (iter>n), disp(' Method failed to converge') ; end
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102اي تعميم يافته و ريشه هرافسون -ادامه مثال براي روش نيوتن
چندگانهModifiedشيوه ي از استفاده با حال )مثال پاسخ ادامه Newton Method، به قبل مثال همان هاي داده اعمال و .شود مي همگرا 1α= سمت به سريع، بسيار و خطي طور به ها پاسخ كه ببينيد توانيد مي نيوتن، روش اين
50
>> newton2('f12','df12',0,2,10^(‐2),40)________________________________________________iter xn f(xn) df(xn) |xn+1‐xn|___________________________________________________0 0.000000 ‐5.000000 11.0000001 0.909091 ‐0.033809 0.752066 0.90909092 0.999001 ‐0.000004 0.007995 0.08991013 1.000000 ‐0.000000 0.000001 0.0009989
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102ندگانهتعميم يافته و ريشه هاي چرافسون -مثال براي روش نيوتن نظر در با .مي باشد x=3 در مضاعف ريشه ي يك داراي تابع )2 مثال صورت.بزنيد تقريب و تخمين را ريشه يافته بسط نيوتن روش از استفاده و =2m و 0x=0 گرفتن
==========================================================================================f از نموداري )مثال پاسخ (x) افزار نرم توسط MATLAB روبرو شكل در . است شده داده نشان سپس و تعريف قرار به توابعي توانيم مي Matlab برنامه از استفاده با حال همان كه newton2 تابع برنامه قالب در است، نيوتن يابي ريشه يافته تعميم فرم
:كنيم استفاده
51
1834)( 23 xxxxf
-2 -1 0 1 2 3 4 5-20
-15
-10
-5
0
5
10
15
20
25
30
13( );^3 4* ^2 3* 18;
13( );3* ^2 8* 3;
function f f xf x x x
function f df xf x x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102اي تعميم يافته و ريشه هرافسون -ادامه مثال براي روش نيوتن
چندگانهModifiedشيوه ي از استفاده با حال )مثال پاسخ ادامه Newton Method، روش به قبل صفحه توابع اعمال و .شوند مي همگرا 3α= سمت به سريع، بسيار و خطي طور به ها پاسخ كه ببينيد توانيد مي يافته، تعميم نيوتن
52
>> newton2('f13','df13',0,2,10^(‐2),40)__________________________________________________iter xn f(xn) df(xn) |xn+1‐xn|__________________________________________________0 0.000000 18.000000 ‐3.000000 ‐‐‐1 12.000000 1134.000000 333.000000 12.00000002 5.189189 34.454544 36.269540 6.81081083 3.289273 0.442600 3.143766 1.89991624 3.007700 0.000297 0.077175 0.28157335 3.000006 0.000000 0.000059 0.0076938
>> newton('f13','df13',1,10^(‐2),40)___________________________________________iter x f(x) df(x) |xn+1‐xn|____________________________________________0 1.000000 12.000000 ‐8.0000001 2.500000 1.125000 ‐4.250000 1.5000002 2.764706 0.263790 ‐2.186851 0.2647063 2.885331 0.064237 ‐1.107240 0.1206254 2.943347 0.015866 ‐0.556906 0.0580155 2.971837 0.003944 ‐0.279255 0.0284906 2.985958 0.000983 ‐0.139826 0.0141227 2.992989 0.000245 ‐0.069962 0.0070318 2.996497 0.000061 ‐0.034993 0.0035089 2.998249 0.000015 ‐0.017500 0.00175210 2.999125 0.000004 ‐0.008751 0.00087611 2.999562 0.000001 ‐0.004376 0.00043812 2.999781 0.000000 ‐0.002188 0.00021913 2.999891 0.000000 ‐0.001094 0.00010914 2.999945 0.000000 ‐0.000547 0.000055
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102بررسي همگرايي روش هاي نيوتن و سكانت
ارائه را زير تعريف ،Secant و Newton روش هاي در همگرائي درجه ي كردن مشخص جهت در• :مي دهيم
همگرا α مثل عددي به كه هستند اعداد از سري يك 1x,0x,… كه مي كنيم فرض :تعريف ديگري ثابت مثبت عدد و k مثل عددي اگر حال .بگيريم نظر در را nx-α=ne مجموعه و باشند:كه گونه اي به باشند موجود C مثل
.مي نامند مجانبي خطاي ثابت را C و همگرائي درجه ي يا مرتبه را k آنگاه
Secantو Newtonروش دو هر براي معادله يك ساده ريشه هاي براي را همگرايي ميزان حال•.مي گيريم نظر در را Newton روش ابتدا .مي كنيم امتحان
53
1|lim n
kxn
eC
e
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102بررسي همگرايي روش هاي نيوتن و سكانتSecantو Newton روش دو هر براي معادله يك ساده ريشه هاي براي را همگرايي ميزان حال•
.مي گيريم نظر در را Newton روش ابتدا .مي كنيم امتحان :داريم معادله طبق•
:دهد مي بدست را زير عبارت nx حول f تيلور سري باشد، پذير مشتق دوبار f تابع اگر•
.دارد قرار α و nx بين ξ آن در كهf چون• (α) = f و 0 ’ (α) ≠ :داريم فوق رابطه دو كردن تركيب از بنابراين هستند؛ برقرار 0
54
1
( ), 0
'( )n
n nn
f xx x n
f x 1 1
( )'( )
nn n n
n
f xe x x
f x
2( )( ) ( ) ( ) '( ) ''( )
2n
n n n n
xf a f x x f x f
2 21
''( ) ''( )( )
2 '( ) '( )n n
n n nn n
f fe x e
f x f x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102بررسي همگرايي روش هاي نيوتن و سكانتf ديگر عبارت به يا باشد، ساده ريشه يك α اگر نتيجه در• ’ (α) ≠ معادله آنگاه 0
دو مرتبه صورت به Newton روش كه مي دهد نشان
خطاي كه شود داده نشان شكل اين به مي تواند موضوع اين مشابه طور به .بود خواهد همگرا:مي كند ارضا را زير معادله ي Secant روش
روش خاطر، همين به .هستند 1n+x و nx، α شامل بازه هاي كوچكترين و آن در كه•Secant ًروش با مشابه همگرائي سرعت داراي تقريبا Newton مي باشد.
55
2 21
''( ) ''( )( )
2 '( ) '( )n n
n n nn n
f fe x e
f x f x
1 1
''( )2 '( )
nn n n
n
fe e e
f
nn
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 روش تكراري نقطه ثابت)Fixed-Point(
56
هاييمثال گرفتند قرار بررسي و بحث مورد حال به تا كه يي روش ها تمامي از ديگر مهم ي شيوه يك بخش اين در . بودند عمليات تكرار روش هاي از
روش .نماييم مي معرفي g(x)=x فرم به معادالت حل براي را تكرار عمليات از ابتدا در ، مي رود كار به g تابع از ثابت اي نقطه تعيين براي كه ثابت نقطه از سري يك ، اوليه حدس اين كه مي شود آغاز 0p مثل اوليه حدس يك
روش طريق از آمده بدست مقادير
.كند مي مشخص را به n اگر يعني شود، همگرا α مقدار به فوق پروسه و پيوسته تابع يك g اگر همين معادله فرم به معادله جواب گرديد α=np و كرده ميل ،∞ سمت برخورد محل g تابع از p ثابت نقطه ، هندسي بطور .آيد مي بدست صفحه .باشد مي y=g(x) تابع و y=x خط
1 ( ), 0,1, 2...n np g p n
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102ادامه روش تكراري نقطه ثابت
و واگرايي Fixed-Pointتكرار -2شكل آن از نقطه
57
و Fixed-Pointروش تكرار -1شكل همگرايي آن به نقطه
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
58
ادامه روش تكراري نقطه ثابت
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
59
ادامه روش تكراري نقطه ثابتa] بسته بازه روي بر f تابع اگر :متوسط مقدار قضيه b] باز بازه در و بوده پيوسته (a b) باشد، مشتق پذير
a) بازه ي به متعلق c مثل عددي اينصورت در b) كه اي گونه به داشت خواهد وجود:))(()()( abcfafbf
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
60
ادامه روش تكراري نقطه ثابت .مي باشد مسئله يك براي جواب وجود عدم يا وجود مشخص كردن براي مهم ابزاري زير قضيه
a] بسته بازه روي بر f پيوسته تابع :مياني مقدار قضيه b] اگر .است مفروض w بين عددي هر f(a) و f(b) a) باز بازه ي به متعلق c مثل عددي حداقل اينصورت در ،باشد b) كه اي گونه به داشت خواهد وجود
.بود خواهد برقرار wcf )(فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
61
ادامه روش تكراري نقطه ثابت
دو قضيه قبل
و
با
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
62
روش تكراري نقطه ثابتمثال هايي از ريشه يابي به 1:
لقضیه قب
قبل صدق نموده و
============================================================================================================================== فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
63
ادامه مثال هايي از ريشه يابي به روش تكراري نقطه ثابت2:
============================================================================================================================== فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
64
روش تكراري نقطه ثابتادامه مثال هايي از ريشه يابي به 3:
===================================================================================================================================nالفب
1
4
1
4
1
4
1
4
1
4
1
4
1
1.00000000
1.30000000
1.53100000
1.69660000
1.80875742
1.88159708
1.92755632
1.95600899
1.97341187
1.98397643
1.99036018
1.99420682
1.99652073
0
1
2
3
4
5
6
7
8
9
10
11
12
بقط يابي ريشه براي را ثابت نقطه روش اعمال از حاصل نتايج روبرو جدول ذكر معادله حل دقيق جواب آنجائيكه از .دهد مي نشان )ب( و )الف( هاي حالت شود مي ديده ، g(x) انتخاب به توجه با باشد، مي 2.0 برابر مثال صورت در شده.باشند مي واگرا )ب( حالت هاي پاسخ و همگرا )الف( حالت هاي پاسخ كه
1
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102شبه كد ريشه يابي به روش نقطه ثابتشبه كد•
65
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102)Fixed-point(نقطه ثابت روش Matlabبرنامه
66
function fixed(g,x0,tol,n)% The fixed point iteration method for solving the nonlinear% equation f(x)=0.iter=0;u=feval(g,x0);err=abs(u-x0);disp('_________________________________________')disp('iter x g(x) |xn+1-xn|')disp('_________________________________________')fprintf('%2.0f %12.6f %12.6f\n',iter,x0,u)while (err>tol)&(iter<=n)
x1=u;err=abs(x1-x0);x0=x1;u=feval(g,x0);iter=iter+1;fprintf('%2.0f %12.6f %12.6f %12.8f\n',iter,x0,u,err)
endif (iter>n)
disp('Method failed to converge')end
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه هاي حل
67
ريشه به همتغير تك خطي غير تابع يك ريشه هاي يافتن براي قبل هاي قسمت در شده معرفي نيوتن روش بسط• .متغيره چند غيرخطي توابع يابي
.است خطي غير توابع صفرهاي يافتن بيشتر پيچيدگي اصلي مشكل•
آنها بر مماس صفحه ي با را غيرخطي توابع نيوتن ،روش خطي غير تابع هر براي اوليه تخمين يك از شروع با•.مي كند ايجاد را بعدي تقريبي مقدار غيرخطي معادالت حل از حاصل مشترك ريشه و زند مي تخمين
نظر در زير صورت به خطي غير ي معادله دو از دستگاهي ابتدا مي كند، كار الگوريتم اين چطور اينكه فهميدن براي•:گيريم مي
1 1 2
2 1 2
( , ) 0( , ) 0
f x xf x x
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه هاي ادامه حل
68
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه هاي ادامه حل
69
باال
2
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه هاي ادامه حل
70
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه هاي ادامه حل
71
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 به روش نيوتن معادالت غير خطيدستگاه مثال براي حل
72
تا را عمليات اين. كنيد حل x)0()=1,-1( از آغاز و نيوتن روش از استفاده با را زير خطي غير دستگاه )مثال صورت.دهيد ادامه و كرده تكرار را است كه زماني
==============================================================================================
:دهيم تشكيل زير هاي فرمول زير قرار به ژاكوبيني ماتريس بايستي ابتدا )مثال پاسخ
:مي گيرند را زير مقادير ژاكوبين ماتريس و برداري تابع (1-,1) نقطه ي در
:از عبارتند آن هاي جواب .هستند دستگاه جوابهاي هاي ديفرانسيل
6|| || max{| |} 10ix x
31 1 2 1 2
22 1 2 1 2
( , ) 3 21 0
( , ) 2 2 0
f x x x x
f x x x x
21 2
1 21
3 6( , )
2 2x x
J x xx
17 3 6(1 1) , (1 1)
1 2 2F J
(0) (0)1 2,x x
(0)1
(0)2
3 6 172 2 1
x
x
(0)1(0)
(0)2
1.5555562.05556
xx
x
2
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 وتنبه روش ني معادالت غير خطيدستگاه ادامه مثال براي حل
73
: از است عبارت روش تكرار از نقطه بعدي ، بنابراين )مثال پاسخ ادامه
: از عبارتند بعدي نقطه ي سه ، مشابه طور به
را مسئله اسخپ به نزديك كافي اندازه ي به اوليه تقريب يك سريع بسيار تواند مي نيوتن روش كه داد نشان مثال اين مطالب قطب البته كه مي باشد مرحله درهر زير خطي دستگاه حل به نياز نيوتن، روش مشكالت از يكي .دهد بدست:هستند حل قابل عددي صورت به حاضر، هاي آموزش سري از دوم فصل
(1)1(1)
(1)2
1 1.555556 2.5555561 2.055556 3.055556
xx
x
(2) (3) (4)1.865049 1.661337 1.643173, ,
2.500801 2.359271 2.349844x x x
( )1 11 1
1
( )1
. .
. .
. .
i
n
n ni
n nn
x ff fx x
f fx x fx
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102نيوتن براي حل دستگاه معادالت غيرخطي روش Matlabبرنامه
74
function newton_sys(F,JF,xx0,tol,maxit)% F is the system given by an (n x 1) matrix;% JF is the Jacobian of F given by an (n x n) matrix;% xx0 is the (n x 1) initial vector, tol ia a tolerance;% max_it is the maximum number of iterations.x0=xx0iter=1;while(iter<=maxit)
y=-feval(JF,x0)\feval(F,x0);xn=x0+y;err= max(abs(xn-x0));if (err<=tol)
x=xn;fprintf(' Newton''s method converges after %3.0f iterations to \n',iter)xreturn;
elsex0=xn;
enditer=iter+1;
enddisp('Newton''s method does not converge')x=xn;
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 وتنبه روش ني معادالت غير خطيدستگاه ادامه مثال براي حل
75
:كنيم تعريف زير قرار به توابعي بايستي Matlab برنامه از استفاده براي )مثال پاسخ ادامه
.نمود جايگزين newton_sys(f,jf,xx0,tol,n) تابع ورودي هاي آرگومان قالب در را توابع اين بايستي سپس
];2*22.^;212.^*33.^[
);2();1(
)(1
yxyxf
XyXx
Xfffunction
]2,*2;*6,2.^*3[
);2();1(
)(1
xyxjf
XyXx
Xjfjffunction
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 وتنبه روش ني معادالت غير خطيدستگاه ادامه مثال براي حل
76
:كنيم تعريف زير قرار به توابعي بايستي Matlab برنامه از استفاده براي )مثال پاسخ ادامه
جايگزين newton_sys(‘f1’,’jf1’,xx0,tol,n) تابع ورودي هاي آرگومان قالب در را توابع اين بايستي سپس.نمود
];2*22.^;212.^*33.^[
);2();1(
)(1
yxyxf
XyXx
Xfffunction
]2,*2;*6,2.^*3[
);2();1(
)(1
xyxdf
XyXx
Xjfjffunction
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
77
مرتبط با ريشه يابي Matlabبرخي دستورات
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
78
مرتبط با ريشه يابي Matlabادامه برخي دستورات
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
79
مرتبط با ريشه يابي Matlabادامه برخي دستورات
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
80
مرتبط با ريشه يابي Matlabادامه برخي دستورات
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102 ادامه برخي دستوراتMatlab مرتبط با ريشه يابي
ريشه كرد پيدا براي عددي محاسبات رهيافت چه از ،MATLAB افزار نرم در شود بررسي1) شود؟ مي استفاده roots دستور توسط اي جمله چند يك هاي
يابي ريشه براي MATLAB افزار نرم در ديگري توابع و دستورات چه roots دستور از غير2)شود؟ مي يافت غيرخطي معادالت
81
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
83
اين اساليد ها بر مبناي نكات مطرح شده در فرادرس» MATLABآموزش محاسبات عددي پيشرفته به كمك نرم افزار«
.تهيه شده است
.براي كسب اطالعات بيشتر در مورد اين آموزش به لينك زير مراجعه نماييد
faradars.org/fvmth102
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org