Memperkirakan e dengan Python

Ahli matematika Swiss Leonhard Euler, 1707 hingga 1783. Gambar: Wikipedia

Beberapa waktu yang lalu saya menulis posting tentang memperkirakan Pi menggunakan berbagai metode. Sebagai tindak lanjut saya sekarang akan menulis posting tentang memperkirakan e , atau Bilangan Euler, dengan Python.

e adalah konstanta matematika dan, seperti pi, tidak rasional (yaitu tidak dapat dinyatakan persis seperti tempat desimal membentang hingga tak terhingga) tetapi dapat diperkirakan dengan ketepatan berapa pun.

Jika Anda ingin penelitian e lanjut Wikipedia memiliki artikel yang komprehensif pada subjek, tapi di sini saya akan berkonsentrasi pada mengestimasi nilai menggunakan program Python sederhana.

Menyelam Mari langsung ke kode yang hidup dalam satu file yang disebut e.py . (Setidaknya Anda tidak dapat menuduh saya menggunakan nama file yang terlalu panjang) yang dapat Anda klon / unduh dari repositori Github .

Ini adalah bagian pertama dari kode sumber.

Di dekat bagian atas file, saya telah menetapkan variabel yang disebut E15DPstring yang berisi e hingga 15 tempat desimal. Ini akan digunakan sebagai nilai definitif untuk dibandingkan dengan nilai yang kita hitung. Nama menggunakan huruf besar semua untuk menunjukkan bahwa itu harus dianggap sebagai konstanta.

Selanjutnya kita memiliki beberapa konstanta warna untuk mengeluarkan teks ke konsol dalam berbagai warna.

The mainFungsi terdiri dari empat fungsi panggilan untuk estimasi e menggunakan berbagai metode. Semua kecuali yang pertama dikomentari untuk saat ini karena kami akan menjalankannya satu per satu.

The print_as_textfungsi mengambil nilai untuk e dan mengkonversi ke string dengan 15 tempat desimal. Kemudian mencetaknya setelah nilai definitif, dengan digit yang benar berwarna hijau dan digit yang salah berwarna merah.

Fungsi pertama untuk menghitung e adalah expansion_1yang mengimplementasikan rumus ini…

… Dengan nilai n= 100000

Kami sekarang memiliki cukup untuk menjalankan perintah ini.

python3.8 e.py

Outputnya adalah:

Seperti yang Anda lihat, ini memberi kami akurasi 4dp; Anda mungkin ingin bereksperimen dengan nilai yang berbeda dari n.

Sekarang mari kita coba ekspansi lain untuk menerapkan rumus ini dengan n= 0,00000000.

Komentar keluar expansion_1()di main, tanda komentar expansion_2()dan menjalankan program lagi. Ini adalah hasilnya.

Ini memberi kita 5dp akurasi tetapi sekali lagi Anda dapat mencoba nilai yang berbeda n.

Sekarang mari beralih ke metode ketiga, Newton's Series, yang rumusnya adalah:

Ini berarti kita memulai dengan n= 0, setel e ke 1 / n !, selisih ndan kemudian terus tambahkan 1 / n! ke e selama yang kita inginkan.

( n! berarti hasil kali dari semua bilangan bulat sampai dan termasuk n, misalnya 4! = 4 x 3 x 2 x 1 = 24. Kebetulan 0! = 1. )

Tanda komentar newtons_series()di maindan menjalankan program.

Sir Isaac memberi kami akurasi 9dp dengan nilai maksimum n= 13.

Seperti halnya π, orang-orang masih mencari cara untuk menghitung e dan saya akan menyelesaikannya dengan metode yang baru-baru ini ditemukan mengesankan, Formula Saudara, yang dibuat baru-baru ini pada tahun 2004.

Seperti halnya Deret Newton, ini adalah penjumlahan deret tak hingga meskipun agak lebih kompleks.

Kerumitan ekstra terbayar: kita hanya perlu menghitung sampai 8 untuk mendapatkan akurasi 15dp (mungkin lebih).

Tentu saja jika Anda benar-benar membutuhkan e dalam kode Python Anda, maka Anda harus mengkodekannya menjadi "konstanta" tetapi saya harap Anda menemukan proyek sederhana ini menarik, terutama mengubah rumus dalam notasi matematika menjadi Python.

Suggested posts

Cara menjalankan plugin ChatGPT secara gratis menggunakan Langchain

Cara menjalankan plugin ChatGPT secara gratis menggunakan Langchain

Anda pasti pernah mendengar tentang semua plugin ChatGPT baru yang kuat seperti Browser, Code Interpreter, dll. Namun ada masalah, akses ke plugin terbatas pada daftar tunggu sehingga banyak yang tidak memiliki akses ke sana.

Bagaimana saya mentransfer dari Math ke CS

Bagaimana saya mentransfer dari Math ke CS

Proses penerimaan Musim Gugur 2023 akan segera berakhir, dan penangguhan/penolakan sedang terjadi. Selamat jika Anda telah diterima di program impian Anda di UW.

Related posts

HIDUP TANPA BATAS

Ketika Anda tumbuh dewasa, Anda cenderung diberi tahu bahwa dunia adalah apa adanya dan hidup Anda hanya untuk menjalani hidup Anda di dunia, tidak pernah mempertaruhkan hidup Anda, ikuti saja jalan yang ditetapkan dan pada akhirnya mati, dan cobalah untuk tidak melakukannya. hancurkan tembok terlalu banyak. Tapi itu kehidupan yang sangat terbatas.

Tidak ada lagi kata sandi — bagaimana kunci sandi akan menggantikan kata sandi Anda

Tidak ada lagi kata sandi — bagaimana kunci sandi akan menggantikan kata sandi Anda

Untuk menghindari ambiguitas istilah berikut akan digunakan; Pengautentikasi; Ponsel yang digunakan untuk membuat situs web login; Situs web atau aplikasi yang digunakan pengguna untuk membuat Layanan permintaan login; Vendor menyediakan layanan yang diberikan misalnya

Erosi Lambat: Mengungkap Cara Orang Menghilang dalam Kariernya

Erosi Lambat: Mengungkap Cara Orang Menghilang dalam Kariernya

Di dunia yang serba cepat dan kompetitif saat ini, karier seseorang memainkan peran penting dalam pertumbuhan pribadi, stabilitas keuangan, dan kepuasan hidup secara keseluruhan. Namun, banyak orang menemukan diri mereka terjebak dalam siklus stagnasi dan ketidakpuasan tanpa henti, secara bertahap menyia-nyiakan kehidupan profesional mereka.

Buku Pertama Seorang Anak tentang Menjadi Tinggi

Buku Pertama Seorang Anak tentang Menjadi Tinggi

(Peringatan- Ini Satire, dimaksudkan untuk Menjadi Gleefully Subversive- Jelas bukan untuk anak-anak) Anda pernah melihat ibu dan ayah Anda bersembunyi di dapur dan merokok rokok yang bau itu. Mereka memberi tahu Anda.