সুচিপত্র:

পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: 10 টি ধাপ
পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: 10 টি ধাপ

ভিডিও: পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: 10 টি ধাপ

ভিডিও: পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: 10 টি ধাপ
ভিডিও: Statistics with Python! Monte Carlo Integration 2024, জুলাই
Anonim
কিভাবে পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম তৈরি করবেন
কিভাবে পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম তৈরি করবেন

এটি একটি প্রোগ্রাম কিভাবে তৈরি এবং চালানো যায় তার একটি টিউটোরিয়াল যা একটি সংখ্যাসূচক ইন্টিগ্রেশন অ্যালগরিদম ব্যবহার করে সুনির্দিষ্ট ইন্টিগ্রাল মূল্যায়ন করবে। আমি ধাপগুলিকে 3 ভাগে ভাগ করেছি: প্রোগ্রাম তৈরিতে ব্যবহৃত অ্যালগরিদম বোঝা, পাইথন প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রাম কোডিং করা এবং প্রোগ্রাম চালানো। এই টিউটোরিয়ালটি এমন ব্যক্তির জন্য তৈরি করা হয়েছে, যাকে সুনির্দিষ্ট ইন্টিগ্রালগুলি মূল্যায়নের জন্য দ্রুত ক্যালকুলেটর তৈরি করতে হতে পারে, অথবা বৃহত্তর স্কেল প্রোগ্রামে ব্যবহারের জন্য অ্যালগরিদমের প্রয়োজন হতে পারে। প্রাথমিক ক্যালকুলাস জ্ঞান প্রত্যাশিত, কিন্তু প্রাসঙ্গিক গাণিতিক তথ্য পর্যালোচনা করা হয়। প্রোগ্রামিংয়ের জ্ঞান প্রত্যাশিত নয়, কিন্তু দরকারী কারণ আমি কেবল সংক্ষেপে বর্ণনা করেছি কিভাবে প্রোগ্রামিং আসলে কাজ করে।

আপনার যা দরকার:

ইন্টারনেটে অ্যাক্সেস সহ একটি ব্যক্তিগত কম্পিউটার

ধাপ 1: অ্যালগরিদম বোঝা পার্ট 1: ডিফিনিট ইন্টিগ্রাল এবং এর ব্যবহার

অ্যালগরিদম বোঝা পার্ট 1: ডিফিনিট ইন্টিগ্রাল এবং এর ব্যবহার
অ্যালগরিদম বোঝা পার্ট 1: ডিফিনিট ইন্টিগ্রাল এবং এর ব্যবহার

আমি ধরে নেব আপনি মৌলিক ক্যালকুলাসের পরিপ্রেক্ষিতে একটি অবিচ্ছেদ্য বিষয় সম্পর্কে কিছুটা জানেন। সংহত গুরুত্বপূর্ণ এটি অর্থ, সংখ্যা তত্ত্ব, পদার্থবিজ্ঞান, রসায়ন এবং অন্যান্য অনেক ক্ষেত্রে উপকারী। যাইহোক, এই প্রোগ্রামটি আপনাকে শুধুমাত্র একটি সীমাবদ্ধ ব্যবধানের জন্য একটি বক্ররেখার নীচের এলাকা গণনা করার অনুমতি দেবে, অথবা অন্য কথায়, এটি অ্যান্টি-ডেরিভেটিভসকে মূল্যায়ন করে না-এর জন্য অনেক বেশি শক্তিশালী অ্যালগরিদম প্রয়োজন। এই অ্যালগরিদমটি দরকারী যদি আপনি অন্য কোন কিছুর জন্য নির্দিষ্ট একটি বৃহত্তর প্রোগ্রামে একটি সুনির্দিষ্ট অবিচ্ছেদ্য মূল্যায়ন করতে চান, অথবা যদি আপনি হাত দ্বারা সম্পন্ন কোনো নির্দিষ্ট অবিচ্ছেদের জন্য আপনার উত্তর পরীক্ষা করতে চান।

একটি মৌলিক সুনির্দিষ্ট অবিচ্ছেদ্য একটি ফাংশন দ্বারা সংজ্ঞায়িত একটি বক্ররেখা অধীনে এলাকা প্রতিনিধিত্ব করে। f (x)। একটি সুনির্দিষ্ট অবিচ্ছেদের জন্য, আমরা দুটি পয়েন্টের মধ্যে এলাকা খুঁজছি (যথাক্রমে a এবং b লেবেলযুক্ত)। ছবিতে, ফিরোজা অঞ্চলটি সেই এলাকা যা আমি উল্লেখ করছি, এবং এটি নির্ধারণের সমীকরণও সেই অঞ্চলে দেখানো হয়েছে। ছবিতে দেখানো ফাংশন নির্বিচারে।

পদক্ষেপ 2: অ্যালগরিদম বোঝা পার্ট 2: সংখ্যাসূচক আনুমানিকতা

অ্যালগরিদম বোঝা পার্ট 2: সংখ্যাসূচক আনুমানিকতা
অ্যালগরিদম বোঝা পার্ট 2: সংখ্যাসূচক আনুমানিকতা

একটি কম্পিউটারের একটি নির্বিচারে ফাংশনের নীচে সেই এলাকাটি গণনা করার জন্য একটি বিস্তৃত নির্দেশাবলীর প্রয়োজন যা যে কোন ফাংশনের জন্য কাজ করবে, তাই আপনি যে বিশ্লেষণাত্মক পদ্ধতিগুলির সাথে পরিচিত হতে পারেন সেগুলি কোনো কাজে আসে না কারণ সেগুলি খুব বিশেষ। আনুমানিক সংখ্যা গণনা করার একটি পদ্ধতি, যেটি আসলে একটি কম্পিউটার পরিচালনা করতে পারে, তা ব্যবহারকারীর দ্বারা নির্ধারিত পরিমাণ সমান প্রস্থ এবং পরিবর্তনশীল উচ্চতার আয়তক্ষেত্র দিয়ে আগ্রহের ক্ষেত্রটি পূরণ করে তারপর আয়তক্ষেত্রের সমস্ত ক্ষেত্রের সমষ্টি তৈরি করে। আয়তক্ষেত্রের অনমনীয় বৈশিষ্ট্যগুলি মোট এলাকাটির কিছু অংশকে অস্পৃশ্য রেখে দেবে, তাই কেন এটি একটি আনুমানিক হিসাবে বিবেচিত হয়; যাইহোক, আপনি যত বেশি আয়তক্ষেত্র সীমানা (a এবং b) এর মধ্যে আঁকতে পারেন, তত বেশি সঠিক অনুমান হবে যেহেতু অস্পৃশ্য অঞ্চলগুলি আরও বিরল হয়ে উঠবে। যেহেতু একটি কম্পিউটার টাস্কটি করবে, আপনি পছন্দসই অঞ্চলে আয়তক্ষেত্রের সংখ্যাটি একটি খুব বড় সংখ্যা হিসাবে সেট করতে পারেন, যা আনুমানিকতাকে অত্যন্ত নির্ভুল করে তোলে। সমর্থনকারী ছবিতে, কল্পনা করুন যে নির্ধারিত এলাকার প্রতিটি আয়তক্ষেত্র সমান প্রস্থের। আমি মাইক্রোসফট পেইন্টে তাদের সমান প্রস্থ করার জন্য যথাসাধ্য চেষ্টা করেছি, কিন্তু সেরা কাজটি করিনি।

ধাপ 3: অ্যালগরিদম বোঝা পার্ট 3: মিডপয়েন্ট রুল

অ্যালগরিদম বোঝা পার্ট 3: মিডপয়েন্ট রুল
অ্যালগরিদম বোঝা পার্ট 3: মিডপয়েন্ট রুল

এই নিয়মটি নির্ধারণ করে যে আয়তক্ষেত্রগুলি কীভাবে তৈরি করা হয় এবং আনুমানিক ব্যবহার করা হয়। "N" আয়তক্ষেত্রের মধ্যে প্রতিটি আয়তক্ষেত্রের সমান প্রস্থ, Δx থাকতে হবে, কিন্তু প্রতিটি n তম আয়তক্ষেত্র ঠিক একই হতে পারে না: পরিবর্তিত ফ্যাক্টর হল উচ্চতা যা একটি নির্দিষ্ট বিন্দুতে ফাংশন মূল্যায়ন হিসাবে পরিবর্তিত হয়। মধ্যবিন্দু নিয়মটি এই নাম থেকে আসে যে আপনি প্রতিটি আয়তক্ষেত্রের উচ্চতাকে f (x_n) হিসাবে মূল্যায়ন করছেন, যেখানে "x_n" প্রতিটি আয়তক্ষেত্রের সংশ্লিষ্ট কেন্দ্রবিন্দু, যেমন আয়তক্ষেত্রের বাম বা ডানদিকে প্রয়োগ করা হয়েছে। মিডপয়েন্ট ব্যবহার করা একটি গড় বাস্তবায়নের মতো যা ডান বা বাম ব্যবহার করার চেয়ে আনুমানিকতাকে আরও সঠিক করে তুলবে। এই ধাপের সহায়ক ছবিটি সংক্ষিপ্ত করে যে কিভাবে মধ্যবিন্দু নিয়মটি গাণিতিকভাবে সংজ্ঞায়িত করা হয়।

ধাপ 4: প্রোগ্রাম তৈরি করা পার্ট 1: একটি পাইথন কম্পাইলার/সম্পাদক ডাউনলোড করা

এখন আপনি যে অ্যালগরিদমটি বাস্তবায়ন করতে হবে তা বুঝতে পেরেছেন, এটি আপনার জন্য গণনা করার জন্য একটি কম্পিউটার পাওয়ার বিষয়। কম্পিউটারকে কী করতে হবে তা বলার প্রথম ধাপ হল এটি করার জন্য সরঞ্জামগুলি পাওয়া। এই অ্যালগরিদম যে কোন ভাষায় কোড করা যায়; সরলতার জন্য, এই প্রোগ্রামটি পাইথন ভাষায় কোড করা হবে। আপনার কম্পিউটারকে পাইথনের সাহায্যে অপারেশন করার নির্দেশ দেওয়ার জন্য, আপনাকে এমন একটি সম্পাদক প্রয়োজন হবে যা সেই ভাষায় লিখিত নির্দেশাবলী নেয় যা তারপর মেশিন ভাষায় সংকলিত হবে যা আপনার কম্পিউটার বুঝতে পারে যাতে এটি আপনাকে যে কাজগুলি করতে বলে তা সম্পাদন করতে পারে। এই দিন এবং যুগে, একজন সম্পাদক এবং সংকলক সাধারণত একত্রিত হয়, তবে এটি সবসময় হয় না। আপনি যে কোনও সম্পাদক/কম্পাইলার ব্যবহার করতে পারেন যার সাথে আপনি আরামদায়ক, তবে আমি আপনাকে দেখাব কিভাবে পাইথনের জন্য আমার ব্যক্তিগত পছন্দটি পেতে পারি: ক্যানোপি। আপনার যদি ইতিমধ্যে একটি সম্পাদক/সংকলক থাকে, আপনি এই পদক্ষেপগুলি এড়িয়ে যেতে পারেন।

  1. Https://www.enthought.com/product/canopy/ এ যান
  2. ডাউনলোড ক্যানোপি ক্লিক করুন
  3. আপনার অপারেটিং সিস্টেমের সাথে সম্পর্কিত ডাউনলোড বোতামে ক্লিক করুন

    ডাউনলোড স্বয়ংক্রিয়ভাবে শুরু হবে।

  4. এক্সিকিউশন ফাইল শুরু করার পরে ইন্সটিলেশন নির্দেশাবলী অনুসরণ করুন
  5. প্রোগ্রাম চালান
  6. প্রোগ্রামের প্রধান মেনু থেকে "সম্পাদক" এ ক্লিক করুন
  7. স্ক্রিনের কেন্দ্রে "একটি নতুন ফাইল তৈরি করুন" এ ক্লিক করুন

এই বিন্দু থেকে আপনার একটি মৌলিক ওয়ার্ড প্রসেসিং ডকুমেন্টের অনুরূপ একটি কার্সার সহ একটি ফাঁকা সাদা উইন্ডো দেখতে হবে। সুনির্দিষ্ট অবিচ্ছেদ্য সমাধানের জন্য আপনি এখন সংখ্যাসূচক ইন্টিগ্রেশন অ্যালগরিদম কোডিং শুরু করার জন্য প্রস্তুত। চলমান ধাপগুলিতে কোডের একটি স্নিপেট থাকবে যা আপনি অনুলিপি করবেন এবং সেই স্নিপেটটি পুরো প্রোগ্রামটির জন্য কী করে তার ব্যাখ্যা।

পদক্ষেপ 5: প্রোগ্রাম তৈরি করা পার্ট 2: ফাংশন আমদানি করা এবং ভেরিয়েবল সংজ্ঞায়িত করা

প্রোগ্রাম তৈরি করা পার্ট 2: ফাংশন আমদানি করা এবং ভেরিয়েবল সংজ্ঞায়িত করা
প্রোগ্রাম তৈরি করা পার্ট 2: ফাংশন আমদানি করা এবং ভেরিয়েবল সংজ্ঞায়িত করা

ছবিতে কোডটি কপি করুন।

যে কোনও প্রোগ্রামের জন্য আপনি নিজেকে কোডিং করতে পারেন, সেখানে ভেরিয়েবল থাকবে। একটি ভেরিয়েবল হল এমন একটি মান যা দেওয়া হয় এবং এটি পরিবর্তিত হতে পারে। বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজে (যদি সব না হয়) প্রোগ্রামটি পরিবর্তন করার আগে আপনাকে একটি পরিবর্তনশীল শুরু করতে হবে। এই প্রোগ্রামের ক্ষেত্রে আমি ভেরিয়েবলের নাম দিয়েছি "N," "a," এবং "b।" এই মানগুলি যথাক্রমে পুনরাবৃত্তির সংখ্যা (আয়তক্ষেত্রের AKA সংখ্যা), নিম্ন সীমানা এবং উপরের সীমানা প্রতিনিধিত্ব করে। আপনি যা চান তার নাম দিতে পারেন, কিন্তু "অ্যালগরিদম পার্ট 3: মিডপয়েন্ট রুল বোঝা" এ প্রদত্ত সূত্রগুলির সাথে মেলে, সেগুলি একই রাখা ভাল। লক্ষ্য করুন যে তারা শুধুমাত্র একটি নির্দিষ্ট মান সেট করা হয় না। এর কারণ হল যে তাদের ইনপুট তৈরি করা হয়, যখন প্রোগ্রামটি চালানো হয়, তখন প্রোগ্রামের ব্যবহারকারী সংজ্ঞায়িত করতে পারে যে মানটি কী হবে। ইনপুট কমান্ডের পরে কোট -এ লেখা, আপনি যখন প্রোগ্রামটি চালাবেন তখন দেখাবে যে কোন ধরনের মান টাইপ করতে হবে। আপনি এটাও লক্ষ্য করবেন যে ইনপুট উপাধির আগে "int" এবং "float" ব্যবহার করা হয়েছে। এই পদগুলি কম্পিউটারকে বলে যে এই মানটি কোন ধরনের পরিবর্তনশীল হবে। একটি "int" একটি পূর্ণসংখ্যা, এবং একটি "float" হল একটি ভাসমান বিন্দুর মান (যেমন একটি দশমিক)। এটি পরিষ্কার হওয়া উচিত কেন এগুলি এইভাবে মনোনীত করা হয়েছে।

"#" এর পরে উপস্থিত যেকোনো টেক্সট একটি মন্তব্য যা প্রোগ্রামারকে মানবিক পদ্ধতিতে কোড অনুসরণ করতে দেয়; আমি আমার কোডে কিছু মন্তব্য করেছি যা আপনি অনুলিপি করবেন, কিন্তু নির্দ্বিধায় কোন মন্তব্য যোগ করুন যা আপনাকে বিশেষভাবে সাহায্য করে। প্রোগ্রামটি কমান্ড হিসাবে তার আগে "#" দিয়ে কিছু পড়বে না।

"গণিত আমদানি *থেকে" লেখা কোডের অংশ প্রোগ্রামটিকে গাণিতিক ফাংশনগুলির একটি অ্যারে আমদানি করতে বলে যা তাদের নিজের মধ্যে প্রোগ্রাম না করেই ব্যবহার করা যেতে পারে। "*" এর অর্থ কেবল "সমস্ত"। কোডের এই অংশটি পড়ুন: গণিত লাইব্রেরি থেকে সমস্ত ফাংশন আমদানি করুন। এটি আপনাকে সাইন, কোসাইন, লগ, এক্সপ, ইত্যাদি গাণিতিক ফাংশন ব্যবহার করতে দেয়। এই ফাংশনগুলি গাণিতিকভাবে কোডের মধ্যে একীভূত হতে পারে।

ধাপ 6: প্রোগ্রাম তৈরি করা পার্ট 3: ইন্টিগ্রেশনের জন্য একটি ফাংশন তৈরি করা

প্রোগ্রাম তৈরি করা পার্ট 3: ইন্টিগ্রেশনের জন্য একটি ফাংশন তৈরি করা
প্রোগ্রাম তৈরি করা পার্ট 3: ইন্টিগ্রেশনের জন্য একটি ফাংশন তৈরি করা

আগের কোডের নিচের ছবিতে কোডটি কপি করুন।

সতর্কতা: এই বিভাগটি ঘন, এবং আমি কিছু জিনিস পরিষ্কার করতে চাই যা সম্ভাব্য বিভ্রান্তিকর হতে পারে। প্রোগ্রামিং সম্পর্কে কথা বলার সময়, "ফাংশন" শব্দটি অনেক পপ আপ হয়। যখন আপনি গণিত সম্পর্কে কথা বলছেন তখন এই শব্দটিও অনেক বেশি পপ আপ করে। সুতরাং, এই মুহুর্ত থেকে, যখন আমি প্রোগ্রামিং অর্থে একটি ফাংশনের কথা বলছি, তখন আমি "পাইথন ফাংশন" লিখব এবং যখন আমি গাণিতিক ফাংশন সম্পর্কে কথা বলব, তখন আমি "গাণিতিক ফাংশন" বলব। কিছু সময়ে আমরা একটি গাণিতিক ফাংশনের জন্য একটি উপস্থাপনা হিসাবে একটি পাইথন ফাংশন ব্যবহার করব।

কোডের এই পরবর্তী স্নিপেট হল প্রোগ্রামের কেন্দ্রবিন্দু। এখানে, একটি পাইথন ফাংশন সংজ্ঞায়িত করা হয়েছে যা মিডপয়েন্ট রুল ব্যবহার করে সংখ্যাসূচক ইন্টিগ্রেশনের অ্যালগরিদম বহন করে। "ডিফ ইন্টিগ্রেট (এন, এ, বি)" এইভাবে পড়ে: "ইন্টিগ্রেটেড" নামে একটি ফাংশন সংজ্ঞায়িত করুন যা "এন," "এ," এবং "বি" ভেরিয়েবল গ্রহণ করে এবং বক্ররেখার নীচের এলাকাটি ফেরত দেয় (গাণিতিক ফাংশন) যা "সংহত" পাইথন ফাংশনের মধ্যেও সংজ্ঞায়িত করা হয়েছে। যখন আপনি কোডিং করবেন তখন আপনি এই পাইথন ফাংশনটিকে যেকোনো কিছু বলতে পারেন, কিন্তু এটিকে ইন্টিগ্রেটেড বলা যুক্তিযুক্ত কারণ এটি একটি ফাংশন যা প্রকৃতপক্ষে একটি গাণিতিক ফাংশনকে সংহত করে।

এই মুহুর্তে পাইথন কীভাবে কোডের ব্লকগুলিকে পৃথক করে তা নিয়ে মন্তব্য করা মূল্যবান। কোডের একটি ব্লক হল একটি সম্পূর্ণ বিভাগ যা একটি নির্দিষ্ট কাজ সম্পাদন করে। বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজে এই "ব্লকগুলি" আলাদা করার জন্য নির্দিষ্ট উপায় থাকবে। পাইথনের জন্য, একটি ব্লক ইন্ডেন্টেশন দ্বারা আলাদা করা হয়: প্রতিটি টাস্ক-পারফর্মিং-সেকশনের নিজস্ব ইন্ডেন্ট থাকে এবং অন্যান্য ইন্ডেন্টেড ব্লকের মধ্যে ইন্ডেন্টেড ব্লক থাকতে পারে। এটি কার্যগুলির মধ্যে কাজগুলিকে প্রতিনিধিত্ব করে এবং মূলত কোডটি যে ক্রমে সম্পাদন করা প্রয়োজন তা বলে। সংজ্ঞায়িত পাইথন ফাংশন "ইন্টিগ্রেট" এর ক্ষেত্রে, সেই ফাংশনের মধ্যে সবকিছুই একটি ব্লককে ইন্ডেন্ট করা হয় এইভাবে সেই ফাংশনের মধ্যে সম্পাদিত কাজগুলিকে আলাদা করে। এই পাইথন ফাংশনের মধ্যে ইন্ডেন্টেড অংশ রয়েছে যা তাদের নিজস্ব কাজগুলিও সম্পাদন করে। এটি নিম্নরূপ: একটি কমান্ড (টাস্ক) নির্ধারিত হয়, একটি কোলন কমান্ড অনুসরণ করে এবং কমান্ডটি যা করে তা নীচে ইন্ডেন্ট করা হয়।

"ইন্টিগ্রেটেড" পাইথন ফাংশন সংজ্ঞায়িত করার পরপরই, আপনি f (x) নামে আরেকটি পাইথন ফাংশন সংজ্ঞায়িত করবেন। এটি গাণিতিক ফাংশনকে প্রতিনিধিত্ব করে যা সংহত করা হবে। প্রতিটি ভিন্ন গাণিতিক ফাংশনের জন্য যা আপনি সংহত করতে চান, আপনাকে এটি পরিবর্তন করতে এই প্রোগ্রাম লাইনে যেতে হবে (প্রোগ্রাম চলাকালীন সংজ্ঞায়িত ভেরিয়েবলের বিপরীতে)। প্রতিটি পাইথন ফাংশনের একটি রিটার্ন ভ্যালু থাকবে, ফাংশনটি যখন আপনি এটি একটি মান নিক্ষেপ করবেন তখনই এটি ফিরে আসবে। এই ক্ষেত্রে নিক্ষিপ্ত মান হল "x," এবং এই "x" শব্দটি আপনি যা ফেলবেন তার মান নেবে-এটি একটি অস্থায়ী মান।

পরবর্তী, একটি ফর-লুপ এই টিউটোরিয়ালের "অ্যালগরিদম বোঝা" বিভাগে সূত্রগুলিতে সংজ্ঞায়িত সংমিশ্রণ হিসাবে কাজ করে। এই সংমিশ্রণে আরও কয়েকটি ভেরিয়েবল প্রয়োজন, যার মধ্যে একটি সম্পূর্ণ "ইন্টিগ্রেটেড" পাইথন ফাংশনের জন্য রিটার্ন মান হিসাবে কাজ করবে। ফর-লুপের আগে, আমি এই ভেরিয়েবলগুলিকে "মান," এবং "মান 2" হিসাবে মনোনীত করেছি। ফর-লুপের কাজ হল একটি নির্দিষ্ট ভেরিয়েবলের জন্য বিভিন্ন মানের উপর পুনরাবৃত্তি করা, যা সুবিধামত ফর-লুপ কমান্ডের মধ্যে সংজ্ঞায়িত করা যেতে পারে; এই ক্ষেত্রে, যে পরিবর্তনশীল হয় "n।" যে পরিসরের জন্য পুনরাবৃত্তি ঘটে তা হল 1 থেকে N+1। আপনার লক্ষ্য করা উচিত যে উপরোক্ত সূত্রগুলিতে সংজ্ঞায়িত সংমিশ্রণ শুধুমাত্র 1 থেকে N পর্যন্ত রেঞ্জ। পরিসীমা ফর-লুপ তারপর আয়তক্ষেত্রের সমস্ত উচ্চতার সমষ্টিকে একসাথে করার অনুমতি দেয় এবং সেই মানটিকে ভেরিয়েবলে সঞ্চয় করে যাকে আমি "মান" বলেছিলাম। এটি কোডের টুকরোতে দেখা যায় যা দেখায়: মান += f (a +((n- (1/2))*((b-a)/N)))।

সেখান থেকে, কোডের পরবর্তী অংশটি "ভ্যালু 2" নামক ভেরিয়েবল ব্যবহার করে যা প্রতিটি আয়তক্ষেত্রের প্রমিত প্রস্থ দ্বারা গুণিত প্রতিটি আয়তক্ষেত্রের সমস্ত উচ্চতার সমষ্টি হিসাবে নির্ধারিত হয়-এটি আমাদের চূড়ান্ত উত্তর যা আমরা চাই আমাদের প্রোগ্রাম দ্বারা প্রদর্শিত, এবং এইভাবে "ইন্টিগ্রেটেড" পাইথন ফাংশনের রিটার্ন ভ্যালু।

ধাপ 7: প্রোগ্রাম তৈরি করা পর্ব 4: উত্তর প্রদর্শন করা

প্রোগ্রাম তৈরি করা পর্ব 4: উত্তর প্রদর্শন করা
প্রোগ্রাম তৈরি করা পর্ব 4: উত্তর প্রদর্শন করা

আগের কোডের নিচের ছবিতে কোডটি কপি করুন।

এখন যেহেতু উত্তরটি "ইন্টিগ্রেটেড" পাইথন ফাংশনের মাধ্যমে পাওয়া যাবে, আমরা এটি প্রদর্শন করতে সক্ষম হতে চাই। এটি ব্যবহারকারী ("N," "a," এবং "b") দ্বারা ইনপুট করা মানগুলিকে "ইন্টিগ্রেটেড" পাইথন ফাংশনে puttingুকিয়ে স্ক্রিনে প্রিন্ট করার ব্যাপার। এই কমান্ডটি লাইন 21 এ দেখানো হয়েছে, এবং এই ধাপটি শেষ করার জন্য আপনাকে যা করতে হবে তা সত্যিই। 19 এবং 20 লাইনের কোডগুলি পুরো প্রোগ্রামের আউটপুটকে "বেশ সুন্দর" করার জন্য রয়েছে। "মুদ্রণ (" ……………………………….. পাঠ্যের সেই লাইনের পরে মুদ্রিত হবে।

ধাপ 8: প্রোগ্রাম চালানো পার্ট 1: প্রোগ্রামটি যথাযথভাবে চালানো

প্রোগ্রাম চালানো পার্ট 1: প্রোগ্রামটি যথাযথভাবে চালানো
প্রোগ্রাম চালানো পার্ট 1: প্রোগ্রামটি যথাযথভাবে চালানো

আপনি যদি ক্যানোপি ব্যবহার না করেন, তাহলে সম্ভবত আপনার এই ধাপটি মোটেও অনুসরণ করার দরকার নেই এবং প্রোগ্রামটি চালানোর জন্য বিভিন্ন পদ্ধতির প্রয়োজন হতে পারে। ক্যানোপিতে, আপনি প্রোগ্রামটি চালাতে সক্ষম হওয়ার আগে, আপনাকে এটি সংরক্ষণ করতে হবে। একটি পাইথন প্রোগ্রামের ফাইলের ধরন একটি.py ফাইল-এটি স্বয়ংক্রিয়ভাবে এই হিসাবে সংরক্ষণ করে। আপনি ফাইলটি কোথায় সংরক্ষণ করতে চান তা চয়ন করুন, তারপরে আপনি প্রোগ্রামটি চালাতে সক্ষম হবেন।

প্রোগ্রাম চালানো:

  1. সবুজ বোতামটি টিপুন যা একটি "প্লে বোতাম" এর মত দেখতে টুল বারে অবস্থিত যেখানে আপনার ফাইলের নাম দেখা যাচ্ছে (ছবি দেখুন)।
  2. প্রোগ্রামটি তখন সম্পাদকের নিচের পর্দায় চলবে যা ক্যানোপি ডেটা-বিশ্লেষণ পরিবেশ নামে পরিচিত। ধরে নিলাম আপনি প্রম্পটগুলো কপি করেছেন যেমনটি আমি লিখেছি, আপনার ক্যানোপি ডেটা-এনালাইসিস এনভায়রনমেন্টের নীচে প্রম্পটটি দেখতে হবে: "আপনি কতবার যোগ করতে চান তা লিখুন (আরও বেশি বার = আরো সঠিক):" (ছবি দেখুন)
  3. আপনি কতবার পুনরাবৃত্তি করতে চান তার জন্য একটি মান লিখুন অর্থাৎ 10000 (আপনি আপনার এলাকায় কত আয়তক্ষেত্র করতে চান), তারপর এন্টার চাপুন।
  4. আরও প্রম্পট স্টেটমেন্টের সাথে প্রদর্শিত হবে যা আপনার ধাপ 5 -এ কোডেড করা পরিচিত ইনপুট প্রম্পট হওয়া উচিত।
  5. অবিচ্ছেদ্য মূল্যায়ন করা উচিত, এবং একটি ফলাফল প্রদর্শিত হওয়া উচিত।

যদি আপনি পূর্ববর্তী ছবিগুলিতে দেখানো প্রোগ্রামটি কোডেড করেন, তাহলে আপনি কিছু সীমানার মধ্যে শুধু f (x) = x^2 সংযুক্ত করেছেন। X^2 এর অবিচ্ছেদ্য হাত দ্বারা মূল্যায়ন করা সহজ, তাই আপনার পরীক্ষা করা উচিত এবং নিশ্চিত করা উচিত যে প্রোগ্রামটি হাত দ্বারা নির্ধারিত সঠিক বিশ্লেষণমূলক মানের খুব ঘনিষ্ঠ উত্তর দিয়েছে। যখন আমি N = 10000, a = 0, এবং b = 10 মান দিয়ে প্রোগ্রামটি চালাই, তখন আমি 333.33333249999964 এর উত্তর পাই। সঠিক বিশ্লেষণাত্মক উত্তর হল 333.333। এটি অবিশ্বাস্যভাবে সঠিক এবং দ্রুত। আপনি মূলত x অক্ষের উপর 0 থেকে 10 এর মধ্যে 10, 000 আয়তক্ষেত্র চেপেছেন এবং বক্ররেখা 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. N মানের জন্য 10000 টাইপ করুন (আপনি কতবার যোগ করতে চান)।
  4. নিম্ন সীমার জন্য "0" রাখুন।
  5. উপরের সীমার জন্য 6.2832 রাখুন (প্রায় 2π)।
  6. আপনি কোন মূল্য পান তা দেখুন।

যখন আমি এটি করেছি, আমি 1.079e-10 এর মান পেয়ে শেষ করেছি: এটি.0000000001079 এর সমান, যা সত্যিই শূন্যের কাছাকাছি, তাই এটি সঠিক বলে মনে হচ্ছে এবং দেখায় যে অ্যালগরিদম পর্যাপ্তভাবে নেতিবাচক এলাকা পরিচালনা করে।

ধাপ 10: প্রোগ্রাম চালানো পার্ট 3: প্রোগ্রাম প্রসারিত করা

এই মুহুর্তে আপনি সম্পন্ন করেছেন: আপনার কাছে পাইথনে কোডিং করা একটি কার্যকরী নির্দিষ্ট অবিচ্ছেদ্য অ্যালগরিদম রয়েছে যা মসৃণভাবে চলে এবং খুব সঠিক উত্তর দেয়। যাইহোক, এই প্রোগ্রাম উন্নত করা যেতে পারে। আমি একজন প্রোগ্রামার নই, এবং পাইথনের সাথে আমার ন্যূনতম অভিজ্ঞতা আছে। প্রকৃতপক্ষে, এই টিউটোরিয়ালটি সম্পন্ন করার জন্য পাইথন ব্যবহার করে আমাকে নিজেকে রিফ্রেশ করতে হয়েছিল, কিন্তু এটি আপনাকে আত্মবিশ্বাস দেয় যে পাইথন শিখতে এত সহজ ভাষা। আমার কথা হল আপনি এই প্রোগ্রামটিকে আরো দক্ষ করে প্রসারিত করতে পারেন, হয়তো কিছু GUI প্রয়োগ করতে পারেন এবং এটিকে আরো ব্যবহারকারী বান্ধব করে তুলতে পারেন।

প্রোগ্রাম সম্প্রসারণ সম্পর্কে আমার চিন্তা:

  • একটি গ্রাফিক ইউজার ইন্টারফেস প্রয়োগ করুন যা আপনাকে ক্যানোপি ইন্টারেক্টিভ ডেটা-বিশ্লেষণ পরিবেশ ব্যবহার না করে প্রোগ্রামটি চালাতে দেয়
  • এটি তৈরি করুন যাতে গাণিতিক ফাংশনটি একত্রিত হওয়ার জন্য প্রোগ্রামের ভিতরে ইনপুট না থাকে, তবে প্রোগ্রামটি চালানোর পরে ইনপুট হতে পারে (আমি প্রথমে এটি করার চেষ্টা করছিলাম, কিন্তু এটি বের করতে পারিনি)।
  • একটি "ইন্টিগ্রেটেড" পাইথন ফাংশনকে সংজ্ঞায়িত করুন যাতে এটি f (x) ফাংশনটি গ্রহণ করে যেমন f (x) ফাংশনটি এর মধ্যে সংজ্ঞায়িত করা হয়।

এগুলি উন্নতির ক্ষেত্রগুলির কয়েকটি উদাহরণ, তবে আমি গ্যারান্টি দিচ্ছি যে আরও অনেক ক্ষেত্র রয়েছে যা এটি উন্নত করা যেতে পারে। সুতরাং আমি এই পদক্ষেপটি এই প্রোগ্রামটির ত্রুটিগুলির উদাহরণ হিসাবে রেখেছি এবং সম্ভবত যে কেউ প্রোগ্রামটিকে আরও উন্নত করতে চায় তার জন্য একটি অনুশীলন।

প্রস্তাবিত: