Բովանդակություն:

Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում. 10 քայլ
Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում. 10 քայլ

Video: Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում. 10 քայլ

Video: Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում. 10 քայլ
Video: Web3 - ինչ է վեբ 3-ը: Նոր սերնդի վեբ բլոկչեյնում առանց կենտրոնական իշխանության 2024, Նոյեմբեր
Anonim
Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում
Ինչպես կատարել թվային ինտեգրման ծրագիր Python- ում

Սա ձեռնարկ է, թե ինչպես ստեղծել և գործարկել ծրագիր, որը կգնահատի որոշակի ինտեգրալներ ՝ օգտագործելով թվային ինտեգրման ալգորիթմ: Ես քայլերը բաժանել եմ 3 բաժնի ՝ հասկանալ ալգորիթմը, որը կօգտագործվի ծրագիրը կազմելու համար, ծրագիրը կոդավորելը ՝ օգտագործելով Python ծրագրավորման լեզուն և ծրագիրը գործարկելը: Այս ձեռնարկը նախատեսված է այն մարդկանց համար, ովքեր գուցե կարիք ունենան արագ հաշվիչ սարքել որոշակի ինտեգրալները գնահատելու համար, կամ գուցե կարիք ունի ալգորիթմին ավելի լայնածավալ ծրագրում օգտագործելու համար: Հաշվարկի հիմնական գիտելիքները սպասվում են, սակայն համապատասխան մաթեմատիկական տեղեկատվությունը վերանայվում է: Programրագրավորման իմացությունը սպասելի չէ, բայց օգտակար է, քանի որ ես միայն հակիրճ նկարագրում եմ, թե իրականում ինչպես է աշխատում ծրագրավորումը:

Այն, ինչ ձեզ հարկավոր կլինի.

Անձնական համակարգիչ ՝ ինտերնետին հասանելիությամբ

Քայլ 1. Ալգորիթմի հասկացում Մաս 1. Հաստատ ինտեգրալը և դրա օգտագործումը

Հասկանալ ալգորիթմը Մաս 1. Հստակ ինտեգրալը և դրա օգտագործումը
Հասկանալ ալգորիթմը Մաս 1. Հստակ ինտեգրալը և դրա օգտագործումը

Ենթադրեմ, որ դուք մի փոքր գիտեք, թե ինչ է ինտեգրալը հիմնական հաշվարկի համատեքստում: Ինտեգրալները կարևոր են, քանի որ դրանք թույլ են տալիս գումարել անսահմանափակ երկարությամբ բազմապատկված արժեքների զանգված: սա օգտակար է ֆինանսների, թվերի տեսության, ֆիզիկայի, քիմիայի, ինչպես նաև բազմաթիվ այլ ոլորտներում: Այս ծրագիրը, այնուամենայնիվ, թույլ կտա ձեզ սահմանափակ կորի տակ գտնվող մակերեսը հաշվարկել վերջավոր միջակայքի համար, կամ այլ կերպ ասած, այն չի գնահատում հակածանցյալները. Դրա համար անհրաժեշտ է շատ ավելի հզոր ալգորիթմ: Այս ալգորիթմը օգտակար է, եթե ձեզ անհրաժեշտ է գնահատել որոշակի ինտեգրալ ավելի մեծ ծրագրում, որը նշված է այլ բանի նկատմամբ, կամ եթե ցանկանում եք ստուգել ձեր պատասխանը ձեռքով կատարված որևէ հստակ ինտեգրալների համար:

Հիմնական որոշակի ինտեգրալը ներկայացնում է ֆունկցիայի միջոցով որոշված կորի տակ գտնվող տարածքը, օրինակ. f (x) Որոշակի ինտեգրալի համար մենք փնտրում ենք տարածքը երկու կետերի միջև (համապատասխանաբար a և b պիտակներով): Նկարում փիրուզագույն շրջանը այն տարածքն է, որին ես անդրադառնում եմ, և դա որոշելու հավասարումը նույնպես ներկայացված է այդ շրջանում: Նկարում պատկերված գործառույթը կամայական է:

Քայլ 2. Ալգորիթմի ընկալում Մաս 2. Թվային մերձեցում

Հասկանալ ալգորիթմը Մաս 2. Թվային մերձեցում
Հասկանալ ալգորիթմը Մաս 2. Թվային մերձեցում

Համակարգչին անհրաժեշտ է հրահանգների լայն փաթեթ `կամայական ֆունկցիայի տակ գտնվող այդ տարածքը հաշվարկելու համար, որը կաշխատի ցանկացած գործառույթի համար, ուստի վերլուծական մեթոդները, որոնք ձեզ կարող են ծանոթ լինել, անօգուտ են, քանի որ դրանք չափազանց հատուկ են: Մոտավորապես ինտեգրալների հաշվարկի մեկ եղանակ, որը իրականում համակարգիչը կարող է կառավարել, կատարվում է ՝ հետաքրքրության տարածքը լրացնելով օգտվողի կողմից սահմանված հավասար լայնության և փոփոխական բարձրության ուղղանկյուններով, այնուհետև ամփոփելով ուղղանկյան բոլոր մակերեսները: Ուղղանկյունների կոշտ հատկությունները ընդհանուր մակերեսի մի մասն անփոփոխ կթողնեն, հետևաբար ինչու է դա համարվում մոտավորություն. սակայն, որքան ավելի շատ ուղղանկյուններ կարող եք սեղմել սահմանների միջև (a և b), այնքան ավելի ճշգրիտ կլինի մոտավորությունը, քանի որ անփոփոխ շրջաններն ավելի նոսր են դառնում: Քանի որ համակարգիչը կկատարի առաջադրանքը, կարող եք ցանկալի տարածաշրջանի ուղղանկյունների թիվը սահմանել շատ մեծ, ինչը մոտավորությունը դարձնում է չափազանց ճշգրիտ: Օժանդակ նկարում պատկերացրեք, որ նշանակված տարածքում յուրաքանչյուր ուղղանկյուն հավասար լայնություն ունի: Ես ամեն ինչ արեցի, որ դրանք Microsoft Paint- ում հավասար լայնություն ունենան, բայց լավագույն աշխատանքը չկատարեցի:

Քայլ 3. Ալգորիթմի ընկալում Մաս 3. Միջանկյալ կանոն

Հասկանալ ալգորիթմը Մաս 3. Միջանկյալ կանոն
Հասկանալ ալգորիթմը Մաս 3. Միջանկյալ կանոն

Այս կանոնը նշանակում է, թե ինչպես են ուղղանկյունները պատրաստվում և օգտագործվում մոտարկման ժամանակ: «N» ուղղանկյուններից յուրաքանչյուր ուղղանկյուն պետք է ունենա հավասար լայնություն, Δx, բայց յուրաքանչյուր nth ուղղանկյունը չի կարող ճշգրիտ նույնը լինել. Միջանկյալ կանոնն իր անունը ստացել է նրանից, որ դուք գնահատում եք յուրաքանչյուր ուղղանկյան բարձրությունը f (x_n), որտեղ «x_n»-ը յուրաքանչյուր ուղղանկյան համապատասխան կենտրոնական կետն է, ինչպես նշված է ուղղանկյան ձախից կամ աջից: Միջանկյալ կետի օգտագործումը նման է միջին կիրառելուն, որը մոտավորությունը կդարձնի ավելի ճշգրիտ, քան եթե աջ կամ ձախ օգտագործեիք: Այս քայլի օժանդակ նկարն ամփոփում է, թե ինչպես է միջանկյալ կանոնը մաթեմատիկորեն սահմանվում:

Քայլ 4. ingրագրի ստեղծում Մաս 1. Ներբեռնեք Python կազմող/խմբագիր

Այժմ, երբ դուք հասկանում եք այն ալգորիթմը, որը պետք է իրականացվի, դա համակարգիչ ձեռք բերելու խնդիր է, որը կկատարի ձեր փոխարեն հաշվարկը: Առաջին քայլը ՝ համակարգչին ասելու, թե ինչ անել, դրա համար գործիքներ ձեռք բերելն է: Այս ալգորիթմը կարող է ծածկագրվել ցանկացած լեզվով. պարզության համար այս ծրագիրը կոդավորված կլինի Python լեզվով: Ձեր համակարգչին Python- ի հետ գործողություններ կատարելու հրաման տալու համար ձեզ հարկավոր է խմբագիր, որը վերցնում է այդ լեզվով գրված հրահանգներ, որոնք այնուհետև կազմվելու են ձեր համակարգչի համար հասկանալի մեքենայական լեզվով, որպեսզի կարողանա կատարել առաջադրանքները: Այսօրվա դարաշրջանում խմբագիրն ու կազմողը սովորաբար ինտեգրված են, սակայն դա միշտ չէ, որ այդպես է: Դուք կարող եք օգտագործել ցանկացած խմբագիր/կոմպիլյատոր, որը ձեզ հարմար է, բայց ես ձեզ ցույց կտամ, թե ինչպես ձեռք բերել Python- ի համար իմ անձնական նախընտրածը ՝ հովանոց: Եթե արդեն ունեք խմբագիր/կազմող, կարող եք բաց թողնել այս քայլերը:

  1. Գնացեք
  2. Կտտացրեք Ներբեռնեք հովանոց
  3. Կտտացրեք ձեր օպերացիոն համակարգին համապատասխան ներբեռնման կոճակին

    Ներբեռնումը կսկսվի ինքնաբերաբար:

  4. Կատարման ֆայլը սկսելուց հետո հետևեք ներածման հրահանգներին
  5. Գործարկել ծրագիրը
  6. Clickրագրի հիմնական ընտրացանկից կտտացրեք «Խմբագիր»
  7. Կտտացրեք «ստեղծել նոր ֆայլ» էկրանի կենտրոնում

Այս կետից դուք պետք է տեսնեք դատարկ սպիտակ պատուհան, որի կուրսորը նման է բառերի մշակման հիմնական փաստաթղթին: Դուք այժմ պատրաստ եք սկսել ինտեգրալների թվային ալգորիթմի կոդավորումը որոշակի ինտեգրալների լուծման համար: Շարունակական քայլերն ունենալու են պատճենահանված ծածկագրի մի հատված և բացատրություն այն բանի, թե ինչ է անում այդ հատվածը ծրագրի համար որպես ամբողջություն:

Քայլ 5. ingրագրի ստեղծում Մաս 2. Գործառույթների ներմուծում և փոփոխականների սահմանում

Ingրագրի ստեղծում Մաս 2. Գործառույթների ներմուծում և փոփոխականների սահմանում
Ingրագրի ստեղծում Մաս 2. Գործառույթների ներմուծում և փոփոխականների սահմանում

Պատճենեք նկարի կոդը:

Programանկացած ծրագրի համար, որը կարող եք ինքներդ կոդավորել, կլինեն փոփոխականներ: Փոփոխականը այն արժեքին տրված անուն է, որը գործարկվելու է և որը կարող է փոխվել: Programրագրավորման լեզուների մեծ մասում (եթե ոչ բոլորը) պետք է փոփոխական նախաստորագրել, մինչև ծրագիրը կարողանա դրանում փոփոխություններ կատարել: Այս ծրագրի դեպքում ես անվանել եմ «N», «a» և «b» փոփոխականները: Այս արժեքները համապատասխանաբար ներկայացնում են կրկնությունների թիվը (ուղղանկյունների AKA թիվը), ստորին և վերին սահմանները: Դուք կարող եք դրանք անվանել այն, ինչ ցանկանում եք, բայց «Ալգորիթմը հասկանալ մաս 3. Միջանկյալ կանոն» բաժնում տրված բանաձևերին համապատասխանելու համար լավագույնն է դրանք նույնը պահել: Ուշադրություն դարձրեք, որ դրանք պարզապես սահմանված չեն որոշակի արժեքի վրա: Դա պայմանավորված է նրանով, որ դրանք մուտքագրված են, երբ ծրագիրը գործարկվելիս ծրագրի օգտագործողը կարող է սահմանել, թե որն է արժեքը: Մեջբերումների տեքստը, մուտքագրման հրամանից հետո, հայտնվում է այն ժամանակ, երբ գործարկում եք ծրագիրը ՝ ձեզ ասելով, թե ինչ տեսակի արժեք մուտքագրեք: Դուք նաև կնկատեք, որ «int» և «float» - ն օգտագործվում են նախքան մուտքային նշանակումները: Այս տերմինները համակարգչին ասում են, թե ինչ տեսակի փոփոխական կլինի այս արժեքը: «Int» - ը ամբողջ թիվ է, իսկ «float» - ը `լողացող կետի արժեք (այսինքն` տասնորդական): Պետք է պարզ լինի, թե ինչու են դրանք այդպիսին նշվում:

«#» - ից հետո ներկայացված ցանկացած տեքստ մեկնաբանություն է, որը թույլ է տալիս ծրագրավորողին հումանիստական կերպով հետևել ծածկագրին. Ես իմ կոդում որոշակի մեկնաբանություններ եմ արել, որոնք դուք պատճենելու եք, բայց ազատ զգացեք ավելացրեք ցանկացած մեկնաբանություն, որը ձեզ հատկապես կօգնի: Programրագիրը դրանից առաջ որպես «#» ոչինչ չի կարդա որպես հրաման:

Կոդի այն հատվածը, որը կարդում է «մաթեմատիկայի ներմուծումից *», ծրագրին ասում է, որ ներմուծի մի շարք մաթեմատիկական գործառույթներ, որոնք կարող են օգտագործվել ՝ առանց դրանք ինքներդ ծրագրավորելու: «*» - ը պարզապես նշանակում է «բոլորը»: Կոդի այս հատվածը կարդացեք հետևյալ կերպ. Մաթեմատիկական գրադարանից ներմուծեք բոլոր գործառույթները: Սա թույլ է տալիս օգտագործել մաթեմատիկական գործառույթներ, ինչպիսիք են սինուսը, կոսինուսը, տեղեկամատյանը, exp և այլն: Այս ֆունկցիան կարող է մաթեմատիկորեն ինտեգրվել ծածկագրին:

Քայլ 6. ingրագրի ստեղծում Մաս 3. Ինտեգրման գործառույթ ստեղծելը

Ingրագրի ստեղծում Մաս 3. Ինտեգրման գործառույթի ստեղծում
Ingրագրի ստեղծում Մաս 3. Ինտեգրման գործառույթի ստեղծում

Պատճենեք նախորդ ծածկագրի տակ գտնվող նկարի կոդը:

WԳՈՇԱՈՄ. Այս բաժինը խիտ է, և ես ուզում եմ հստակեցնել որոշ բաներ, որոնք կարող են շփոթեցնող լինել: Programրագրավորման մասին խոսելիս «գործառույթ» բառը շատ է հայտնվում: Այս տերմինը նույնպես շատ է հայտնվում, երբ խոսում եք մաթեմատիկայի մասին: Այսպիսով, այս պահից սկսած, երբ ես խոսում եմ ծրագրավորման իմաստով գործառույթի մասին, ես կգրեմ «Python ֆունկցիա», իսկ երբ խոսում եմ մաթեմատիկական ֆունկցիայի մասին, ես կասեմ «մաթեմատիկական գործառույթ»: Ինչ -որ պահի մենք կօգտագործենք Python գործառույթը ՝ որպես տվյալ մաթեմատիկական ֆունկցիայի ներկայացում:

Կոդի այս հաջորդ հատվածը ծրագրի սիրտն է: Այստեղ սահմանվում է Python գործառույթը, որն իրականացնում է թվային ինտեգրման ալգորիթմը ՝ օգտագործելով միջին կետի կանոնը: «def Integrate (N, a, b)» - ը կարդում է հետևյալ կերպ. սահմանել «Integrate» կոչվող գործառույթը, որն ընդունում է «N», «a» և «b» փոփոխականները և վերադարձնում կորի տակ գտնվող տարածքը (մաթեմատիկական գործառույթ) որը սահմանվում է նաև «Ինտեգրվել» Python գործառույթի շրջանակներում: Դուք կարող եք այս Python ֆունկցիան անվանել որևէ բան, երբ կատարում եք կոդավորումը, բայց իմաստ ունի այն անվանել ինտեգրված, քանի որ այն ֆունկցիա է, որն իսկապես ինտեգրում է մաթեմատիկական գործառույթը:

Այս պահին արժե մեկնաբանել, թե ինչպես է Python- ն առանձնացնում կոդի բլոկները: Կոդի բլոկը մի ամբողջ բաժին է, որը կատարում է որոշակի առաջադրանք: Differentրագրավորման տարբեր լեզուներ կունենան նշված «բլոկները» տարբերելու եղանակներ: Python- ի համար բլոկն առանձնանում է խորշերով. Յուրաքանչյուր առաջադրանք կատարող հատված ունի իր ներդիրը, և այլ ներդիր բլոկների ներսում կարող են լինել ներխուժված բլոկներ: Սա ներկայացնում է առաջադրանքների շրջանակում առաջադրանքները և ըստ էության պատմում է, թե ինչ կարգով պետք է կատարվի ծածկագիրը: Սահմանված «Ինտեգրվել» Python գործառույթի դեպքում այդ ֆունկցիայի ներսում ամեն ինչ մեկ բլոկով դուրս է բերված ՝ դրանով իսկ առանձնացնելով առաջադրանքները, որոնք կկատարվեն այդ գործառույթի շրջանակներում: Այս Python գործառույթի ներսում կան հատվածներ, որոնք նույնպես կատարում են իրենց առաջադրանքները: Այն հետևյալն է. Հրաման է տրվում (առաջադրանք), երկու կետ հետևում է հրամանին, իսկ այն, ինչ անում է հրամանը, ներքևում դրված է:

«Ինտեգրվել» Python գործառույթը սահմանելուց անմիջապես հետո դուք կսահմանեք մեկ այլ Python գործառույթ, որը կոչվում է f (x): Սա ներկայացնում է մաթեմատիկական գործառույթը, որը ինտեգրվելու է: Յուրաքանչյուր տարբեր մաթեմատիկական գործառույթի համար, որը ցանկանում եք ինտեգրվել, դուք պետք է անցնեք այս ծրագրի տող ՝ այն փոխելու համար (ի տարբերություն այն փոփոխականների, որոնք սահմանվում են ծրագրի գործարկման ժամանակ): Python- ի յուրաքանչյուր գործառույթ կունենա վերադարձելի արժեք, սա այն է, ինչ գործառույթը վերադարձնում է, երբ այն դնում ես արժեք: Այս դեպքում նետված արժեքը «x» է, և այս «x» տերմինը կստանա այն արժեքը, ինչ երբևէ այն նետում եք. Դա ժամանակավոր արժեք է:

Հաջորդը, for-loop- ը գործում է որպես այս ձեռնարկի «Հասկանալ ալգորիթմը» բաժնի բանաձևերում ամփոփումը: Այս ամփոփումը պահանջում է ևս մի քանի փոփոխական, որոնցից մեկը հանդես կգա որպես վերադարձի արժեք ամբողջ «Ինտեգրիր» Python գործառույթի համար: For-loop- ից առաջ ես այս փոփոխականները նշանակել եմ որպես «արժեք» և «արժեք 2»: for-loop- ի խնդիրն է մի շարք արժեքների կրկնել նշանակված փոփոխականի համար, որը հարմարավետորեն կարող է սահմանվել for-loop հրամանի շրջանակներում. այս դեպքում այդ փոփոխականը «n» է: Այն տիրույթը, որի համար կրկնությունը տեղի է ունենում, 1 -ից N+1 է: Դուք պետք է նկատեք, որ վերը նշված բանաձևերում սահմանված ամփոփումը տատանվում է միայն 1 -ից մինչև N: Մենք դա սահմանում ենք այսպես, քանի որ Python լեզուն յուրաքանչյուր կրկնվող արժեք հաշվում է զրոյից, ուստի մենք պետք է ըստ էության փոխենք արժեքների տիրույթը `մեր ցանկալիին համապատասխանելու համար: միջակայք: For-loop- ն այնուհետև թույլ է տալիս միավորել բոլոր ուղղանկյան բարձրությունները միասին և այդ արժեքը պահում է այն փոփոխականի մեջ, որը ես անվանում էի «արժեք»: Սա երևում է կոդի այն հատվածում, որը ցույց է տալիս հետևյալը ՝ արժեք += f (a +((n- (1/2))*((b-a)/N))):

Այնուհետև, կոդի հաջորդ կտորն օգտագործում է «արժեք 2» փոփոխականը, որն այնուհետև նշանակվում է յուրաքանչյուր ուղղանկյան բոլոր բարձունքների գումարը բազմապատկած յուրաքանչյուր ուղղանկյան ստանդարտացված լայնությամբ. Սա մեր վերջնական պատասխանն է, որը մենք ցանկանում ենք: ցուցադրվում է մեր ծրագրի կողմից, և դրանով իսկ հանդիսանում է «Ինտեգրիր» Python գործառույթի վերադարձի արժեքը:

Քայլ 7. ingրագրի ստեղծում Մաս 4. Պատասխանի ցուցադրում

Ingրագրի ստեղծում Մաս 4. Պատասխանի ցուցադրում
Ingրագրի ստեղծում Մաս 4. Պատասխանի ցուցադրում

Պատճենեք նախորդ ծածկագրի տակ գտնվող նկարի կոդը:

Այժմ, երբ պատասխանը կարելի է ստանալ «Ինտեգրիր» Python գործառույթի միջոցով, մենք ցանկանում ենք, որ այն կարողանանք ցուցադրել: Սա պարզապես օգտագործողի կողմից մուտքագրված արժեքները («N», «a» և «b») Python «Ինտեգրվել» գործառույթի մեջ դնելն ու այն էկրանին տպելն է: Այս հրամանը ցուցադրվում է 21 -րդ տողում և իսկապես այն ամենը, ինչ ձեզ հարկավոր է անել այս քայլը ավարտելու համար: 19 -րդ և 20 -րդ տողերի ծածկագիրը հենց այնտեղ է `ամբողջ ծրագրի արտադրանքը« բավականին բարձրացնելու »համար: "print (" ………………………. ")" բաժանում է ծրագրի մուտքային հատվածը ելքային հատվածից, և "print (" Ահա ձեր պատասխանը. ")" ընդամենը նշանակում է, որ պատասխանը կտա տպվել տեքստի տողից հետո:

Քայլ 8. ningրագրի գործարկում Մաս 1. Programրագիրն այնպես, ինչպես կա

Runրագրի գործարկում Մաս 1. Runրագիրն այնպես, ինչպես կա
Runրագրի գործարկում Մաս 1. Runրագիրն այնպես, ինչպես կա

Եթե դուք չեք օգտագործում Canopy- ը, ապա հավանաբար ընդհանրապես կարիք էլ չկա հետևելու այս քայլին, և ծրագիրը գործարկելը կարող է պահանջել տարբեր ընթացակարգեր: Canopy- ում, նախքան կարողանաք գործարկել ծրագիրը, ձեզ հարկավոր է պահել այն: Python ծրագրի ֆայլի տեսակը.py ֆայլ է. Այն ինքնաբերաբար պահվում է այսպես: Ընտրեք այն վայրը, որտեղ ցանկանում եք, որ ֆայլը պահվի, այնուհետև կկարողանաք գործարկել ծրագիրը:

Ningրագրի գործարկում.

  1. Կտտացրեք կանաչ կոճակին, որը նման է «նվագարկման կոճակի», որը գտնվում է գործիքի տողում ՝ հենց վերևում, որտեղ ձեր ֆայլի անունը ցուցադրվում է (հղում կատարեք նկարին):
  2. Այնուհետև ծրագիրը կաշխատի խմբագրի ներքևի էկրանին, որը հայտնի է որպես Canopy տվյալների վերլուծության միջավայր: Ենթադրելով, որ դուք պատճենել եք հուշումները, ինչպես ես դրանք գրել եմ, դուք պետք է Canopy տվյալների վերլուծության միջավայրի ներքևում տեսնեք հուշումը. (նշեք նկարը)
  3. Մուտքագրեք մի արժեք, թե քանի անգամ եք ցանկանում կրկնել կրկնօրինակը, այսինքն ՝ 10000 (քանի ուղղանկյուն եք ցանկանում մղել ձեր տարածքը), այնուհետև սեղմեք enter:
  4. Ավելի շատ հուշումներ կհայտնվեն հայտարարություններով, որոնք պետք է լինեն ծանոթ քայլերի 5 -րդ քայլում ծրագրում մուտքագրված հուշումներ: Լրացրեք դրանք համապատասխանաբար, ինչպես վերը նշված թիվ 3 -ում:
  5. Ինտեգրալը պետք է գնահատվի, և արդյունքը հայտնվի:

Եթե դուք ծածկագրել եք ծրագիրը, ինչպես ցույց է տրված նախորդ նկարներում, դուք պարզապես միացրել եք f (x) = x^2 որոշ սահմաններ: X^2 -ի ինտեգրալը հեշտ է գնահատել ձեռքով, հետևաբար պետք է ստուգեք և համոզվեք, որ ծրագիրը շատ մոտ պատասխան է տվել ձեռքով որոշված ճիշտ վերլուծական արժեքին: Երբ գործարկում եմ N = 10000, a = 0 և b = 10 արժեքներով ծրագիրը, ես ստանում եմ 333.33333249999964 պատասխանը: Analիշտ վերլուծական պատասխանը ՝ 333.333: Սա աներևակայելի ճշգրիտ և արագ է: Դուք ըստ էության սեղմել եք 10 000 ուղղանկյուն 0 -ի և 10 -ի միջև x առանցքի վրա և դրանք օգտագործել եք x^2 կորի տակ գտնվող մակերեսը մոտենալու համար:

Քայլ 9. ningրագրի գործարկում Մաս 2. Մաթեմատիկական այլ գործառույթների ինտեգրում

Runրագրի վարում Մաս 2. Մաթեմատիկական այլ գործառույթների ինտեգրում
Runրագրի վարում Մաս 2. Մաթեմատիկական այլ գործառույթների ինտեգրում

Նախորդ քայլին, եթե դուք հավատարմորեն հետևում էիք դրան, ինտեգրեցիք f (x) = x^2: Դա միակ մաթեմատիկական գործառույթը չէ, որ այս ծրագիրը կարող է ինտեգրվել: 5 -րդ քայլից հիշեցրեք, որ ծրագրում ներմուծել եք Python գործառույթների մաթեմատիկական գրադարանային զանգված: Սա թույլ է տալիս օգտագործել ավելի բարդ մաթեմատիկական գործառույթներ, որոնք կարող են ինտեգրվել: Եկեք մեկ կրակոց տանք: Իհարկե, դուք կարող եք օգտագործել ցանկացած գործառույթ, որը ցանկանում եք, բայց ես հետագայում ցույց կտամ այս ծածկագրի ճշգրտությունը ՝ ինտեգրելով որոշակի մաթեմատիկական գործառույթ, որը որոշակի տիրույթում ինտեգրվելիս տալիս է հայտնի արժեք: Այդ գործառույթը f (x) = Sin [x] է: Այս մաթեմատիկական ֆունկցիան ցուցադրվում է առաջին ուղեկցող նկարի վրա, որը պատկերված է 0 -ից 2π, և հետաքրքրության տարածքը ստվերում է փիրուզագույնով: Կա հավասար քանակությամբ դրական տարածք, քանի որ այս միջակայքում կա բացասական տարածք, այնպես որ, եթե գումարես ընդհանուր մակերեսը, ապա պետք է ստանաս զրո: Տեսնենք, արդյոք դա իրականում տեղի է ունենում.

F (x) = Sin [x] մաթեմատիկական ֆունկցիան ծրագրում դնելը.

  1. Againրագիրը նորից գործարկելուց առաջ «#մուտքագրեք ձեր գործառույթը վերադարձից հետո» մեկնաբանության ներքո մուտքագրեք ՝ sin (x), որտեղ ներկայումս գտնվում է x ** 2 -ը: (նշեք նկարը):
  2. Գործարկեք ծրագիրը ՝ կրկին սեղմելով կանաչ խաղալու կոճակը:
  3. N արժեքի համար մուտքագրեք 10000 (քանի անգամ եք ցանկանում գումարել):
  4. Ներդրեք «0» ստորին սահմանի համար:
  5. Ներդրեք 6.2832 վերին սահմանի համար (մոտ 2π):
  6. Տեսեք, թե ինչ արժեք եք ստանում:

Երբ ես դա արեցի, ես ի վերջո ստացա 1.079e-10 արժեքը. Սա հավասար է.0000000001079-ի, որն իսկապես զրոյին մոտ է, ուստի այն ճշգրիտ է թվում և ցույց է տալիս, որ ալգորիթմը համարժեք կերպով վարում է բացասական տարածքը:

Քայլ 10. ningրագրի գործարկում Մաս 3. theրագրի ընդլայնում

Այս պահին դուք ավարտված եք. Դուք ունեք աշխատող որոշակի ինտեգրալ ալգորիթմ ՝ կոդավորված Python- ում, որն աշխատում է սահուն և տալիս է շատ ճշգրիտ պատասխաններ: Այնուամենայնիվ, այս ծրագիրը կարող է բարելավվել: Ես ծրագրավորող չեմ և Python- ի հետ նվազագույն փորձ ունեմ: Իրականում, ես ստիպված եղա թարմանալ Python- ի օգտագործման համար ՝ այս ձեռնարկը լրացնելու համար, բայց դա ձեզ վստահություն կտա, որ Python- ը սովորելու այնքան հեշտ լեզու է: Իմ նպատակն այն է, որ դուք կարող եք ընդլայնել այս ծրագիրը `այն ավելի արդյունավետ դարձնելով, գուցե կիրառել որոշ GUI և դարձնել այն ավելի բարեկամական:

Thoughtsրագրի ընդլայնման վերաբերյալ իմ մտքերը.

  • Իրականացրեք գրաֆիկական ինտերֆեյս, որը թույլ է տալիս գործարկել ծրագիրը ՝ առանց Canopy ինտերակտիվ տվյալների վերլուծության միջավայրի օգտագործման
  • Ստեղծեք այնպես, որ ինտեգրվող մաթեմատիկական ֆունկցիան պարտադիր չէ, որ մուտքագրվի ծրագրի ներսում, այլ կարող է մուտքագրվել ծրագրի գործարկումից հետո (ես սկզբում փորձում էի դա անել, բայց չկարողացա դա պարզել):
  • Սահմանեք «Ինտեգրել» Python ֆունկցիան, որպեսզի այն տևի f (x) գործառույթը, ինչպես ենթադրվում է, որ f (x) գործառույթը սահմանվի դրա ներսում:

Սրանք բարելավման ոլորտների ընդամենը մի քանի օրինակ են, բայց ես երաշխավորում եմ, որ կան շատ այլ ոլորտներ, որոնք կարող են ընդլայնվել: Այսպիսով, ես այս քայլը թողնում եմ որպես այս ծրագրի թերությունների օրինակ և, հավանաբար, վարժություն բոլոր նրանց, ովքեր ցանկանում են ծրագիրն ավելի կատարելագործել:

Խորհուրդ ենք տալիս: