آموزش محاسبات عددی - بخش سوم

61
م افزارمک نردی به ک محاسبات عدMATLAB « روش های درونبی و برازش یا» مدرس: ان تاشک اشکلیه تحصی درجه و رشت مهندسی برق دکترای- نشگاهرس دا و مدیستمبرات گرایش س مخادی محاسبات عدمک به کMATLAB faradars.org/fvmth102 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 09-Feb-2017

273 views

Category:

Education


25 download

TRANSCRIPT

Page 1: آموزش محاسبات عددی - بخش سوم

MATLABمحاسبات عددی به کمک نرم افزار

«یابی و برازشروش های درون »

:مدرساشکان تاشک

درجه و رشته تحصیلیمخابرات گرایش سیستم و مدرس دانشگاه-دکترای مهندسی برق

محاسبات عددیMATLABبه کمک

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 2: آموزش محاسبات عددی - بخش سوم

سومعناوين فصل برازش و يابي درون :سوم فصل

ها تفاوت و تعاريف -1) MATLAB برنامه همراه به( يابي درون هاي روش انواع -2

الگرانژ روش- نيوتن پيشرونده شونده تقسيم هاي تفاضل روش -

) MATLAB برنامه همراه به( ها اسپالين -3دو مرتبه هاي اسپالين- سه مرتبه هاي اسپالين -

) MATLAB برنامه همراه به( برازش -4

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 3: آموزش محاسبات عددی - بخش سوم

مقدمه

.است x(y( تخمين )n,…,1=i,)iy,ix داده زوج n :هدف•

.هستند متداول بسيار عددي محاسبات در عددي هاي داده يابي درون•.شود حاصل تجربي هاي گيري اندازه يا عددي محاسبات طريق از است ممكن عددي هاي داده•

Curve( منحني عبور با )Interpolation( يابي درون كه شود توجه• fitting( است متفاوت.

هدف

Curve( منحني عبور در• fitting(، كه منحني هموارترين .است نظر مد زند مي تقريب را ها داده مجموعه

از كه منحني )Interpolation( يابي درون يا يابي ميان در•.باشد مي مفروض گذرد، مي شده داده نقاط كليه

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 4: آموزش محاسبات عددی - بخش سوم

رهيافت هاي محاسباتي خط كي يابي، درون بازه انتهاي و ابتدا نقطه دو بين شيوه، اين در .است يابي درون شيوه ترين ساده :راست خط روش•

.شود مي انجام خطي يابي درون عمل ترتيب، اين به و شده رسم راست

مي اي جمله چند يابي درون هاي روش ها، داده از اي مجموعه يابي درون شيوه ترين معمول :اي جمله چند روشهاي•باشند مي زير قرار به آنها مهمترين كه باشد

الگرانژ روش•

نيوتن روش•.يكنواخت غير فواصل با و يكنواخت فواصل با نوع دو•

4

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 5: آموزش محاسبات عددی - بخش سوم

روش هاي چند جمله اي

5

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 6: آموزش محاسبات عددی - بخش سوم

بردارهاي هاي داده چنانچه اساس، براين x و y برابر بردار هر تعداد كه را، زير جدول در موجود n+1 داشته است، داده عدد :نمايد عبور آنها تمام از اي جمله چند يك تا بخواهيم و باشيم

. باشد nاوالً بايستي مرتبه چند جمله اي، برابر ) 1

:ثانياً بايستي ضرايب چندجمله اي را از حل دستگاه معادالت خطي زير بدست آورد) 2

قضيه درون يابي هاي چندجمله اي

6

nx…1x0xxny…1y0yy

niii yx 0,

nnnnn

nn

nn

xaxaay

xaxaay

xaxaay

110

111101

010100

nnnnn

n

n

y

yy

a

aa

xx

xxxx

1

0

1

0

11

00

1

11

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 7: آموزش محاسبات عددی - بخش سوم

مثال از درون يابي به كمك چندجمله اي ها

7

باشند، شده داده روبرو هاي داده زوج اينكه فرض با )1 مثالنمايد؟ عبور نقاط اين تمامي از كه بيابيد ممكن مرتبه حداقل با اي جمله چند يك

از يكي به را آن و داده تشكيل زير فرم به مجهول 2 و معادله 2 دستگاهي تا است كافي سوال، اين به پاسخ براي )حل:نماييم حل ،3 فصل هاي روش

)3.2,1.6(),1.7,5.4(

1

0

1

0

1

0

11

yy

aa

xx

3.2,1.71.6,5.4

10

10

yyxx

3.21.7

1.615.41

1

0

aa

36.20

1

0

aa

xyxaay36.20

10

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 8: آموزش محاسبات عددی - بخش سوم

مثال از درون يابي به كمك چندجمله اي ها

8

باشند، شده داده روبرو هاي داده زوج اينكه فرض با )2 مثالنمايد؟ عبور نقاط اين تمامي از كه بيابيد ممكن مرتبه حداقل با اي جمله چند يك

از يكي به را آن و داده تشكيل زير فرم به مجهول 3 و معادله 3 دستگاهي تا است كافي سوال، اين به پاسخ براي )حل:نماييم حل ،3 فصل هاي روش

كه

)2,2(),0,1(),6,0(

2

1

0

2

1

0

222

211

200

111

yyy

aaa

xxxxxx

2,0,62,1,0

210

210

yyyxxx

206

421111001

2

1

0

aaa

410

6

2

1

0

aaa

2

2210

4106 xxy

xaxaay

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 9: آموزش محاسبات عددی - بخش سوم

ه اينكاتي در مورد درون يابي به شيوه تقريب چندجمل:معايب روش•

.افزايش نقاط باعث افزايش ضرايب و درنتيجه درجه دستگاه معادالت خطي مي شود– .بود نخواهد ساده دستگاه حل–

:پيشنهاد•جايگزين تر مناسب هاي روش براي جستجو–

9

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 10: آموزش محاسبات عددی - بخش سوم

روش درون يابي الگرانژ )Lagrange Interpolation Method(

.چند جمله اي يگانه الگرانژ از كليه نقاط داده عبور مي كند•

:الگرانژ يابي درون خطاي

10

kk

k

kk

n

kkk

yxf

xxxx

xL

yxLxf

01

)(

)()(0

nkxxxx

xxxxxxxxxxxxxxxxxL

n

kii ik

i

nkkkkkk

nkkk ,,1,0,

)())(()()())(()()(

0110

110

kiikkk xxxLxL ,0)(,1)(

n

NnN

xcx

cfN

xxxxxxxE

0

)1(10 )()!1(

)())(()(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 11: آموزش محاسبات عددی - بخش سوم

مثال از روش درون يابي الگرانژ براي داده هاي زير يك چند جمله اي به شيوه الگرانژ درون يابي كنيد؟: مثال•

با توجه به روش الگرانژ) پاسخ: داريم

)مرحله اول(

)مرحله دوم(

11

)2,2(),0,1(),6,0(

2)12)(02()1)(0()(

12

)21)(01()2)(0()(

223

)20)(10()2)(1()(

2

2

2

1

2

0

xxxxxL

xxxxxL

xxxxxL

6104)(

22

120

2236)()(

)()()()()(

2

2222

0

221100

2

0

xxxf

xxxxxxyxLxf

yxLyxLyxLyxLxf

kkk

kkk

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 12: آموزش محاسبات عددی - بخش سوم

درون يابي الگرانژ روش Matlabبرنامه function lagrange(x,y,a)% Determine the coefficients of the Lagrange % interpolating polynomial p(x)and compute

p(a).n=length(x);p=0;for k=1:n

b(k)=1;d(k)=1;for j=1:n

if j~= kb(k)=b(k)*(x(k)-x(j));d(k)=d(k)*(a-x(j));

end endc(k)=y(k)/b(k);p=p+c(k)*d(k);

end

12

fprintf('\n p(a)= %10.6f',p)fprintf('\n')

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 13: آموزش محاسبات عددی - بخش سوم

ن درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

13

برده كار هب قبل بخش در كه فرمولي با مقايسه در آن از استفاده كه بيابيم يابي درون فرمول يك خواهيم مي بخش، اين در .گردد مي نزما هم معادالت دستگاه يك پاسخ يافتن مشكالت و مسائل از اجتناب باعث كار اين .باشد تر راحت و تر كارآ شد،: است زير فرم به حالت اين كه آورده بدست را اول ي درجه از نيوتن ي شده يابي درون اي جمله چند ابتدا

:داشت خواهيم لذا ، كند عبور نقطه دو از تواند مي راست خط يك آنجائيكه از

:كنيم مي معرفي را زير كلي نمايش فرم ، مرحله اين در

.باشد مي ازاي به آن در كه

)()( 0101 xxaaxP

)()( 001

0101 xx

xxyyyxP

0

10110

,,,,,,,xx

xxfxxfxxxfn

nnn

][)( iii xfxfy ni ,...,1,0

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 14: آموزش محاسبات عددی - بخش سوم

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

14

به را x(1P( توان مي فوق، فرمول به توجه با .شود مي ناميده ،f تابع ي شده تقسيم تفاضل ي مرتبه امينn نام به ضريب اين:نوشت زير فرم

يا

زير فرم x(2P( كه رود مي انتظار قبل، ي معادله از . آورد خواهيم بدست را 2 ي درجه ي شده يابي درون اي جمله چند حال: باشد داشته را

)](,[][)( 01001 xxxxfxfxP

0

10110

,,,,,,,xx

xxfxxfxxxfn

nnn

)](,[)()( 01001 xxxxfxPxP

))(()()( 10212 xxxxaxPxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 15: آموزش محاسبات عددی - بخش سوم

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

15

:آوريم مي بدست را زير فرمول ، است 2x(2P=(2x[f[ كه واقعيت اين از استفاده و 2P)x( محاسبه با

يا

: داشت خواهيم باال، فرمول نظر نقطه از ، بنابراين

)()()()()(02

01

01

12

122 xx

xxxfxf

xxxfxfa

],,[],[],[210

02

10212 xxxf

xxxxfxxfa

))(](,,[)()( 1021012 xxxxxxxfxPxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 16: آموزش محاسبات عددی - بخش سوم

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

16

:دهيم ارائه را زير كلي فرمول توانيم مي قبل، مراحل كامل و مجدد تكرار با

كه زير جدول از ، زمينه اين در .گرديم مي باز شده تقسيم هاي تفاضل ي محاسبه ي مسئله به ، اكنون.كنيم مي شروع دهد، مي نمايش مفروض نقاط در را f تابع مقادير

)())(](,...,[)()( 11001 nnnn xxxxxxxxfxPxP

nxxx ,...,, 10

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 17: آموزش محاسبات عددی - بخش سوم

17

:داشت خواهيم را زير تفاضل چهار فرمول از ستفاده با حال

.است رناپذي تغيير هاي آرگومان سيكلي چرخش با ، المان كه باشيد داشته توجه

0

10110

,,,,,,,xx

xxfxxfxxxfn

nnn

nxxxf ,,, 10 nxxx ,,, 10

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 18: آموزش محاسبات عددی - بخش سوم

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

18

به لت حا نبهتري به بعد صفحه جدول در شده داده نشان فرم به شده تقسيم هاي تفاضل كردن مرتب طريق از عمليات اين يا جمله چند ي شيوه از كه هستند اعدادي همان شده ذكر جدول از بااليي قطر در ضرايب .است شده كشيده تصوير:يعني آيند، مي بدست زير فرمول با نيوتن ي شده يابي درون

يا

.باشند مي نيوتني پيشروي ي شده تقسيم هاي تفاضل فرمول به معروف فوق فرمولNewton Forward Divided Difference

)())(](,...,,[))(](,,[)](,[][)(

11010

102100100

nn

n

xxxxxxxxxfxxxxxxxfxxxxfxfxP

n

i

i

jjin xxxxxfxP

0 1110 )(],...,,[)(

)())(](,...,[)()( 11001 nnnn xxxxxxxxfxPxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 19: آموزش محاسبات عددی - بخش سوم

19

تصوير به تحال بهترين به زير جدول در شده داده نشان فرم به شده تقسيم هاي تفاضل كردن مرتب طريق از عمليات اين يابي درون اي جمله چند ي شيوه از كه هستند اعدادي همان مذكور جدول از اول سطر در ضرايب .است شده كشيده

:يعني آيند، مي بدست زير فرمول با نيوتن ي شده

4

3

2

1

0

x

x

x

x

x

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

)())(](,...,,[))(](,,[)](,[][)(

11010

102100100

nn

n

xxxxxxxxxfxxxxxxxfxxxxfxfxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 20: آموزش محاسبات عددی - بخش سوم

يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(

20

نيز را نيوتني شده يابي درون اي جمله چند و نوشته زير در موجود هاي داده براي شده تقسيم تفاضلهاي از جدولي )مثال: آوريد بدست

0 2 4 6 8 10

4

6

8

10

12

14

16D=[8,16]

C=[6,14]

B=[4,8]

A=[2,4]

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 21: آموزش محاسبات عددی - بخش سوم

21

نيوتن شونده تقسيم هاي تفاضل جدول فرمول، طبق )حل:دهيم مي تشكيل روبرو قرار به مثال براي را

يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(

))()(](,,,[))(](,,[)](,[][)(

2103210

1021001003

xxxxxxxxxxfxxxxxxxfxxxxfxfxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 22: آموزش محاسبات عددی - بخش سوم

يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(

22

:آورد بدست را زير شده يابي درون اي جمله چند توان مي فوق، جدول بااليي سطر ازمقادير )مثال حل ادامه

))()(](,,,[))(](,,[)](,[][)(

2103210

1021001003

xxxxxxxxxxfxxxxxxxfxxxxfxfxP

)6)(4)(2(81)4)(2(

41

)2(24

xxxxx

x

8547

81 23 xxx

0 2 4 6 8 10

4

6

8

10

12

14

16D=[8,16]

C=[6,14]

B=[4,8]

A=[2,4]

0 1 2 3 4 5 6 7 8 9 102

4

6

8

10

12

14

16

18

20

y = - 0.125*x3 + 1.75*x2 - 5*x + 8

data1 cubic C=[6,14]

A=[2,4]

B=[4,8]

D=[8,16]

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 23: آموزش محاسبات عددی - بخش سوم

ن يابي به روش تفاضل هاي تقسيم شونده نيوتادامه درون )Newton Difference Interpolation Methods(

23

زير قرار به ، شوند برده بكار يكنواخت فاصله با و ترتيب به ها گره كه زماني براي قبل آمده بدست نتايج:بود خواهد

فرم به ار ها فرمول نيوتني، پيشرو هاي تفاضل شيوه به شده يابي درون اي جمله چند يافتن روش كردن آسان براي حال:)باشند شده مرتب نزولي فرم به ها گره اينكه فرض با البته( آوريم مي در زير شده ساده

:شوند مي تعريف زير بازگشتي صورت به نيز باالتر هاي توان

:است زير فرمول صورت به اي دوجمله ضريب نمايش كه

nxxhnkkhxx n

k0

0 &,...,1,0,

nxxx ,,, 10

,...1,0,][][ 11 iffxfxff iiiii

,...3,2),( 1 nff in

in

!)1()1(

kksss

ks

hxxs 0

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 24: آموزش محاسبات عددی - بخش سوم

24

:كرد بيان زير بصورت توان مي را ي ،معادله لذا

hxxsf

ks

xP kn

kn

00

0,)(

n

i

i

jjin xxxxxfxP

0 1110 )(],...,,[)(

ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 25: آموزش محاسبات عددی - بخش سوم

ن درون يابي به روش تفاضل هاي تقسيم شونده نيوتادامه )Newton Difference Interpolation Methods(

25

تفاضل همحاسب تشكيل براي آنگاه نكند، تبعيت حسابي تصاعد يك از و نبوده يكسان x نقاط ميان فاصله چنانچه :يادآوري)22-20 اساليدهاي در مثال مطابق( شود مي انجام محاسبات زير فرمول قرار به شده تقسيم هاي

فرادرس

FaraDars.org

Page 26: آموزش محاسبات عددی - بخش سوم

هاي متساوي الفاصلهx ابنيوتن هاي از درون يابي به روش تفاضل مثال (Newton Difference Interpolation Methods)

26

نيز را نيوتني شده يابي درون اي جمله چند و نوشته زير در موجود هاي داده براي شده تقسيم تفاضلهاي از جدولي )مثال: آوريد بدست

:داريم ها گره بين مساوي فواصل شيوه به )حل0 2 4 6 8 10

4

6

8

10

12

14

16D=[8,16]

C=[6,14]

B=[4,8]

A=[2,4]

hxxsf

ks

xP kn

kn

00

0,)(

3

000

3

0 !)1()1()(

k

kkn

kn f

kksssf

ks

xP

03

02

01

00

!3)2)(1(

!2)1(

!1)( fsssfssfsfxPn

23

280

n

xxh n

فرادرس

FaraDars.org

Page 27: آموزش محاسبات عددی - بخش سوم

iiii ffff 3210

0f فرمول در مقادير جايگذاري و مساوي فواصل با نيوتني تفاضلهاي جدول ايجاد )مثال حل ادامهk

03

02

01

00

!3)2)(1(

!2)1(

!1)(

fsssfss

fsfxPn

27

][][ 11

iii xfxff

iiii

iiiii

ni

n

ffff

ffffff

21

223

11

1121

)(

)()(

44801 f

681411 f

2141621 f

24602 f

46212 f

62403 f

00

)( fks

xP kn

kn

ii yy 1

هاي متساوي الفاصلهx ابنيوتن هاي از درون يابي به روش تفاضل مثال (Newton Difference Interpolation Methods)

فرادرس

FaraDars.org

Page 28: آموزش محاسبات عددی - بخش سوم

28

)مثال حل ادامه

8547

81

8/)6)(4)(2(4/)4)(2()42(4

6!3)22

2)(12

2)(2

2(2!2)12

2)(2

2(4)(4)(

23

22

xxx

xxxxxx

xxxxxxP xn

هاي متساوي الفاصلهx ابنيوتن هاي از درون يابي به روش تفاضل مثال (Newton Difference Interpolation Methods)

فرادرس

FaraDars.org

Page 29: آموزش محاسبات عددی - بخش سوم

Newton Divided Forward Difference Interpolationروش Matlabبرنامه

function newtondd(x,y)% Newton divided difference disp(' Newton divided difference')disp('______________________________________')disp(' x y f[,] f[,,] f[,,,] ... ')disp('______________________________________')n=length(x);for k=1:n-1

% Compute first divided difference

d(k,1)=(y(k+1)-y(k))/(x(k+1)-x(k));end;for i=2:n-1

for k=1:n-i% Compute ith divided

difference

29

d(k,i)=(d(k+1,i-1)-d(k,i-1))/(x(k+i)-x(k));

end;end;% print resultsif (rem(n,2)==0)

p=n/2;m=n/2;

elsep=fix(n/2);m=fix(n/2)+1;

end;for i=1:p

fprintf('%8.2f %8.2f',x(i),y(i));for k=1:i-1

fprintf(' %8.5f',d(i-k,2*k));

end;fprintf('\n ')for k=1:i

fprintf('%8.5f',d(i-k+1,2*k-1));end;fprintf('\n')

end;j=p;

for i=m:-1:1j=j+1;fprintf('%8.2f %8.2f',x(j),y(j));for k=1:i-1

fprintf(' %8.5f',d(j-k,2*k));

end;fprintf('\n ')for k=1:i-1

fprintf(' %8.5f',d(j-k+1,2*k-1));

end;fprintf('\n')

End;

فرادرس

FaraDars.org

Page 30: آموزش محاسبات عددی - بخش سوم

30

يابي درون اي چندجمله و كنيد تهيه زير جدول در موجود هاي داده براي شده تقسيم هاي تفاضل از جدول يك )مثال. آوريد بدست نيز را آن نيوتني ي شده

جدول تشكيل نتيجه روبرو، جدول در )حل برنامه طبق شونده تقسيم هاي تفاضل

Matlab ضرايبي ،همچنين.است شده آورده استفاده يابي درون فرمول برايبايد كه

.اند شده داده نمايش بيضي در ،شوند

يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 31: آموزش محاسبات عددی - بخش سوم

يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(

31

دستب زير فرمول براساس شده يابي درون اي جمله چند شونده، تقسيم هاي تفاضل جدول تشكيل از پس )مثال حل ادامه:آيد مي

:باشد مي زير قرار به شده يابي درون اي جمله چند حاصل

n

i

i

jjin xxxxxfxP

0 1110 )(],...,,[)(

)5)(3)(2)(1(81)3)(2)(1(

21)2)(1()1(23)(4 xxxxxxxxxxxP

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 32: آموزش محاسبات عددی - بخش سوم

نكاتي چند از تفاضل هاي تقسيم شونده و تركيب

32

بدون( ادد ارائه نيوتن پيشرو شونده تقسيم هاي تفاضل براي را زير فرمول توان مي كلي حالت در )1)ها x ميان يكسان فاصله به توجه

نمود عمل زير مطابق توان مي نيوتني، پيشرونده هاي تفاضل جدول تشكيل براي )2

0,

]1,0[,1,1

11

kforf

Niikforxx

fff

i

iik

ik

ik

ik

)(

)(

)(

)(

11

1

11

121

1

0

orderthkfff

orderSecondfff

orderFirstfff

orderthzeroff

ik

ik

ik

iii

iii

ii

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 33: آموزش محاسبات عددی - بخش سوم

تقريب روش اسپالين

33

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 34: آموزش محاسبات عددی - بخش سوم

از تركيبي اسپالين روش N-1 براي واحد اي جمله چند تقريب و مجاور نقطه دو هر بين راست خط N داده نقطه .باشد مي

باشد مي كننده يابي درون اي ضابطه چند تابع يك اسپالين تقريب واقع در.ها اسپالين انواع:بين دو نقطهخط راست ساده ترين روش اتصال ) 1. است

حاصل منحني *اما است پيوسته.نيست پذير مشتق

تعريف تقريب اسپالين و انواع آن

34

ii

iii

nnnnn

xxxfxfm

xxxxxmxf

xxxxxmxf

xxxxxmxf

xf

1

1

1111

21111

10000

)()(

),()(

),()(

),()(

)(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 35: آموزش محاسبات عددی - بخش سوم

.بين هر دو نقطه متواليi<2گذر چند جمله اي مرتبه : اسپالين هاي مرتبه دو به باال) 2 نشان عمومي فرمول با دو درجه اي جمله چند بايستي ix و ix-1 مثل مجاور نقطه دو هر بين :دو درجه حالت در -

:سازد برآورده را زير شرايط كه اي گونه به باشد داشته وجود شكل در شده دادهضريب 3nنقطه، تعداد n+1بازه به ازاي nبراي ) الف

شرط n3بنابراين به تعداد . وجود دارد icو ia ،ibمجهول .براي محاسبه آنها نياز است

شرايطي به قرار زير بايستي بر مقدار توابع در نقاط) ب:انتهايي حاكم باشند

.معادله خواهيم داشت (n-1)2در اين حالت *

تعريف تقريب اسپالين و انواع آن

35

iiii cxbxaxf 2)(

ii xx 1

1,,3,2,)(

)(

112

11

111112

111

ni

xfcxbxay

xfcxbxay

iiiiiiii

iiiiiiii

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 36: آموزش محاسبات عددی - بخش سوم

.بين هر دو نقطه متواليi<2گذر چند جمله اي مرتبه : اسپالين هاي مرتبه دو به باال) 2: در حالت درجه دو -:حاكم بر مقادير توابع بازه هاي ابتدايي و انتهايي شرايط) پ

. معادله قبل اضافه مي گردد (n-1)2معادله ديگر به 2بدين ترتيب، : طبق فرمول زير بايد برابر باشند) i=1,…,n-1(مقادير مشتق اول توابع در نقاط داخلي ) ت

. معادله ديگر اضافه مي شود n-1بر اين اساس، :آخرين شرط الزم، يك شرط اختياري است مثل مورد روبرو) ث

تعريف تقريب اسپالين و انواع آن

36

)(

)(2

0101201

nnnnnn xfcxbxa

xfcxbxa

nibxabxa iiiiii ,,3,2,22 1111

01 a

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 37: آموزش محاسبات عددی - بخش سوم

مثال از اسپالين درجه دوم

37

باشند، شده داده روبرو هاي داده زوج اينكه فرض با )1 مثالنمايد؟ عبور نقاط اين تمامي از كه بيابيد دوم درجه اسپالين يك روش از يكي به را آن و داده تشكيل زير فرم به مجهول 9 و معادله 9 دستگاهي تا است كافي سوال، اين به پاسخ براي )حل

:نماييم حل قبل، فصل هاي

توابع مقادير براي )ب( شرط

)پ( مرزي شرايط

)ت( شرط

)ث( اختياري شرط

)5.0,9(),5.2,7(),1,5.4(),7,3(

5.2749:7

5.2749:7

15.425.20:5.4

15.425.20:5.4

333

222

222

111

cbax

cbax

cbax

cbax

3322

2211

1414:77979:5.4babaxbabax

01 a

int,5.0981:9int,779:3

333

111

poLastcbaxpoFirstcbax

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 38: آموزش محاسبات عددی - بخش سوم

از اسپالين درجه دومادامه مثال

38

رزي قرار به دومي درجه اسپالين همان يا ي ضابطه چند تابع آمده، بدست معادالت به توجه با )حل ادامه:آيد مي بدست

زير رارق به اسپالين اي ضابطه سه تابع به مربوط اي جمله دو سه ضرايب آمده، بدس معادالت تمامي حل با:آيند مي بدست

:آيد مي بدست زير قرار به دوم درجه اسپالين اي ضابطه سه تابع ترتيب، بدين

نهايي پاسخ = دوم درجه اسپالين =

3.91;6.24;6.1

46.18;7.6;64.0

5.5;1;0

333

222

111

cba

cba

cba01 a

973.916.246.1

75.446.187.664.0

5.435.5

2

2

xxx

xxx

xx

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 39: آموزش محاسبات عددی - بخش سوم

بايستي چند جمله اي درجه سه با فرمول عمومي نشان داده شده در ixو ix-1بين هر دو نقطه مجاور مثل -:شكل زير وجود داشته باشد به گونه اي كه شرايط زير را برآورده سازد

ضريب 4nنقطه، تعداد n+1زيربازه به ازاي nبراي ) الفشرط n4بنابراين به تعداد . وجود دارد idو ia ،ib، ic مجهول

.يا معادله براي محاسبه آنها نياز استشرايطي به قرار زير بايستي بر مقدار توابع در نقاط) ب

:انتهايي حاكم باشند

.معادله خواهيم داشت (n-1)2به اين ترتيب، تعداد *

اسپالين درجه سه

39

iiiii dxcxbxaxf 23)(

ii xx 1

1,,3,2,

)(

)(

112

13

11

111112

113

111

ni

xfdxcxbxay

xfdxcxbxay

iiiiiiiiii

iiiiiiiiii

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 40: آموزش محاسبات عددی - بخش سوم

:حاكم بر مقادير توابع در نقاط ابتدايي و انتهايي شرايط) پ

. معادله قبل اضافه مي گردد (n-1)2معادله ديگر به 2بدين ترتيب،

: طبق فرمول زير بايد برابر باشند) i=1,…,n-1(مقادير مشتق اول توابع در نقاط داخلي ) ت

. معادله ديگر اضافه مي شود n-1بر اين اساس،

ادامه اسپالين درجه سه

40

nnnnnnnn ydxcxbxa

ydxcxbxa23

0101201

301

ni

cxbxacxbxa iiiiiiii ii

,,3,2,

2323 12

1112

1 11

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 41: آموزش محاسبات عددی - بخش سوم

: طبق فرمول زير بايد برابر باشند) i=1,…,n-1(مقادير مشتق دوم توابع در نقاط داخلي ) ث

.معادله ديگر اضافه مي شود n-1بر اين اساس، :باشند صفر برابر بايد زير فرمول طبق )i=0,n( انتهايي و ابتدايي نقاط در توابع دوم مشتق مقادير )ج

. معادله قبل اضافه مي گردد 4n-2معادله ديگر به 2بدين ترتيب،

درجه سهاسپالين ادامه

41

026

026 000

nnn bxa

bxa

ni

bxabxa iiiiii

,,3,2,

2626 1111

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 42: آموزش محاسبات عددی - بخش سوم

:حال، با توجه به معادالت اقدام به حل آنها كرده تا ضرايب مجهول بدست آيند.تابع درجه سه بين نقاط مياني وجود خواهد داشت n-1نقطه ، nبراي -1:داريم) ج(و ) ث(طبق شرط هاي -2

:فرم خط راست براي مشتقات مرتبه دوم -3

:در قالب ضرايب الگرانژ x(il(جمالت -4

:داريم 3در معادله مورد 4با جايگذاري ضرايب مورد -5

درجه سهاسپالين ادامه

42

0

1,,3,2,)()(

1

1,,1

n

iiiiiii

kk

nikxfxf

)()()( 111, xlkxlkxf iiiiii

ii

ii

ii

ii xx

xxxlxxxxxl

11

1

1 )()(

1

111,

)()()(

ii

iiiiii xx

xxkxxkxf

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 43: آموزش محاسبات عددی - بخش سوم

:5دو بار انتگرال گيري از رابطه مورد -6

و A مجهول ضرايب آن، در 6 مورد معادله جايگذاري و مياني نقاط در توابع برابري شرايط از استفاده با -7B شود مي زير قرار از معادله حاصل و آمده بدست:

درجه سهاسپالين ادامه

43

)()()(6

)()()( 11

31

31

1, iiii

iiiiii xxBxxA

xxxxkxxkxf

1

11

11

31

111

31

1,

)()(

))(()(6

))(()(6

)(

ii

iiii

iiiii

ii

iiiii

iiii

xxxxyxxy

xxxxxxxxk

xxxxxx

xxkxf

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 44: آموزش محاسبات عددی - بخش سوم

:i=2,3,…,n-1تعيين رابطه مقادير مشتقات دوم تابع اسپالين براي نقاط مياني -8:استفاده از برابري مقادير مشتقات اول براي ضابطه هاي تابع اسپالين در نقاط مياني -9

:رابطه مقادير مشتقات دوم -10

:براي نقاط داده با فواصل يكنواخت -11

درجه سهاسپالين ادامه

44

)()( 1,,1 iiiiii xfxf

1

1

1

1111111 6)()(2)(

ii

ii

ii

iiiiiiiiiii xx

yyxxyyxxkxxkxxk

nik

niyyyh

kkk

i

iiiiii

,0,0

1,,3,2,264 11211

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 45: آموزش محاسبات عددی - بخش سوم

مثال براي اسپالين درجه سوم

45

تابع براي روبرو جدول به توجه با )مثال.بيابيد سه مرتبه كننده يابي درون اسپالين يك)حل

1-

2-

3)( xexf x

7255.1

4342.2

8425.20.225.0:3

21997.325.05.1:2

3

2

32

32

f

f

ffi

ffi

ni

nifk i

i ,1,01,...,3,2,

1

1

1

1111111 6)()(2)(

ii

ii

ii

iiiiiiiiiii xx

yyxxyyxxkxxkxxk

041 ff

1

1

1

1111111 6)()(2)(

ii

ii

ii

iiiiiiiiiii xx

yyxxyyxxfxxfxxf

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 46: آموزش محاسبات عددی - بخش سوم

مثال براي اسپالين درجه سوم

46

)مثال حل ادامه

1

11

11

31

111

31

1,

)()(

))(()(6

))(()(6

)(

ii

iiii

iiiii

iiiii

ii

iiii

xxxxyxxy

xxxxxxxxkxxxx

xxxxkxf

1

11

11

31

111

31

1,

)()(

))(()(6

))(()(6

)(

ii

iiii

iiiii

iiiii

ii

iiii

xxxxyxxy

xxxxxxxxfxxxx

xxxxfxf

95068.053452.115037.138346.0)( 233 xxxxf

194264.021712.181141.0)( 231 xxxxf

194164.021712.177319.2)( 232 xxxxf

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 47: آموزش محاسبات عددی - بخش سوم

روش هاي درون يابي دو بعدي

47

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 48: آموزش محاسبات عددی - بخش سوم

درون يابي دوبعدي به روش الگرانژ) 1

درون يابي دوبعدي خطي) 2اسپالين درجه دو دوبعدي با داده هاي يكنواخت -: رابطه -

انواع درون يابي دوبعدي

48

kllkkk

n

kll lk

l

nkkkkkk

nkkk

jiij

ijji

ii

ii

ij

M

i

N

jijij

xxxLxLxxxx

xxxxxxxxxxxxxxxxxL

yLxLyxL

zyxF

yyxx

yyxxyxL

zyxLyxF

,0)(,1)(,)()(

)())(()()())(()()(

)()(),(

),(

&,0

&,1),(

),(),(

0

110

110

1 1

jiji zyxf ,),( jiji zyxf ,11 ),(

1,111 ),( jiji zyxf1,1),( jiji zyxf

dcybxyaxyxfz

yyyxxxdcybxaxyyxf

jijijiij

jjii

),(

;,),( 11

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 49: آموزش محاسبات عددی - بخش سوم

مرتبط با درون يابي دوبعدي Matlabبرخي دستورات

• interp2(x,y,Z,xi,yi,’method’)– ‘method’:

• ‘nearest’• ‘bilinear’• ‘cubic’

• interpn• Surf(xx,yy,zz) mesh(xx,yy,zz)

49

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 50: آموزش محاسبات عددی - بخش سوم

برازش ياCurve Fitting

50

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 51: آموزش محاسبات عددی - بخش سوم

ها داده متوسط اساس بر شده هموارسازي مناسب منحني تعيين :هدفخوب برازش يك مطلوب شرايط:.باشد نويز و اغتشاش بدون و ساده بايستي تقريب -1.برند مي رنج پارامترها زياد تعداد از اسپالين برازش و باال نوسانات از اي جمله چند برازش -2.است مطلوب خطا حداقل با ها داده متوسط بر منطبق منحني تقريب -3تقريب منحنب تعيين مراحل:

.)قالب يا نوع( مناسب منحني انتخاب -الف.تقريب بهترين تعيين براي منحني پارامترهاي محاسبه -ب

خطا مربعات مجموع سازي حداقل :مبنا )LMSE يا Least Mean Square Error(

تعريف برازش يا منحني تقريب يا Curve Fitting

51

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 52: آموزش محاسبات عددی - بخش سوم

داده نقاط:تقريب تابع براي دلخواه فرم تعيين( برازش تقريب تابع(:

برازش تقريب تابع پارامترهاي:

خطا مربعات مجموع حداقل از استفاده )LMSE(مجهول متغيرهاي اساس بر( خطا تابع تشكيل(:

مجهول مؤلفه هر ازاي به خطا تابع سازي كمينه يا حداقل:

LMSEتعيين منحني تقريب يا برازش مبتني بر

52

niyx ii ,...,2,1),,(

),...,,,()( 21 maaaxfxf

nmmja j ),,...,2,1(

residualxfyr

xfyaaaS

iii

n

iiim

)(

)(),...,,(1

221

mkaS

k

,...,2,1,0

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 53: آموزش محاسبات عددی - بخش سوم

داده نقاط:تقريب تابع براي دلخواه فرم تعيين( برازش تقريب تابع(:

برازش تقريب تابع پارامترهاي:

خطا تابع تشكيل )LMSE( مجهول متغيرهاي حسب بر:

مجهول مؤلفه هر ازاي به خطا تابع سازي كمينه يا حداقل:

منحني برازش به فرم خط راست

53

niyx ii ,...,2,1),,(

baxaxaxf 21)(

],[ baS

02)(2

02)(2

1

2

111

111

n

ii

n

ii

n

iii

n

iiii

n

ii

n

ii

n

iii

xbxayxxbxaybS

xbnaybxayaS

n

iii bxaybaS

1

2),(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 54: آموزش محاسبات عددی - بخش سوم

2 به معادالت تقسيم باn آنها نمودن مرتب و:

محاسباتي خطاي كاهش براي تر مناسب روابط:

ادامه منحني برازش به فرم خط راست

54

22

22

2

11

11

2

11

11

xnxxynyx

b

xnxyxxxy

a

yn

yxn

x

yxn

bxn

xa

ybxa

i

ii

i

iii

n

ii

n

ii

n

iii

n

ii

bxyaxxxxxy

bii

ii

)()(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 55: آموزش محاسبات عددی - بخش سوم

معادله فرم به برازش روبرو، جدول به توجه با )مثال.آوريد بدست را راست خط)حل

مثال برازش خط راست

55

X 0.0 1.0 2.0 2.5 3.0y 2.9 3.7 4.1 4.4 5.0

7.15

0.35.20.20.10.011

n

iix

nx

02.45

0.54.41.47.39.211

n

iiy

ny

bxyaxxxxxy

bii

ii

)()(

6431.0)3.1(0.3)8.0(5.2)3.0(0.2)7.0(0.1)7.1(0.0)3.1(0.5)8.0(4.4)3.0(1.4)7.0(7.3)7.1(9.2

)()(

xxxxxy

bii

ii

9267.2)6431.0(7.102.4 bxya

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 56: آموزش محاسبات عددی - بخش سوم

Matlab كد )حل ادامه

>> x=[0,1,2,2.5,3]; y=[2.9,3.7,4.1,4.4,5];

>> x_bar=mean(x); y_bar=mean(y);

>> b= sum(y.*(x-x_bar))/sum(x.*(x-x_bar));

>> a=y_bar - x_bar*b ;

>> xx=[x(1):0.1:x(end)]; f=a+b*xx;>> plot(x,y,’o’,xx,f,’linewidth’,2);

رسم نتيجه مثال برازش خط راست

56

0 0.5 1 1.5 2 2.5 32.5

3

3.5

4

4.5

5

y = 0.6431*x + 2.9267

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 57: آموزش محاسبات عددی - بخش سوم

خطي تركيب نوع برازش فرمول

ماتريسي شكل به:

:انواع ديگر برازش يا منحني تقريب»برازش از نوع تركيب خطي«

57

mkyxfaxfxfn

iiik

m

jj

n

iikij ,...,2,1,)()()(

11 1

bAa

jkkj

n

iiikk

n

iikijkj AAyxfbxfxfA

11)()()(

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 58: آموزش محاسبات عددی - بخش سوم

مرتبه اي جمله چند تقريب m-1 :

يا:

:انواع ديگر برازش يا منحني تقريب»m-1برازش از نوع چند جمله اي مرتبه «

58

mjxaxfm

j

jj ,...,2,1,)(

1

1

n

ii

kik

n

i

kjikj yxbxA

1

1

1

2

imi

ii

i

mi

mi

mi

mi

miiii

miii

yx

yxy

b

xxxx

xxxxxxxn

A

12211

32

12

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 59: آموزش محاسبات عددی - بخش سوم

متداول خطي غير توابع از برخي :

اي چندجمله شكل به تبديل:

نيست اي جمله چند شكل به تبديل امكان گاهي :استثنايي شرايط:

.نيوتن روش نظير عددي هاي روش از استفاده

:انواع ديگر برازش يا منحني تقريب»برازش از نوع توابع غير خطي«

59

bxayaxy b

1

xbayxbay )ln()ln()ln(

0

112

01

11

2

2

i

i

ii

iii

bxx

bxay

bS

bxbxay

aS

2

1),(

ii bx

aybaS

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 60: آموزش محاسبات عددی - بخش سوم

60

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org

Page 61: آموزش محاسبات عددی - بخش سوم

61

اين اساليد ها بر مبناي نكات مطرح شده در فرادرس» MATLABآموزش محاسبات عددي پيشرفته به كمك نرم افزار«

.تهيه شده است

.براي كسب اطالعات بيشتر در مورد اين آموزش به لينك زير مراجعه نماييد

faradars.org/fvmth102

محاسبات عدديMATLABبه كمك

faradars.org/fvmth102

فرادرس

FaraDars.org