Სარჩევი:

როგორ გავაკეთოთ რიცხვითი ინტეგრაციის პროგრამა პითონში: 10 ნაბიჯი
როგორ გავაკეთოთ რიცხვითი ინტეგრაციის პროგრამა პითონში: 10 ნაბიჯი

ვიდეო: როგორ გავაკეთოთ რიცხვითი ინტეგრაციის პროგრამა პითონში: 10 ნაბიჯი

ვიდეო: როგორ გავაკეთოთ რიცხვითი ინტეგრაციის პროგრამა პითონში: 10 ნაბიჯი
ვიდეო: Who's on Your LAN? IT Admins and Small Business Security Insights 2024, ივლისი
Anonim
როგორ შევქმნათ რიცხვითი ინტეგრაციის პროგრამა პითონში
როგორ შევქმნათ რიცხვითი ინტეგრაციის პროგრამა პითონში

ეს არის გაკვეთილი, თუ როგორ უნდა შექმნათ და გაუშვათ პროგრამა, რომელიც შეაფასებს განსაზღვრულ ინტეგრალებს რიცხვითი ინტეგრაციის ალგორითმის გამოყენებით. მე ნაბიჯები დავყავი 3 ნაწილად: ალგორითმის გაგება, რომელიც გამოყენებული იქნება პროგრამის შესაქმნელად, პროგრამის კოდირება პითონის პროგრამირების ენის გამოყენებით და პროგრამის გაშვება. ეს სახელმძღვანელო განკუთვნილია მათთვის, ვისაც შეიძლება დასჭირდეს კალკულატორის სწრაფად შექმნა გარკვეული ინტეგრალების შესაფასებლად, ან შესაძლოა სჭირდება ალგორითმი უფრო მასშტაბური პროგრამის გამოსაყენებლად. საბაზისო გაანგარიშების ცოდნა მოსალოდნელია, მაგრამ შესაბამისი მათემატიკური ინფორმაცია განიხილება. პროგრამირების ცოდნა არ არის მოსალოდნელი, მაგრამ სასარგებლოა, რადგან მე მხოლოდ მოკლედ აღვწერ, თუ როგორ მუშაობს რეალურად პროგრამირება.

რაც დაგჭირდებათ:

პერსონალური კომპიუტერი ინტერნეტით

ნაბიჯი 1: ალგორითმის გაგება ნაწილი 1: განსაზღვრული ინტეგრალი და მისი გამოყენება

ალგორითმის გაგება ნაწილი 1: განსაზღვრული ინტეგრალი და მისი გამოყენება
ალგორითმის გაგება ნაწილი 1: განსაზღვრული ინტეგრალი და მისი გამოყენება

მე ვივარაუდებ, რომ თქვენ ცოტათი იცით რა არის ინტეგრალი ძირითადი გაანგარიშების კონტექსტში. ინტეგრალები მნიშვნელოვანია, რადგან ისინი საშუალებას გაძლევთ შეაჯამოთ მნიშვნელობების მასივი გამრავლებული უსასრულოდ მცირე სიგრძეზე; ეს სასარგებლოა ფინანსების, რიცხვების თეორიის, ფიზიკის, ქიმიის და სხვა მრავალ სფეროში. თუმცა, ეს პროგრამა მხოლოდ საშუალებას მოგცემთ გამოთვალოთ მრუდის ქვეშ არსებული ფართობი სასრული ინტერვალისთვის, ან სხვა სიტყვებით რომ ვთქვათ, ის არ აფასებს ანტი-წარმოებულებს-ამისთვის გაცილებით მძლავრი ალგორითმია საჭირო. ეს ალგორითმი სასარგებლოა იმ შემთხვევაში, თუ თქვენ გჭირდებათ რაღაცის მიმართ განსაზღვრული უფრო დიდი პროგრამის განსაზღვრული ინტეგრალის შეფასება, ან თუ გსურთ შეამოწმოთ თქვენი პასუხი ხელით გაკეთებული რაიმე განსაზღვრული ინტეგრალისთვის.

ძირითადი განსაზღვრული ინტეგრალი წარმოადგენს ფუნქციის მიერ განსაზღვრული მრუდის ქვეშ მყოფ უბანს მაგ. f (x) განსაზღვრული ინტეგრალისთვის, ჩვენ ვეძებთ ტერიტორიას ორ წერტილს შორის (შესაბამისად აღინიშნება a და b). სურათზე, ფირუზის რეგიონი არის ის ტერიტორია, რომელსაც მე ვგულისხმობ და ამის განსაზღვრის განტოლება ასევე ნაჩვენებია ამ რეგიონში. სურათზე ნაჩვენები ფუნქცია თვითნებურია.

ნაბიჯი 2: ალგორითმის გაგება ნაწილი 2: რიცხვითი მიახლოება

ალგორითმის გაგება ნაწილი 2: რიცხვითი მიახლოება
ალგორითმის გაგება ნაწილი 2: რიცხვითი მიახლოება

კომპიუტერს სჭირდება ინსტრუქციების ფართო სპექტრი თვითნებური ფუნქციის ქვეშ არსებული ფართობის გამოსათვლელად, რომელიც იმუშავებს ნებისმიერი ფუნქციისთვის, ამიტომ ანალიტიკური მეთოდები, რომლებსაც თქვენ იცნობთ, არ გამოდგება, რადგან ისინი ძალიან სპეციფიკურია. ინტეგრალების გამოთვლის ერთ-ერთი მეთოდი, რომელსაც კომპიუტერი რეალურად გაუძლებს, კეთდება ინტერესის არე მომხმარებლის მიერ განსაზღვრული რაოდენობის მართკუთხედების თანაბარი სიგანისა და ცვლადი სიმაღლის შევსებით და ოთხკუთხედის ყველა ფართობის შეჯამებით. მართკუთხედების ხისტი თვისებები მთლიანი ფართობის ხელუხლებელს დატოვებს, ამიტომ ითვლება ეს მიახლოებად; თუმცა, რაც უფრო მეტი ოთხკუთხედი შეგიძლიათ დაიჭიროთ საზღვრებს შორის (a და b), მით უფრო ზუსტი იქნება მიახლოება, რადგან ხელუხლებელი რეგიონები უფრო იშვიათი ხდება. ვინაიდან კომპიუტერი შეასრულებს დავალებას, თქვენ შეგიძლიათ სასურველ რეგიონში მართკუთხედების რაოდენობა ძალიან დიდი რიცხვი გახადოთ, რაც მიახლოებას ძალიან ზუსტ გახდის. დამხმარე სურათზე წარმოიდგინეთ, რომ დანიშნულ უბანში თითოეული ოთხკუთხედი თანაბარი სიგანეა. მე ყველანაირად შევეცადე, რომ ისინი Microsoft Paint– ში თანაბარი სიგანის ყოფილიყო, მაგრამ არ შევასრულე საუკეთესო სამუშაო.

ნაბიჯი 3: ალგორითმის გაგება ნაწილი 3: შუალედური წესი

ალგორითმის გაგება ნაწილი 3: შუალედური წესი
ალგორითმის გაგება ნაწილი 3: შუალედური წესი

ეს წესი ნიშნავს, თუ როგორ ხდება მართკუთხედების დამზადება და გამოყენება მიახლოებისას. თითოეულ "ოთხკუთხედს" "N" მართკუთხედებიდან უნდა ჰქონდეს თანაბარი სიგანე, Δx, მაგრამ თითოეული მე -4 მართკუთხედი არ შეიძლება იყოს ზუსტად იგივე: განსხვავებული ფაქტორი არის სიმაღლე, რომელიც იცვლება როგორც გარკვეულ წერტილში შეფასებული ფუნქცია. შუალედური წესი იღებს სახელს იქიდან, რომ თქვენ აფასებთ თითოეული მართკუთხედის სიმაღლეს f (x_n), სადაც "x_n" არის თითოეული მართკუთხედის შესაბამისი ცენტრალური წერტილი, როგორც ეს მითითებულია ოთხკუთხედის მარცხნივ ან მარჯვნივ. შუალედური წერტილის გამოყენება საშუალო მნიშვნელობის განხორციელებას ჰგავს, რაც მიახლოებას უფრო ზუსტ გახდის, ვიდრე მარჯვენა ან მარცხენა გამოყენების შემთხვევაში. ამ ნაბიჯის დამხმარე სურათი აჯამებს, თუ როგორ არის განსაზღვრული მათემატიკურად შუალედური წესი.

ნაბიჯი 4: პროგრამის შექმნა ნაწილი 1: ჩამოტვირთეთ პითონის შემდგენელი/რედაქტორი

ახლა, როდესაც გესმით ალგორითმი, რომელიც უნდა განხორციელდეს, საქმე იმაშია, რომ მიიღოთ კომპიუტერი თქვენთვის გათვლების შესასრულებლად. პირველი ნაბიჯი იმისთვის, რომ უთხრათ კომპიუტერს, რა უნდა გააკეთოს, არის ინსტრუმენტების მიღება. ეს ალგორითმი შეიძლება იყოს კოდირებული ნებისმიერ ენაზე; სიმარტივისთვის, ეს პროგრამა იქნება კოდირებული პითონის ენაზე. იმისათვის, რომ თქვენს კომპიუტერს უბრძანოთ შეასრულოს ოპერაციები პითონთან, დაგჭირდებათ რედაქტორი, რომელიც მიიღებს ამ ენაზე დაწერილ მითითებებს, რომელიც შემდგომში შედგენილი იქნება მანქანების ენაზე, რომლის გაგებაც თქვენს კომპიუტერს შეუძლია, რათა შეასრულოს ის ამოცანები, რასაც თქვენ გეტყვით. ამ დღეს და ეპოქაში, რედაქტორი და შემდგენელი ჩვეულებრივ ინტეგრირებულია, თუმცა ეს ყოველთვის ასე არ არის. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი რედაქტორი/შემდგენელი, რომელთანაც თავს კომფორტულად გრძნობთ, მაგრამ მე გაჩვენებთ თუ როგორ უნდა მიიღოთ ჩემი პირადი რჩეული პითონისთვის: Canopy. თუ თქვენ უკვე გაქვთ რედაქტორი/შემდგენელი, შეგიძლიათ გამოტოვოთ ეს ნაბიჯები.

  1. გადადით
  2. დააჭირეთ ჩამოტვირთეთ Canopy
  3. დააწკაპუნეთ გადმოწერის ღილაკზე, რომელიც შეესაბამება თქვენს ოპერაციულ სისტემას

    გადმოწერა ავტომატურად დაიწყება

  4. მიჰყევით ინსტილაციის ინსტრუქციას შესრულების ფაილის დაწყების შემდეგ
  5. გაუშვით პროგრამა
  6. პროგრამის მთავარი მენიუდან დააჭირეთ ღილაკს "რედაქტორი"
  7. დააწკაპუნეთ "შექმნა ახალი ფაილი" ეკრანის ცენტრში

ამ წერტილიდან თქვენ უნდა ნახოთ ცარიელი თეთრი ფანჯარა კურსორით, რომელიც წააგავს ძირითადი დამუშავების დოკუმენტს. თქვენ ახლა მზად ხართ დაიწყოთ რიცხვითი ინტეგრაციის ალგორითმის კოდირება გარკვეული ინტეგრალების ამოსახსნელად. შემდგომ ნაბიჯებს ექნება კოდის ნაწყვეტი, რომელსაც თქვენ დააკოპირებთ და ახსნა იმისა, თუ რას აკეთებს ეს ნაწყვეტი პროგრამისთვის მთლიანად.

ნაბიჯი 5: პროგრამის შექმნა ნაწილი 2: ფუნქციების იმპორტი და ცვლადების განსაზღვრა

პროგრამის შექმნა ნაწილი 2: ფუნქციების იმპორტი და ცვლადების განსაზღვრა
პროგრამის შექმნა ნაწილი 2: ფუნქციების იმპორტი და ცვლადების განსაზღვრა

დააკოპირეთ კოდი სურათზე.

ნებისმიერი პროგრამისთვის, რომელიც შეიძლება აღმოჩნდეს კოდირებისას, იქნება ცვლადები. ცვლადი არის სახელი, რომელსაც ენიჭება მნიშვნელობა, რომელიც იმოქმედებს და შეიძლება შეიცვალოს. პროგრამირების უმეტეს ენაზე (თუ არა ყველა) თქვენ უნდა მოახდინოთ ცვლადის ინიციალიზაცია, სანამ პროგრამა შეძლებს მასში ცვლილებების შეტანას. ამ პროგრამის შემთხვევაში მე დავარქვი ცვლადები "N", "a" და "b". ეს მნიშვნელობები წარმოადგენს გამეორებების რაოდენობას (მართკუთხედების AKA რიცხვი), ქვედა საზღვარს და ზედა ზღვარს შესაბამისად. თქვენ შეგიძლიათ დაასახელოთ ეს ყველაფერი, რაც გსურთ, მაგრამ ემთხვევა ფორმულებს "ალგორითმის გაგება ნაწილი 3: შუალედური წესი", უმჯობესია შეინარჩუნოთ ისინი იგივე. გაითვალისწინეთ, რომ ისინი არ არიან მითითებული მხოლოდ კონკრეტულ მნიშვნელობაზე. ეს არის იმის გამო, რომ ისინი მზადდება შეყვანისას, როდესაც პროგრამა მუშაობს, პროგრამის მომხმარებელს შეუძლია განსაზღვროს რა იქნება ღირებულება. ბრჭყალებში ჩაწერილი ტექსტი, შეყვანის ბრძანების შემდეგ, გამოჩნდება პროგრამის გაშვებისას, რომელიც გეუბნებათ რა ტიპის მნიშვნელობა უნდა აკრიფოთ. თქვენ ასევე შეამჩნევთ, რომ "int" და "float" გამოიყენება შეყვანის აღნიშვნამდე. ეს ტერმინები ეუბნება კომპიუტერს რა ტიპის ცვლადი იქნება ეს მნიშვნელობა. "Int" არის მთელი რიცხვი, ხოლო "float" არის მცურავი წერტილის მნიშვნელობა (ანუ ათობითი). გასაგები უნდა იყოს, რატომ არის ესენი ასე დასახელებული.

"#" - ის შემდეგ წარმოდგენილი ნებისმიერი ტექსტი არის კომენტარი, რომელიც პროგრამისტს საშუალებას აძლევს დაიცვას კოდი ჰუმანისტური გზით; მე გავაკეთე გარკვეული კომენტარები ჩემს კოდში, რომელსაც თქვენ დააკოპირებთ, მაგრამ მოგერიდებათ დაამატოთ ნებისმიერი კომენტარი, რომელიც დაგეხმარებათ კონკრეტულად. პროგრამა არ წაიკითხავს არაფერს "#" - ით ადრე, როგორც ბრძანებას.

კოდის ნაწილი, რომელიც კითხულობს "მათემატიკის იმპორტიდან", ეუბნება პროგრამას იმპორტირებული მათემატიკური ფუნქციების მასივი, რომელიც შეიძლება გამოყენებულ იქნას მათში საკუთარი თავის დაპროგრამების გარეშე. "*" უბრალოდ ნიშნავს "ყველა". წაიკითხეთ კოდის ეს ნაწილი: მათემატიკის ბიბლიოთეკიდან შეიტანეთ ყველა ფუნქცია. ეს გაძლევთ საშუალებას გამოიყენოთ მათემატიკური ფუნქციები, როგორიცაა sine, cosine, log, exp და ა.შ. ეს ფუნქცია მათემატიკურად შეიძლება ინტეგრირებული იყოს კოდში.

ნაბიჯი 6: პროგრამის შექმნა ნაწილი 3: ინტეგრაციის ფუნქციის შექმნა

პროგრამის შექმნა ნაწილი 3: ინტეგრაციის ფუნქციის შექმნა
პროგრამის შექმნა ნაწილი 3: ინტეგრაციის ფუნქციის შექმნა

დააკოპირეთ კოდი წინა კოდის ქვემოთ მოცემულ სურათზე.

გაფრთხილება: ეს განყოფილება მკვრივია და მინდა განვმარტო ზოგიერთი რამ, რაც პოტენციურად შეიძლება დამაბნეველი იყოს. პროგრამირებაზე საუბრისას სიტყვა "ფუნქცია" ბევრს ჩნდება. ეს ტერმინი ასევე ბევრს ჩნდება, როდესაც მათემატიკაზე საუბრობთ. ამრიგად, ამ მომენტიდან, როდესაც მე ვსაუბრობ ფუნქციებზე პროგრამირების თვალსაზრისით, მე დავწერ "პითონის ფუნქციას" და როდესაც ვსაუბრობ მათემატიკურ ფუნქციაზე, მე ვიტყვი "მათემატიკურ ფუნქციას". რაღაც მომენტში ჩვენ გამოვიყენებთ პითონის ფუნქციას, როგორც გამოსახულებას მათემატიკური ფუნქციისათვის.

კოდის ეს შემდეგი ნაწყვეტი არის პროგრამის გული. აქ განსაზღვრულია პითონის ფუნქცია, რომელიც ახორციელებს რიცხვითი ინტეგრაციის ალგორითმს შუა წერტილის წესის გამოყენებით. "def Integrate (N, a, b)" იკითხება შემდეგნაირად: განსაზღვრეთ ფუნქცია სახელწოდებით "Integrate", რომელიც იღებს ცვლადებს "N", "a" და "b" და აბრუნებს ფართობს მრუდის ქვეშ (მათემატიკური ფუნქცია) რომელიც ასევე განსაზღვრულია პითონის "ინტეგრირება" ფუნქციის ფარგლებში. თქვენ შეგიძლიათ პითონის ამ ფუნქციას დაარქვათ კოდირებისას, მაგრამ აზრი აქვს მას ვუწოდოთ ინტეგრაცია, რადგან ეს არის ფუნქცია, რომელიც ნამდვილად აერთიანებს მათემატიკურ ფუნქციას.

ამ ეტაპზე ღირს კომენტარის გაკეთება, თუ როგორ ხდება პითონი კოდების ბლოკების განცალკევება. კოდის ბლოკი არის მთელი განყოფილება, რომელიც ასრულებს გარკვეულ დავალებას. სხვადასხვა პროგრამირების ენებს ექნებათ განსაზღვრული გზები ამ "ბლოკების" განასხვავებლად. პითონისთვის ბლოკი გამოირჩევა ჩაღრმავებით: თითოეულ ამოცანას, რომელსაც ასრულებს თავისი განყოფილება, და სხვა დახრილი ბლოკების შიგნით შეიძლება იყოს დახრილი ბლოკები. ეს წარმოადგენს ამოცანებს დავალებების ფარგლებში და არსებითად გვეუბნება იმ თანმიმდევრობით, რომელშიც კოდი უნდა შესრულდეს. პითონის განსაზღვრული ფუნქციის "ინტეგრაცია" შემთხვევაში, ამ ფუნქციის შიგნით ყველაფერი არის ერთი ბლოკით დახრილი, რითაც გამოირჩევა ამოცანები, რომლებიც შესრულდება ამ ფუნქციის ფარგლებში. ამ პითონის ფუნქციის შიგნით არის დახრილი ნაწილები, რომლებიც ასევე ასრულებენ საკუთარ დავალებებს. ის მიდის შემდეგნაირად: მითითებულია ბრძანება (ამოცანა), ორწერტილი მიჰყვება ბრძანებას და რასაც ბრძანება აკეთებს, ქვემოთ არის ჩაწერილი.

პითონის "ინტეგრირების" ფუნქციის განსაზღვრისთანავე თქვენ განსაზღვრავთ პითონის სხვა ფუნქციას, სახელწოდებით f (x). ეს წარმოადგენს მათემატიკურ ფუნქციას, რომელიც იქნება ინტეგრირებული. თითოეული განსხვავებული მათემატიკური ფუნქციისთვის, რომლის ინტეგრირებაც გსურთ, თქვენ უნდა შეხვიდეთ ამ პროგრამის ხაზზე მის შესაცვლელად (განსხვავებით ცვლადებისაგან, რომლებიც განისაზღვრება პროგრამის გაშვებისას). პითონის თითოეულ ფუნქციას ექნება დასაბრუნებელი მნიშვნელობა, ეს არის ის, რასაც ფუნქცია უბრუნებს, როდესაც მას მნიშვნელობას გადააგდებ. ამ შემთხვევაში შემოტანილი მნიშვნელობა არის "x" და ეს "x" ტერმინი მიიღებს იმ ღირებულებას, რასაც თქვენ ოდესმე აგდებთ-ეს არის დროებითი მნიშვნელობა.

შემდეგი, for-loop მოქმედებს როგორც შეჯამება ფორმულებში განსაზღვრული ამ გაკვეთილის "ალგორითმის გაგება" განყოფილებაში. ეს შეჯამება მოითხოვს კიდევ რამდენიმე ცვლადს, რომელთაგან ერთი იქნება პითონის მთლიანი ფუნქციის "ინტეგრირება" დაბრუნების მნიშვნელობა. მარყუჟის წინ, მე განვსაზღვრე ეს ცვლადები, როგორც "მნიშვნელობა" და "მნიშვნელობა 2". for-loop– ის ამოცანაა განმეორდეს მნიშვნელობების დიაპაზონში დანიშნული ცვლადისათვის, რომელიც მოხერხებულად შეიძლება განისაზღვროს for-loop ბრძანების ფარგლებში; ამ შემთხვევაში, ეს ცვლადია "n". დიაპაზონი, რომლისთვისაც ხდება განმეორება, არის 1 -დან N+1 -მდე. თქვენ უნდა შეამჩნიოთ, რომ ზემოაღნიშნულ ფორმულებში განსაზღვრული შეჯამება მხოლოდ 1 -დან N- მდეა. ჩვენ ამას ასე განვსაზღვრავთ, რადგან პითონის ენა ითვლის თითოეულ გამეორებულ მნიშვნელობას ნულიდან, ასე რომ ჩვენ არსებითად უნდა გადავიტანოთ მნიშვნელობების დიაპაზონი, რათა შევასრულოთ ჩვენი სასურველი დიაპაზონი. შემდეგ მარყუჟი იძლევა მართკუთხედის ყველა სიმაღლის შეჯამების საშუალებას და ინახავს ამ მნიშვნელობას ცვლადში, რომელსაც მე ვუწოდებ "მნიშვნელობას". ეს ჩანს კოდის იმ ნაწილში, რომელიც ნაჩვენებია როგორც: მნიშვნელობა += f (a +((n- (1/2))*((b-a)/N))).

იქიდან, კოდის შემდეგი ნაწილი იყენებს ცვლადს "მნიშვნელობა 2", რომელიც შემდეგ მიენიჭება თითოეული მართკუთხედის ყველა სიმაღლის ჯამს გამრავლებული თითოეული ოთხკუთხედის სტანდარტიზებულ სიგანეზე-ეს არის ჩვენი საბოლოო პასუხი, რომელიც ჩვენ გვინდა ნაჩვენებია ჩვენი პროგრამის მიერ და, შესაბამისად, არის პითონის ფუნქციის "ინტეგრირება" დაბრუნების მნიშვნელობა.

ნაბიჯი 7: პროგრამის შექმნა ნაწილი 4: პასუხის ჩვენება

პროგრამის შექმნა ნაწილი 4: პასუხის ჩვენება
პროგრამის შექმნა ნაწილი 4: პასუხის ჩვენება

დააკოპირეთ კოდი წინა კოდის ქვემოთ მოცემულ სურათზე.

ახლა, როდესაც პასუხის მიღება შესაძლებელია პითონის ფუნქციის "ინტეგრირება" საშუალებით, ჩვენ გვსურს მისი ჩვენება შევძლოთ. ეს არის მხოლოდ მომხმარებლის მიერ შეტანილი მნიშვნელობების ("N", "a" და "b") პითონის "ინტეგრირება" ფუნქციის და ეკრანზე დაბეჭდვის საკითხი. ეს ბრძანება ნაჩვენებია 21 -ე ხაზზე და მართლაც არის ყველაფერი რაც თქვენ უნდა გააკეთოთ ამ ნაბიჯის დასასრულებლად. კოდი მე -19 და მე -20 ხაზებზე არის მხოლოდ იმისათვის, რომ "საკმაოდ გაზარდოს" მთელი პროგრამის გამომუშავება. "ბეჭდვა (" ………………………. ")" გამოყოფს პროგრამის შეყვანის განყოფილებას გამომავალი განყოფილებისგან და "ბეჭდვა (" აქ არის შენი პასუხი: ")" არის მხოლოდ აღნიშვნა, რომელზეც პასუხი იქნება იბეჭდება ტექსტის ამ სტრიქონის შემდეგ.

ნაბიჯი 8: პროგრამის გაშვება ნაწილი 1: პროგრამის გაშვება როგორც არის

პროგრამის გაშვება ნაწილი 1: პროგრამის გაშვება როგორც არის
პროგრამის გაშვება ნაწილი 1: პროგრამის გაშვება როგორც არის

თუ თქვენ არ იყენებთ Canopy- ს, მაშინ ალბათ არც გჭირდებათ ამ ნაბიჯის გადადგმა და პროგრამის გაშვებამ შეიძლება მოითხოვოს განსხვავებული პროცედურები. Canopy– ში, სანამ შეძლებთ პროგრამის გაშვებას, დაგჭირდებათ მისი შენახვა. Python პროგრამის ფაილის ტიპი არის.py ფაილი-ის ავტომატურად ინახება ამ სახით. აირჩიეთ ადგილი, სადაც გსურთ ფაილის შენახვა, შემდეგ კი შეძლებთ პროგრამის გაშვებას.

პროგრამის გაშვება:

  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. სწორი ანალიტიკური პასუხი არის 333.333. ეს არის წარმოუდგენლად ზუსტი და სწრაფი. თქვენ არსებითად შეკუმშეთ 10 000 მართკუთხედი 0 – დან 10 – მდე x ღერძზე და გამოიყენეთ ისინი მრუდის ქვეშ ფართობის მიახლოებისთვის x^2!

ნაბიჯი 9: პროგრამის გაშვება ნაწილი 2: სხვა მათემატიკური ფუნქციების ინტეგრირება

პროგრამის გაშვება ნაწილი 2: სხვა მათემატიკური ფუნქციების ინტეგრირება
პროგრამის გაშვება ნაწილი 2: სხვა მათემატიკური ფუნქციების ინტეგრირება

წინა საფეხურზე, თუ თქვენ ერთგულად მიჰყვებით, თქვენ ინტეგრირებული ხართ f (x) = x^2. ეს არ არის ერთადერთი მათემატიკური ფუნქცია, რომელსაც ამ პროგრამის ინტეგრირება შეუძლია. გავიხსენოთ მე –5 საფეხურიდან თქვენ შეიტანეთ პროგრამაში პითონის ფუნქციების მათემატიკური ბიბლიოთეკის მასივი. ეს საშუალებას გაძლევთ გამოიყენოთ უფრო რთული მათემატიკური ფუნქციები, რომელთა ინტეგრირებაც შესაძლებელია. მოდით ერთი გასროლა. რასაკვირველია, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ფუნქცია, რომელიც გსურთ, მაგრამ მე კიდევ დავამტკიცებ ამ კოდის სიზუსტეს კონკრეტული მათემატიკური ფუნქციის ინტეგრირებით, რომელიც იძლევა გარკვეულ მნიშვნელობას, როდესაც ინტეგრირდება გარკვეულ დიაპაზონში. ეს ფუნქცია არის f (x) = Sin [x]. ეს მათემატიკური ფუნქცია ნაჩვენებია პირველ თანმხლებ სურათზე, ნაჩვენებია 0 -დან 2π- მდე და ინტერესის არე ფირუზის ჩრდილშია. ამ ინტერვალში არის თანაბარი რაოდენობის დადებითი ფართობი, რადგან არის უარყოფითი ფართობი, ასე რომ, თუ შევაჯამებთ საერთო ფართობს, უნდა მიიღოთ ნული. ვნახოთ ეს მართლა ხდება:

მათემატიკური ფუნქციის დაყენება f (x) = Sin [x] პროგრამაში:

  1. პროგრამის ხელახლა გაშვებამდე, კომენტარის ქვეშ "#ჩაწერეთ თქვენი ფუნქცია დაბრუნების შემდეგ", ჩაწერეთ: sin (x) სადაც x ** 2 ამჟამად მდებარეობს. (იხილეთ სურათი).
  2. გაუშვით პროგრამა მწვანე დაკვრის ღილაკზე დაჭერით.
  3. აკრიფეთ 10000 N მნიშვნელობისთვის (რამდენჯერ გსურთ თანხა).
  4. ჩაწერეთ "0" ქვედა საზღვრისთვის.
  5. დააყენეთ 6.2832 ზედა ზღვარზე (დაახლოებით 2π).
  6. ნახეთ რა ღირებულებას მიიღებთ.

როდესაც ეს გავაკეთე, მე მივიღე 1.079e-10 მნიშვნელობა: ეს უდრის.0000000001079, რაც ნამდვილად ნულის ტოლია, ასე რომ, ის ზუსტი ჩანს და აჩვენებს, რომ ალგორითმი ადეკვატურად ამუშავებს უარყოფით არეს.

ნაბიჯი 10: პროგრამის გაშვება ნაწილი 3: პროგრამის გაფართოება

ამ ეტაპზე თქვენ დასრულებული ხართ: თქვენ გაქვთ პეტიონში კოდირებული სამუშაო ინტეგრალური ალგორითმი, რომელიც მუშაობს შეუფერხებლად და იძლევა ძალიან ზუსტ პასუხებს. თუმცა, ეს პროგრამა შეიძლება გაუმჯობესდეს. მე არ ვარ პროგრამისტი და მაქვს მინიმალური გამოცდილება პითონთან. სინამდვილეში, მე უნდა განმეახლებინა პითონის გამოყენება ამ გაკვეთილის დასასრულებლად, მაგრამ ეს უნდა დაგარწმუნოთ, რომ პითონი ისეთი ადვილი შესასწავლი ენაა. ჩემი აზრი ის არის, რომ თქვენ შეგიძლიათ გააფართოვოთ ეს პროგრამა უფრო ეფექტური გახადოთ, შესაძლოა განახორციელოთ რაიმე GUI და გახადოთ ის უფრო მეგობრული.

ჩემი აზრი პროგრამის გაფართოებაზე:

  • განახორციელეთ გრაფიკული მომხმარებლის ინტერფეისი, რომელიც საშუალებას გაძლევთ გაუშვათ პროგრამა Canopy ინტერაქტიული მონაცემების ანალიზის გარემოს გამოყენების გარეშე
  • გააკეთეთ ისე, რომ ინტეგრირებული მათემატიკური ფუნქცია არ უნდა იყოს შეტანილი პროგრამის შიგნით, მაგრამ შეიძლება შევიდეს პროგრამის გაშვების შემდეგ (მე თავიდან ვცდილობდი ამის გაკეთებას, მაგრამ ვერ გავარკვიე).
  • განსაზღვრეთ პითონის ფუნქცია "ინტეგრირება" ისე, რომ იგი იღებს f (x) ფუნქციას, როგორც განსაზღვრულია f (x) ფუნქცია მასში განსაზღვრული.

ეს მხოლოდ გაუმჯობესების სფეროების რამდენიმე მაგალითია, მაგრამ მე გარანტიას ვიძლევი, რომ ბევრი სხვა სფეროა მისი გაძლიერება. ასე რომ, მე ვტოვებ ამ ნაბიჯს, როგორც ამ პროგრამის ხარვეზების მაგალითს და, ალბათ, სავარჯიშოს ყველას, ვისაც სურს პროგრამის კიდევ უფრო გაუმჯობესება.

გირჩევთ: