View
270
Download
25
Category
Preview:
Citation preview
MATLABمحاسبات عددی به کمک نرم افزار
«یابی و برازشروش های درون »
:مدرساشکان تاشک
درجه و رشته تحصیلیمخابرات گرایش سیستم و مدرس دانشگاه-دکترای مهندسی برق
محاسبات عددیMATLABبه کمک
faradars.org/fvmth102
فرادرس
FaraDars.org
سومعناوين فصل برازش و يابي درون :سوم فصل
ها تفاوت و تعاريف -1) MATLAB برنامه همراه به( يابي درون هاي روش انواع -2
الگرانژ روش- نيوتن پيشرونده شونده تقسيم هاي تفاضل روش -
) MATLAB برنامه همراه به( ها اسپالين -3دو مرتبه هاي اسپالين- سه مرتبه هاي اسپالين -
) MATLAB برنامه همراه به( برازش -4
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
مقدمه
.است x(y( تخمين )n,…,1=i,)iy,ix داده زوج n :هدف•
.هستند متداول بسيار عددي محاسبات در عددي هاي داده يابي درون•.شود حاصل تجربي هاي گيري اندازه يا عددي محاسبات طريق از است ممكن عددي هاي داده•
Curve( منحني عبور با )Interpolation( يابي درون كه شود توجه• fitting( است متفاوت.
هدف
Curve( منحني عبور در• fitting(، كه منحني هموارترين .است نظر مد زند مي تقريب را ها داده مجموعه
از كه منحني )Interpolation( يابي درون يا يابي ميان در•.باشد مي مفروض گذرد، مي شده داده نقاط كليه
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
رهيافت هاي محاسباتي خط كي يابي، درون بازه انتهاي و ابتدا نقطه دو بين شيوه، اين در .است يابي درون شيوه ترين ساده :راست خط روش•
.شود مي انجام خطي يابي درون عمل ترتيب، اين به و شده رسم راست
مي اي جمله چند يابي درون هاي روش ها، داده از اي مجموعه يابي درون شيوه ترين معمول :اي جمله چند روشهاي•باشند مي زير قرار به آنها مهمترين كه باشد
الگرانژ روش•
نيوتن روش•.يكنواخت غير فواصل با و يكنواخت فواصل با نوع دو•
4
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
روش هاي چند جمله اي
5
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
بردارهاي هاي داده چنانچه اساس، براين 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
مثال از درون يابي به كمك چندجمله اي ها
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
مثال از درون يابي به كمك چندجمله اي ها
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
ه اينكاتي در مورد درون يابي به شيوه تقريب چندجمل:معايب روش•
.افزايش نقاط باعث افزايش ضرايب و درنتيجه درجه دستگاه معادالت خطي مي شود– .بود نخواهد ساده دستگاه حل–
:پيشنهاد•جايگزين تر مناسب هاي روش براي جستجو–
9
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
روش درون يابي الگرانژ )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
مثال از روش درون يابي الگرانژ براي داده هاي زير يك چند جمله اي به شيوه الگرانژ درون يابي كنيد؟: مثال•
با توجه به روش الگرانژ) پاسخ: داريم
)مرحله اول(
)مرحله دوم(
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
درون يابي الگرانژ روش 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
ن درون يابي به روش تفاضل هاي تقسيم شونده نيوت)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
ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)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
ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)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
ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(
16
:دهيم ارائه را زير كلي فرمول توانيم مي قبل، مراحل كامل و مجدد تكرار با
كه زير جدول از ، زمينه اين در .گرديم مي باز شده تقسيم هاي تفاضل ي محاسبه ي مسئله به ، اكنون.كنيم مي شروع دهد، مي نمايش مفروض نقاط در را f تابع مقادير
)())(](,...,[)()( 11001 nnnn xxxxxxxxfxPxP
nxxx ,...,, 10
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
17
:داشت خواهيم را زير تفاضل چهار فرمول از ستفاده با حال
.است رناپذي تغيير هاي آرگومان سيكلي چرخش با ، المان كه باشيد داشته توجه
0
10110
,,,,,,,xx
xxfxxfxxxfn
nnn
nxxxf ,,, 10 nxxx ,,, 10
ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)Newton Difference Interpolation Methods(
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
ن ادامه درون يابي به روش تفاضل هاي تقسيم شونده نيوت)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
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
يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)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
21
نيوتن شونده تقسيم هاي تفاضل جدول فرمول، طبق )حل:دهيم مي تشكيل روبرو قرار به مثال براي را
يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(
))()(](,,,[))(](,,[)](,[][)(
2103210
1021001003
xxxxxxxxxxfxxxxxxxfxxxxfxfxP
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)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
ن يابي به روش تفاضل هاي تقسيم شونده نيوتادامه درون )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
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
ن درون يابي به روش تفاضل هاي تقسيم شونده نيوتادامه )Newton Difference Interpolation Methods(
25
تفاضل همحاسب تشكيل براي آنگاه نكند، تبعيت حسابي تصاعد يك از و نبوده يكسان x نقاط ميان فاصله چنانچه :يادآوري)22-20 اساليدهاي در مثال مطابق( شود مي انجام محاسبات زير فرمول قرار به شده تقسيم هاي
فرادرس
FaraDars.org
هاي متساوي الفاصله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
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
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
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
30
يابي درون اي چندجمله و كنيد تهيه زير جدول در موجود هاي داده براي شده تقسيم هاي تفاضل از جدول يك )مثال. آوريد بدست نيز را آن نيوتني ي شده
جدول تشكيل نتيجه روبرو، جدول در )حل برنامه طبق شونده تقسيم هاي تفاضل
Matlab ضرايبي ،همچنين.است شده آورده استفاده يابي درون فرمول برايبايد كه
.اند شده داده نمايش بيضي در ،شوند
يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)Newton Difference Interpolation Methods(
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
يوتن مثالي از درون يابي به روش تفاضل هاي تقسيم شونده ن)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
نكاتي چند از تفاضل هاي تقسيم شونده و تركيب
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
تقريب روش اسپالين
33
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
از تركيبي اسپالين روش N-1 براي واحد اي جمله چند تقريب و مجاور نقطه دو هر بين راست خط N داده نقطه .باشد مي
باشد مي كننده يابي درون اي ضابطه چند تابع يك اسپالين تقريب واقع در.ها اسپالين انواع:بين دو نقطهخط راست ساده ترين روش اتصال ) 1. است
حاصل منحني *اما است پيوسته.نيست پذير مشتق
تعريف تقريب اسپالين و انواع آن
34
ii
iii
nnnnn
xxxfxfm
xxxxxmxf
xxxxxmxf
xxxxxmxf
xf
1
1
1111
21111
10000
)()(
),()(
),()(
),()(
)(
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
.بين هر دو نقطه متوالي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
.بين هر دو نقطه متوالي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
مثال از اسپالين درجه دوم
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
از اسپالين درجه دومادامه مثال
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
بايستي چند جمله اي درجه سه با فرمول عمومي نشان داده شده در 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
:حاكم بر مقادير توابع در نقاط ابتدايي و انتهايي شرايط) پ
. معادله قبل اضافه مي گردد (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
: طبق فرمول زير بايد برابر باشند) 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
:حال، با توجه به معادالت اقدام به حل آنها كرده تا ضرايب مجهول بدست آيند.تابع درجه سه بين نقاط مياني وجود خواهد داشت 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
: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
: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
مثال براي اسپالين درجه سوم
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
مثال براي اسپالين درجه سوم
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
روش هاي درون يابي دو بعدي
47
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
درون يابي دوبعدي به روش الگرانژ) 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
مرتبط با درون يابي دوبعدي 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
برازش ياCurve Fitting
50
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
ها داده متوسط اساس بر شده هموارسازي مناسب منحني تعيين :هدفخوب برازش يك مطلوب شرايط:.باشد نويز و اغتشاش بدون و ساده بايستي تقريب -1.برند مي رنج پارامترها زياد تعداد از اسپالين برازش و باال نوسانات از اي جمله چند برازش -2.است مطلوب خطا حداقل با ها داده متوسط بر منطبق منحني تقريب -3تقريب منحنب تعيين مراحل:
.)قالب يا نوع( مناسب منحني انتخاب -الف.تقريب بهترين تعيين براي منحني پارامترهاي محاسبه -ب
خطا مربعات مجموع سازي حداقل :مبنا )LMSE يا Least Mean Square Error(
تعريف برازش يا منحني تقريب يا Curve Fitting
51
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
داده نقاط:تقريب تابع براي دلخواه فرم تعيين( برازش تقريب تابع(:
برازش تقريب تابع پارامترهاي:
خطا مربعات مجموع حداقل از استفاده )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
داده نقاط:تقريب تابع براي دلخواه فرم تعيين( برازش تقريب تابع(:
برازش تقريب تابع پارامترهاي:
خطا تابع تشكيل )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
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
معادله فرم به برازش روبرو، جدول به توجه با )مثال.آوريد بدست را راست خط)حل
مثال برازش خط راست
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
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
خطي تركيب نوع برازش فرمول
ماتريسي شكل به:
:انواع ديگر برازش يا منحني تقريب»برازش از نوع تركيب خطي«
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
مرتبه اي جمله چند تقريب 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
متداول خطي غير توابع از برخي :
اي چندجمله شكل به تبديل:
نيست اي جمله چند شكل به تبديل امكان گاهي :استثنايي شرايط:
.نيوتن روش نظير عددي هاي روش از استفاده
:انواع ديگر برازش يا منحني تقريب»برازش از نوع توابع غير خطي«
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
60
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
61
اين اساليد ها بر مبناي نكات مطرح شده در فرادرس» MATLABآموزش محاسبات عددي پيشرفته به كمك نرم افزار«
.تهيه شده است
.براي كسب اطالعات بيشتر در مورد اين آموزش به لينك زير مراجعه نماييد
faradars.org/fvmth102
محاسبات عدديMATLABبه كمك
faradars.org/fvmth102
فرادرس
FaraDars.org
Recommended