O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI
MIRZO ULUG’BEK NOMIDAGI O’ZBEKISTON MILLIY
UNIVERSITETI
_____________________________________________ FAKULTETI
____________________________________________ YO’NALISHI
_________________________________________________FANIDA
MUSTAQIL ISH
Mavzu: ________________________________________
Bajardi: ____________________
Qabul qildi: _________________
Toshkent – 2020
Reja:
Sitatik metod
Dinamik metod
Adabiyotlar
Sitatik metod
Shu paytgacha tuzilgan kvadratur (kubatur) formulalar uchun funksiyalarning biror sifatida qoldiq hadning aniq bahosi berilgan edi yoki berish mumkin edi. Masalan, 7-§ da C(L) sinf uchun to’g’ri to’rtburchaklar formulasining xatosi uchun 0,25 LN-1 bahoni aniqlagan ediq bu yerda N kvadratur formula tugunlarining soni. Bu baho qaralayotgan sinfning barcha funksiyalari uchun o’rinlidir. Ayrim sinflar uchun bunday baho juda ham qo’pol bo’ladiki, integralni yetarlicha aniqlik bilan hisoblashning imkoni bo’lmaydi. Masalan, n- o’lchovli birlik kubda aniqlangan, uzluksiz va xususiy hosilalari bo’lakli - uzluksiz va shartni qanoatlantiradigan f(x1 ,x2, ..., хп) funksiyalar sinfi C1,1,…,1 (L) uchun dLN (d-o’zgarmas son) dan yaxshiroq bahoni ta’minlaydigan baho mavjud emasligini N.S. Baxvalov (2,3,20) ko’r satgan edi. 7-§ da qaralgan sinf bu sinfning n = 1 bo’lgan holidir.
Faraz qilaylik, shu sinf funksiyalari uchun integralning qiymatni 0,01 dL dan ortmaydigan aniqlik bilan hisoblash kerak bo’lsin. U holda kubatur formulaning tugunlari dLN<0,01dL tengsizlikni qanoatlantirishi kerak, ya’ni N>100n bo’lishi kerak. Odatda ko’p o’lchovchi funksiyaning har bir qiymatini hisoblash ko’p mehnat talab qiladi, shuning uchun ham hatto n = 6 bo’lganda bunday integralni hisoblash mumkin bo’lmaydi.
Bunday holda, kat`iy bahoni topishdan voz kechib, buning o’rniga ma’lum darajada ishonch bilan bo’lsada, xatoni baholashning boshqa metodlarini qidirish yo’liga o’tish kerak. Bunday metod statistik sinov metodi yoki boshqacha aytganda, Monte-Karlo metodidir.
Ta’rif. Agar X miqdor u yoki bu kiymatlarni biror tasodifiy qodisaning ro’y berishi yoki ro’y bermasligi bilan bog’liq holda qabul qilsa, u holda X tasodifiy miqdor deyiladi.
Tasodifiy miqdor X taqsimot qonuni Р(Х < х) = Ф(х) bilan aniqlanadi, bu yerda X - ixtiyoriy haqiqiy son va F(x) - taqsimot funksiyasi. Tasodifiy miqdorning qiymatlari tasodifiy sonlar deyiladi.
Agar tasodifiy miqdorning taqsimot qonuni aniq bo’lsa (tekis, normal va h.k.), u holda unga mos keladigan tasodifiy sonlar shu qonun bo’yicha taqsimlangan deyiladi.
Agar tasodifiy miqdor X ning qiymatlari 0,1 oraliqda yotsa va qiymatlarining ixtiyoriy [0,1] oraliqda yotish eqtimollari ga teng bo’lsa, X bu oraliqda tekis taqsimlangan deyiladi.
Tasodifiy sonlarni hosil qilish uchun tasodifiy fizik jarayonlar masalan, o’yin soqqasini tashlash, ruletkani aylantirish, Geyger schyotchigidagi yonish va h.k. natijalaridan foydalanish mumkin. qozirgi paytda tasodifiy sonlarning tayyor jadvallari ham mavjuddir .
Faraz qilaylik, biror usul bilan [0,1] oraliqda bir-biriga bog’liq bo’lmagan va tekis taqsimlangan tasodifiy sonlar ketma-ketligini hosil qilgan bo’laylik:
Koordinatalari shu sonlardan iborat bo’lgan birlik kubning
nuqtalarini N ta o’zaro bog’liq bo’lmagan tasodifiy nuqtalar deb qarashimiz mumkin.
50-yillardan boshlab hisoblash matematikasida, shu jumladan karrali integrallarni hisoblashlarda, Monte-Karlo metodi qo’llanila boshlandi.
Biz hozir shu metodning ikki variantini qisqacha ko’rib chiqamiz.
Birinchi variant. Faraz qilaylik, integrallash sohasi quyidagi
(14.1)
tengsizliklar bilan aniqlansin va f(Р) =f(хр х2, ..., хп) funksiya bu sohada
(14.2)
tengsizlikni qanoatlantirsin. Ushbu
(14.3)
karrali integralni taqribiy hisoblash uchun yuqorida aytilgan N ta
tasodifiy nuqtalar to’plamini olamiz. Agar bo’lsa f(Рк) ni hisoblaymiz, agar Pk bo’lsa, f(Pk)=0 deb olamiz. So’ngra, bu f(Pk) miqdorlarning o’rta arifmetigini aniqlaymiz:
SN (f) = f(Pk) katta sonlar qonuniga ko’ra katta N lar uchun
katta eqtimollik bilan ISN(f) deb olish mumkin. Aniqrog’i, agar berilgan (0<< 1) uchun t quyidagi
(14.4)
tenglikdan (ehtimolliklar integrali jadvalidan foydalanib) aniqlansa va berilgan < 0 uchun N quyidagi
tengsizlikni qanoatlantirsa, u holda Chebishev tengsizligiga ko’ra
Tengsiz ehtimollik bilan bajariladi. Agar ta=2 bo’lsa, u holda = 0,997 va ta = 5 bo’lsa, u holda = 0,99999 bo’ladi.
Bu yerda f ning qiymati oldindan ma’lum bo’lmagani uchun, D(f) ning qiymati noma’lum, shuning uchuн ham N ning kerakli kichik qiymatini topish murakkablashadi. Shu sababga ko’ra amaliyot quyidagichа ish tutiladi.
Ixtiyoriy N0 sonni olib, D(f) ning taqribiy qiymatini beradigan
miqdorni hisoblaymiz, keyin N1 ni aniqlaymiz:
Agar Nt < N0 bo’lsa, u holda ta sinov olinadi va
miqdorlar hisoblanadi hamda N2, N1 bilan taqqoslanadi va h.k. Sinovning kerakli soni Nm aniqlangandan keyin bu jarayon to’xtatiladi.
SN(f) va (f) larni hisoblashda EHMlarning xotirasini band qilmaslik maqsadida quyidagicha ish tutiш mumkin.
Faraz qilaylik, m ta sinov o’tkazilib,
miqdorlar hisoblangan bo’lsin. Navbatdagi m + 1 - sinov o’tkazilgandan keyin Sm+1(f) va m+1(f) lar
formulalar yordamida hisoblanadi.
Ikkinchi variant. Bu yerda ham avvalgidek N ta o’zaro bog’liq bo’lmagan tasodifiy nuqtalar orasidan
tengsizliklarni qanoatlantiradiganlarning soni v aniqlanadi. Yetarlicha katta N lar uchun deb olish mumkin. Aniqrog’i, agar berilgan uchun t(14.4) tenglikdan aniqlansa va sinovlar soni N berilgan >0 orqali
(14.5)
tengsizlikni qanoatlantirsa, u holda ehtimollik bilan
tengsizlik bajariladi.
Agar EHM [0,1] da tekis taqsimlangan tasodifiy miqdorlarni hosil qiluvchi dasturga ega bo’lsa, u holda bu variant oldingi variantga nisbatan ancha qulaydir.
Bu yerda (14.5) tengsizlikni qanoatlantiruvchi N ni aniqlash uchun avval ixtiyoriy N0 olinib, yuqoridagi usul bilan integralning taqribiy qiymati I0 hisoblanadi va
topiladi. Agar N1 < N0 bo’lsa, u holda sinovlar soni [N1] + 1 ga etkaziladi, I1 hisoblanadi va
Dinamik metod
C# aniq statik turlangan dasturlash tili bo'lishiga qaramasdan, ba'zi dinamik turlar imkoniyatlari qo'shilgan. .Net 4.0 versiyasidan boshlab, DLR(Dynamic Language Runtime) nomli yangi funksional mavjud. DLR IronPython va IronRuby dinamik tillardan foydalanish imkonini beruvchi muhit taqdim etadi.
Bu yangilikning mohiyatini tushunish uchun dinamik va statik turlangan tillar farqini bilib olish kerak. Statik turlangan tillarda hamma turlar va ular oilasiga mansub barcha turlar, xossalar va metodlar turlari kompilyatsiya bo'layotgan vaqt aniqlanadi. Dinamik turlangan tillarda esa dastur bajarilish vaqtigacha tizimga turlarning xossalari va metodlari haqida hech narsa ma'lum bo'lmaydi.
Shu DLR muhit sababli C# da dinamik obyektlar yaratish mumkin va ularning a'zolari dastur ishlayotgan vaqt aniqlanadi va ularni odatiy ravishda aniq statik turlangan obyektlar bilan birga qo'llash mumkin.
DLR'dan foydalanishning eng muhim nuqtasi dynamic turlarni qo'llashdan iborat bo'ladi. Bu kalit so'zi kompilyatsiya vaqti turlarni "turlarni aniqlash va tekshirish" bosqichidan o'tib ketish imkonini beradi. Bundan tashqari dynamic tur bilan e'lon qilingan obyektlar dastur ishlayotgan vaqti o'z turini almashtirishi mumkin. Masalan:
class Program
{
static void Main(string[] args)
{
dynamic x = 3; // bu yerda x - int butun son
Console.WriteLine(x);
x = "Salom, Dunyo"; // x - qator
Console.WriteLine(x);
x = new Person() { Name = "Vejon", Age = 28 }; // x - Person - obyekti
Console.WriteLine(x);
Console.ReadLine();
}
}
class Person
{
public string Name {get;set;}
public int Age { get; set; }
public override string ToString()
{
return Name + ", " + Age.ToString();
}
}
Yuqoridagi kodda x o'zgaruvchisi dastur ishlashi davomida o'z turini bir necha bor o'zgartirishiga qaramasdan, bu dastur hech qanday muommosiz ishlaydi. dynamic'ni bunday qo'llanilishi uni var kalit so'zini qo'llanilishidan ajratib turadi. var kalit so'zi yordamida e'lon qilingan o'zgaruvchilarning turlari kompilyatsiya vaqti faqat bir bor aniqlanadi va u dastur ishlash vaqti o'zgarmaydi.
Shu bilan birga, dynamic va object turi o'rtasida yana bir umumiylikni ko'rish mumkin. Yuqoridagi misolda biz dynamic'ni objectga o'zgartirsak: oject x = 3; bo'lsa natija o'zgarmaydi. Lekin bu yerda ozgina farq bor:
object obj = 24;
dynamic dyn = 24;
obj += 4; // mumkin emas
dyn += 4; // mumkin
obj += 4; qatorida biz xatoni ko'rishimiz mumkin, += operatsiyasini object va int turlariga nisbatan qo'llab bo'lmaydi. dynamic deb e'lon qilingan o'zgaruvchi bilan esa bunday muommo yuz bermaydi, chunki u dastur bajarilayotgan vaqt aniqlanadi.
dynamic'dan foydalanishning yana bir muhim farqi shundan iboratki, dynamic'ni nafaqat o'zgaruvchilarga nisbatan balki, xossalar va metodlarga nisbatan ham qo'llash mumkin.
class Person
{
public string Name {get;set;}
public dynamic Age { get; set; }
// berilgan formatga ko'ra maoshni chiqaramiz
public dynamic getSalary(dynamic value, string format)
{
if (format=="string")
{
return value + " so'm";
}
else if (format == "int")
{
return value;
}
else
{
return 0.0;
}
}
public override string ToString()
{
return Name + ", " + Age.ToString();
}
}
Person klassida Age dinamik xossasi e'lon qilingan, shuning uchun ushbu xossaga biron bir qiymat berayotganda person.Age=33 ham, person.Age="o'tiz uch" ham qilishimiz mumkin. Ikkala holda ham hech qanday xato bo'lmaydi.
Shu bilan birga, getSalary metodi dynamic qiymat qaytaradi. Masalan, berilgan parametrga qarab xohlasak yoki qator ko'rinishida, yoki son ko'rinishida oylik foydani qaytarishimiz mumkin. Bunda metod parametr sifatida dynamic'ni qabul qiladi. Shunday qilib biz, foydani qiymatini pametr sifatida ham butun son, ham qandaydir kasr son ko'rinishida berishimiz mumkin bo'ladi. Quyidagi misol bu ko'rsatilgan:
dynamic person1 = new Person() { Name = "Vejon", Age = 28 };
Console.WriteLine(person1);
Console.WriteLine(person1.getSalary(28.09, "int"));
dynamic person2 = new Person() { Name = "WinStyle", Age = "yigirma yetti yosh" };
Console.WriteLine(person2);
Console.WriteLine(person2.getSalary(30, "string"));
FOYDALANILGAN ADABIYOTLAR:
Соболев С.Л. Введение в теорию кубатурных формул.
–М.: «Наука». -1974г.
Никольский С.М. Квадратурные формулы. 2-е изд. –М.: «Наука». -1972г.
Крылов В.Н. Приближённые вычисления интегралов. –М.: «Наука». -1967г.
Коробов Н.М. Теоретика – числовые методы в приближённом анализе. –М.: Физматгиз. -1963г.
Лануош К. Практические методы прикладного анализа. –М.: Физматгиз. -1961г.
Ермаков С.М. Методы Монте-Карло и сменные вопросы. 2-е доп. изд. –М.: «Наука». -1973г.
Қобулов В.К. Функционал анализ ва ҳисоблаш математикаси. –Т.: “Ўқитувчи”. -1976й.
Исроилов М.И. Ҳисоблаш методлари. –Т.: “Ўзбекистон”. -2203й.
Шодиметов Х.М. Введение в теорию квадратурных формул. –Т.: Фан. -2005й.
Расулов И.Г., Хасанов Б., Самадова М. Составная кубатурная формула. Бухоро давлат университетининг илмий ахборотномаси. 2009 й., №1. 96-101 бетлар.
Do'stlaringiz bilan baham: |