Uploaded by teacherabrorjon

Matlabda interpolyatsiya va approksimatsiya

advertisement
Mustaqil ish mavzu: Matlabda interpolyatsiya va aproksimatsiya masalalarini tadqiq etish va
yechish
MUSTAQIL ISH
Mavzu: Matlabda interpolyatsiya va aproksimatsiya masalalarini tadqiq etish va yechish.
Toshkent – 2021
Interpolatsiya - bu ma'lum ma'lumotlar nuqtalari qatoriga yangi ma'lumotlar nuqtalarini
qo'shish usuli. Siz etishmayotgan ma'lumotlarni to'ldirish, mavjud ma'lumotlarni tekislash,
bashorat qilish va boshqalar uchun interpolyatsiyadan foydalanishingiz mumkin. MATLAB ®
da
interpolyatsiya qilish tarmoqdagi ma'lumotlar nuqtalari va tarqoq ma'lumotlar nuqtalari uchun
usullarga bo'linadi.
1-rasm. Interpolyatsiya ko’rinishlari
1D interpolyatsiya buyruqlari
interp1
1-D ma'lumotlar interpolyatsiyasi (jadvalni qidirish)
interp2
Meshgrid formatida 2 o'lchamli gridlangan ma'lumotlar uchun interpolatsiya
interp3
Meshgrid formatida 3 o'lchamli gridlangan ma'lumotlar uchun interpolatsiya
interpn
ndgrid formatida 1-D, 2-D, 3-D va ND gridlangan maʼlumotlar uchun interpolatsiya
griddedInterpolant Gridlangan ma'lumotlar interpolyatsiyasi
pchip
Parchalangan kubik ermit interpolyatsiya qiluvchi polinom (PCHIP)
makima
O'zgartirilgan Akima qismli kubik Hermit interpolyatsiyasi
spline
Kub spline ma'lumotlar interpolyatsiyasi
ppval
Bo‘lak-bo‘lak ko‘phadni baholang
mkpp
Bo‘lak-bo‘lak ko‘phad yasang
unmkpp
Polinom detallarini qismlarga bo'lib ajratib oling
padecoef
Vaqt kechikishlarining Padé yaqinlashuvi
interpft
1-D interpolyatsiyasi (FFT usuli)
Grid interpolyatsiya buyruqlari
ndgrid
ND fazosida to'rtburchaklar panjara
meshgrid
2 o'lchamli va 3 o'lchamli to'r
Tarqalgan interpolyatsiya
griddata
2-D yoki 3-D tarqoq ma'lumotlarni interpolyatsiya qilish
griddatan
ND tarqoq ma'lumotlarini interpolyatsiya qilish
scatteredInterpolant 2-D yoki 3-D tarqoq ma'lumotlarni interpolyatsiya qilish
3 o'lchovli panjaralarda 2 o'lchovli tanlovlarning
interpolyatsiyasi
Ushbu misol 2 o'lchovli interpolyatsiya muammosini hal qilish uchun 3 o'lchamdagi panjara
tekisligi massivlarining o'lchamlarini qanday kamaytirishni ko'rsatadi.
Ba'zi qo'llash sohalarida panjaraning pastki o'lchamli tekisligini interpolatsiya qilish kerak
bo'lishi mumkin; masalan, 3 o'lchovli panjara tekisligini interpolyatsiya qilish. To'r tekisligini 3
o'lchovli panjaradan chiqarganingizda, olingan massivlar 3 o'lchamli formatda bo'lishi
mumkin. squeezeMuammoni 2-D formatida hal qilish uchun panjara tekisligi massivlarining
o'lchamlarini kamaytirish funksiyasidan foydalanishingiz mumkin .
3-D namunaviy to'r va mos qiymatlarni yarating.
[X,Y,Z] = ndgrid(1:5);
V = X.^2 + Y.^2 +Z;
To'rdan 2 o'lchamli namunani tanlang. Bunday holda, namunalarning uchinchi ustuni.
x = X(:,3,:);
z = Z(:,3,:);
v = V(:,3,:);
2-D tekislik da sodir bo'ladi Y=3, shuning uchun Yo'lcham o'rnatildi. x, z, va v5 ga 1 ga 5
massivlardir. Interpolantni baholashdan oldin ularni 2-D massivlarga qisqartirishingiz kerak.
Funktsiyadan foydalanib x, z, va v2 o'lchovli massivlarni qisqartiring squeeze.
x = siqish (x);
z = siqish(z);
v = siqish (v);
2 o'lchamli bo'lakni so'rov nuqtalarining nozikroq to'ri bo'ylab interpolyatsiya qiling.
[Xq,Zq] = ndgrid(1:0,5:5);
Vq = interpn(x,z,v,Xq,Zq);
Natijalarni chizing.
raqam
surf (Xq, Zq, Vq);xlabel
( 'Xq' );
ylabel( 'Zq' );
zlabel( 'Vq' );
Aproksimatsiya – tahlil qilish taxminlari
Simulink ® Dizayn tekshirgichga ™ dasturi urinishlar maqsadlarga erishish uchun kirishlar va
parametrlarini ishlab chiqarish uchun. Biroq, dasturiy ta'minotni izlash uchun cheksiz ko'p
qiymatlar bo'lishi mumkin. Tahlil uchun oqilona chegaralarni yaratish uchun dasturiy ta'minot
tahlilni soddalashtirish uchun taxminiy amallarni bajaradi. Dasturiy ta'minot Simulink Design
Verifier HTML hisobotining Tahlil ma'lumotlari bo'limida bajarilgan har qanday taxminiy
ma'lumotlarni yozib oladi . Ushbu bobning tavsifi uchun Tahlil ma'lumotlari bo'limiga qarang .
Dasturiy ta'minot taxminiy ma'lumotlardan foydalanganda tahlil natijalarini diqqat bilan ko'rib
chiqing. Qaysi bloklar yoki quyi tizimlar dasturiy ta'minotning taxminiy ma'lumotlarni
bajarishiga sabab bo'lganini aniqlash uchun modelingizni baholang.
Kamdan-kam hollarda, yaqinlashtirish test maqsadlariga erisha olmaydigan yoki dizayn xatosini
ko'rsatmaydigan test holatlariga yoki isbotlash maqsadlarini soxtalashtirishga muvaffaq
bo'lmaydigan qarama-qarshi misollarga olib kelishi mumkin. Misol uchun, dasturiy ta'minot
chegaradan oshib, maqsadga erishishi kerak bo'lgan sinov holati signalini ishlab chiqardi
deylik; suzuvchi nuqtali yaxlitlash xatosi bu signalning chegara qiymatiga erishishiga to'sqinlik
qilishi mumkin.
Taxminlovchilar turlari
Simulink Dizayn Verifier u modelini tahlil qachon dasturlar Quyidagi taxminan qadriyatlar
bajaradi:

Suzuvchi nuqtani ratsional songa aylantirish

Suzuvchi nuqtali ma'lumotlar turlari uchun ikki o'lchovli qidirish jadvallarini
lineerlashtirish

Yondashish bir va Integer uchun ikki o'lchovli qidirish jadvallar va Fixed-Point Data
turlari

While Loops
Suzuvchi nuqtani ratsional songa aylantirish
Ba'zi hollarda Simulink Design Verifier dasturi suzuvchi nuqtali sonlarning chiziqli
arifmetikasini cheksiz aniqlikdagi ratsional sonlar bilan yaqinlashtirish orqali
soddalashtiradi. Dasturiy ta'minot ushbu qiymatlar orasidagi mantiqiy munosabatlar maqsadlarga
qanday ta'sir qilishini aniqlaydi. Ushbu tahlil dasturiy ta'minotga odatda o'rnatilgan boshqaruv
dizaynlarida mavjud bo'lgan nazorat mantiqini qo'llab-quvvatlash imkonini beradi.
Agar sizning modelingiz signallarda, kirish qiymatlarida yoki blok parametrlarida suzuvchi
nuqta qiymatlarini o'z ichiga olsa, Simulink Design Verifier tahlil qilishdan oldin ba'zi
qiymatlarni oqilona raqamlarga o'zgartiradi. Ushbu yaqinlashuvlar natijasida:

Yakunlash xatosi hisobga olinmaydi.

O'zgaruvchan nuqtali raqamlarning yuqori va pastki chegaralari hisobga olinmaydi.

Agar sizning modelingiz suzuvchi nuqta qiymatlarini butun son qiymatlariga aylantirsa,
butun son ko'rinishi model uchun yaratilgan testlarga ta'sir qilishi mumkin. Ba'zi kamdankam hollarda yaratilgan testlar suzuvchi nuqta qiymatlari bilan bog'liq maqsadlarga javob
bermasligi mumkin.
Suzuvchi nuqtali ma'lumotlar turlari uchun ikki o'lchovli qidirish jadvallarini
lineerlashtirish
Simulink Dizayn Verifier dasturiy suzuvchi-nuqta ma'lumotlar turlari uchun nochiziqli arifmetik
qo'llab-quvvatlamaydi. Agar sizning modelingizda 2 o‘lchamli qidiruv jadvali bloklari yoki n = 2
bo‘lgan nD qidiruv jadvali bloklari mavjud bo‘lsa, unda quyidagi barcha xarakteristikalar
mavjud bo‘lsa, dasturiy ta’minot har bir interpolyatsiya oralig‘iga tekisliklarni o‘rnatish orqali
chiziqli interpolyatsiya bilan chiziqli bo‘lmagan ikki o‘lchovli interpolyatsiyaga yaqinlashadi.
Bloklash
Xususiyatlari

nD Qidiruv jadvali bloki, n = 2:
Interpolatsiya usuli parametri Linear.

Ekstrapolyatsiya usuli parametri Clipyoki Linear.

Kirish va chiqish signallari suzuvchi nuqtali ma'lumotlar turiga ega.
Yondashish bir va Integer uchun ikki o'lchovli qidirish jadvallar va Fixed-Point Data
turlari
Agar sizning modelingizda quyidagi xususiyatlarga ega qidirish jadvallari mavjud
bo'lsa, Simulink Design Verifier avtomatik ravishda dastlabki qidirish jadvalingizni har bir
tegishli o'lchamda teng bo'lgan to'xtash nuqtalaridan tashkil topgan yangi qidirish jadvaliga
aylantiradi.
Bloklash
Xususiyatlari

nD Qidiruv jadvali bloki, n = 1 yoki n = 2:
Interpolatsiya usuli parametri Linear.

Ekstrapolyatsiya usuli parametri Clip.

Indeksni qidirish usuli parametri Linear searchyoki Binary search.

Kirish va chiqish signallari ikkalasi ham bir xil turdagi va ikkalasi ham butun sonli yoki
qo'zg'almas nuqta tipidagidir.
Ushbu yaqinlashuv Simulink Design Verifier- ga testlarni sezilarli darajada tezroq
yaratish imkonini beradi . Tejalgan vaqt sizning modelingizda qoniqarsiz sinov maqsadlariga ega
bo'lganingizda talaffuz qilinadi.
Agar Simulink Design Verifier sizning modelingizga shunday yaqinlashtirishlarni
qo'llasa, Simulink Design Verifier hisobotiga yaqinlashtirish tafsilotlari kiradi .
While Loops
Agar modelingiz yoki modelingizdagi Stateflow ® diagrammasi halqadan iborat
bo‘lsa while, Simulink Design Verifier sikldan chiqishga imkon beruvchi konservativ doimiy
chegarani aniqlashga harakat qiladi while. Agar dasturiy ta'minot doimiy chegarani topa olmasa,
u whilepastadirga yaqinlashishni amalga oshiradi . Ushbu yaqinlashish bilan tahlil
maqsadlarning haqiqiy yoki qoniqarsiz ekanligini isbotlamaydi va o'lik mantiqni
isbotlamaydi. Yaratilgan tahlil hisoboti bu taxminni qayd etadi .
Quyidagi jadvalda tavsiflanganidek , whilepastadirga yaqinlashishning xatti-harakati tahlilning
barcha usullarida mos keladi.
Tahlil rejimi
While tsiklining yaqinlashuvi
Dizayn xatolarini aniqlash
whileLoop iteratsiyalar sonini 3 ga o'rnatadi . O'lik mantiq
yoki haqiqiy maqsadlar haqida xabar bermaydi.
Test ishini yaratish
whileLoop iteratsiyalar sonini 3 ga o'rnatadi . Qoniqarsiz
maqsadlar haqida xabar bermaydi.
Mulkni isbotlash
whileLoop iteratsiyalar sonini 3 ga oʻrnatadi . Toʻgʻri
maqsadlar haqida xabar bermaydi.
Misol:
Test ishi yaratish uchun S-funktsiyani sozlash
opts = sldvoptions;
opts.Mode = 'Test Generation' ;
opts.ModelCoverageObjectives = 'ConditionDecision' ;
opts.SaveHarnessModel = 'off' ;
opts.SaveReport = 'off' ;
opts.SFcnSupport = "yoqilgan" ;
[holat, fayl nomlari] = sldvrun( 'sldvexSFunctionHandlingExample' , tanlagan , rost);
To'liq qamrovni tekshirish
sldvruntestFunktsiya dalolat test suite to'liq model qamrab erishadi, deb. cvhtmlFunktsiya 100%
Ahvoli bildiradi va qaror qamrov hosil sinov vektor bilan erishiladi bir qamrov hisobot ishlab
chiqaradi.
[~, finalCov] = sldvruntest( 'sldvexSFunctionHandlingExample' , fileNames.DataFile, [], rost);
cvhtml( 'Yakuniy qamrov' , finalCov);
Tozalash
Namoyishni yakunlash uchun barcha modellarni yoping.
close_system( 'sldvexSFunctionHandlingExample' , 0);
Foydalanilgan adabiyotlar
1.
https://www.mathworks.com/help/matlab/interpolation.html
2.
https://www.mathworks.com/help/sldv/component-selection-foranalysis.html?s_tid=CRUX_topnav
http://hozir.org
Download