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