ტეილორის სერია არის ფუნქციის წარმოდგენა უსასრულო ჯამის გამოყენებით. კომპიუტერები ხშირად აკეთებენ ტრიგონომეტრიული, ექსპონენციალური ან სხვა ტრანსცენდენტური მნიშვნელობების მიახლოებას. ფუნქციონირება მისი ტეილორის სერიის ტერმინების სასრული რაოდენობის შეჯამებით და თქვენ შეგიძლიათ ხელახლა შექმნათ ეს პროცესი პითონი. ჯამის პირობები ეფუძნება ფუნქციის თანმიმდევრულ წარმოებულებს, ასე რომ, თქვენ უნდა დაადგინოთ ნიმუში ამ წარმოებულების მნიშვნელობებში, რომ დაწეროთ ფორმულა სერიის თითოეული წევრისთვის. შემდეგ გამოიყენეთ ციკლი ჯამის დასაგროვებლად, აკონტროლეთ თქვენი მიახლოების სიზუსტე მარყუჟის გამეორებების რაოდენობასთან.
Ნაბიჯი 1
გაეცანით ტეილორის სერიის განმარტებას იმის გასაგებად, თუ როგორ შეიძლება გამოითვალოს თითოეული ტერმინი. სერიის თითოეული წევრი ინდექსირებულია, როგორც წესი, "n"-ით და მისი მნიშვნელობა დაკავშირებულია წარმოდგენილი ფუნქციის n-ე წარმოებულთან. სიმარტივისთვის გამოიყენეთ 0 მნიშვნელობისთვის "a" თქვენს პირველ ცდაზე. ტეილორის სერიის ამ სპეციალურ ვერსიას მაკლორინის სერია ჰქვია. სცადეთ სინუსური ფუნქცია, რადგან მისი თანმიმდევრული წარმოებულების დადგენა ადვილია.
დღის ვიდეო
ნაბიჯი 2
ჩაწერეთ 0-ზე შეფასებული სინუსური ფუნქციის n-ე წარმოებულის რამდენიმე მნიშვნელობა. თუ n არის 0, მნიშვნელობა არის 0. თუ n არის 1, მნიშვნელობა არის 1. თუ n არის 2, მნიშვნელობა არის 0. თუ n არის 3, მნიშვნელობა არის -1. აქედან, ნიმუში მეორდება, ამიტომ უგულებელყოთ ტეილორის სერიის ყველა ლუწი ინდექსირებული ტერმინი, რადგან ის მრავლდება 0-ზე. მიღებული სერიის თითოეული ტერმინის ფორმულა არის:
(-1)^n/(2n+1)!*x^(2n+1)
"2n+1" გამოიყენება "n"-ის ნაცვლად სერიების ხელახალი ინდექსაციისთვის, ეფექტურად უგულებელყოფს ლუწი-ინდექსირებულ ტერმინებს თავად ინდექსის შეცვლის გარეშე. (-1)^n ფაქტორი განიხილავს თანმიმდევრულ წევრთა პოზიტიურ და უარყოფით მონაცვლეობას. ეს წინასწარი მათემატიკური ნამუშევარი შეიძლება ზედმეტი ჩანდეს, მაგრამ Python კოდის დაწერა და ხელახალი გამოყენება ბევრად უფრო ადვილი იქნება ტეილორის სხვა სერიებზე, თუ ინდექსი ყოველთვის იწყება 0-დან და ითვლის ზემოთ 1-ის ნამატებით.
ნაბიჯი 3
გახსენით პითონის თარჯიმანი. დაიწყეთ შემდეგი ბრძანებების აკრეფით რამდენიმე ცვლადის დასადგენად:
ჯამი = 0 x = .5236
"ჯამ" ცვლადი გამოყენებული იქნება ტეილორის სერიის ჯამის დასაგროვებლად, თითოეული ტერმინის გამოთვლისას. ცვლადი "x" არის კუთხე (რადანებში), რომლისთვისაც გსურთ სინუსური ფუნქციის მიახლოება. დააყენეთ ის, რაც გსურთ.
ნაბიჯი 4
შემოიტანეთ "მათემატიკის" მოდული შემდეგი ბრძანებით, რათა გქონდეთ წვდომა "pow" და "factorial" ფუნქციებზე:
იმპორტი მათემატიკა
ნაბიჯი 5
დაიწყეთ "for" მარყუჟი, დააყენეთ გამეორებების რაოდენობა "დიაპაზონის" ფუნქციით:
n-სთვის დიაპაზონში (4):
ეს გამოიწვევს ინდექსის ცვლადი, n, დაიწყოს ნულიდან და დაითვალოს 4-მდე. გამეორებების ეს მცირე რაოდენობაც კი საოცრად ზუსტ შედეგს გამოიღებს. მარყუჟი არ შესრულდება დაუყოვნებლივ და არ დაიწყება მანამ, სანამ არ დააკონკრეტებთ კოდის მთელ ბლოკს განმეორებით.
ნაბიჯი 6
აკრიფეთ შემდეგი ბრძანება, რომ დაამატოთ ყოველი თანმიმდევრული ტერმინის მნიშვნელობა "ჯამს:"
ჯამი += მათემატიკა.pow(-1,n)/მათემატიკა.ფაქტორული (2*n+1)*მათემატიკა.pow (x, 2*n+1)
გაითვალისწინეთ, რომ ბრძანება ჩაჭრილია ჩანართით, რომელიც მიუთითებს პითონზე, რომ ის არის "for" მარყუჟის ნაწილი. ასევე გაითვალისწინეთ, როგორ გამოიყენება "pow" და "factorial" "^" და "!" აღნიშვნა. "+=" დავალების ოპერატორის მარჯვნივ ფორმულა იდენტურია ნაბიჯი 2-ის, მაგრამ დაწერილი პითონის სინტაქსით.
ნაბიჯი 7
დააჭირეთ "Enter" ცარიელი ხაზის დასამატებლად. პითონისთვის ეს მიუთითებს "for" მარყუჟის შეწყვეტაზე, ასე რომ, გაანგარიშება შესრულებულია. ჩაწერეთ ბრძანება "sum" შედეგის გამოსავლენად. თუ თქვენ იყენებდით მე-3 ნაბიჯში მოცემულ x-ის მნიშვნელობას, შედეგი ძალიან ახლოს არის .5-თან, pi/6-ის სინუსთან. სცადეთ პროცესი ისევ x-ის სხვადასხვა მნიშვნელობებისთვის და ციკლის გამეორებების სხვადასხვა რაოდენობისთვის, შეამოწმეთ თქვენი შედეგები "math.sin (x)" ფუნქციის მიხედვით. თქვენ პითონში დანერგეთ ის პროცესი, რომელსაც მრავალი კომპიუტერი იყენებს სინუსური და სხვა ტრანსცენდენტული ფუნქციების მნიშვნელობების გამოსათვლელად.
რჩევა
ჩაწერეთ შეწევა და აკრიფეთ ბრძანება "sum" "for" მარყუჟის მეორე სტრიქონზე, რათა მიიღოთ ჯამის გაშვებული ჯამი კოდის შესრულებისას. ეს ცხადყოფს, თუ როგორ აახლოებს სერიის ყოველი თანმიმდევრული წევრი ჯამს ფუნქციის რეალურ მნიშვნელობასთან.