পাইথন ফাংশনে কীভাবে বিপর্যয়কর বাতিল এড়ানো যায়?


13

সংখ্যাগতভাবে কোনও ফাংশন প্রয়োগ করতে আমার সমস্যা হচ্ছে implementing এটি সত্য যে ভোগে যে বড় ইনপুট মানগুলিতে ফলাফলটি খুব বড় সংখ্যায় বহুগুণ হয় small আমি নিশ্চিত না যে বিপর্যয়কর বাতিলটি সঠিক শব্দ কিনা তাই দয়া করে আমাকে সংশোধন করুন। কিছু খারাপ হওয়ার প্রমাণ:

এখানে চিত্র বর্ণনা লিখুন

আমি কীভাবে c এর বৃহত ইনপুটগুলির জন্য দোলনা এবং ০.০ এর অনুগ্রহ এড়াতে পারি?

এখানে আমার ফাংশন:

import numpy as np

def func(x):
    t = np.exp(-np.pi*x)
    return 1/t*(1-np.sqrt(1-t**2))

উত্তর:


31

একে প্রকৃতপক্ষে বিপর্যয়কর বাতিল বলা হয়। প্রকৃতপক্ষে, এই বিশেষ কেসটি খুব সহজ: সমান, সংখ্যাগত স্থিতিশীল এক্সপ্রেশন ব্যবহার করে ফাংশনটি পুনরায় লিখুন

t1+1t2.
11t21+1t2

এখানে চিত্র বর্ণনা লিখুন


ফ্যান্টাস্টিক! আপনি কি এই জাতীয় কোনও বইয়ের প্রস্তাবনা দিতে পারেন যদি এই কৌশলগুলি উল্লিখিত হয়?
ডিপোল

2
@ জ্যাক "সংখ্যার অ্যালগরিদমের যথার্থতা এবং স্থিতিশীলতা" একটি ভাল উচ্চ স্তরের বই। যে কোনও প্রবর্তক পাঠ্যপুস্তকটিও এটি নিয়ে আলোচনা করবে।
কিরিল

এই গ্রাফটি আঁকতে আপনি ওল্ফ্রাম ম্যাথমেটিকাকে ব্যবহার করেছেন কিনা তা আমি জানতে চাই TH টিএইচএক্স :)
xyz

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

@ ব্যেকো এটি আমার অভিজ্ঞতার দিক থেকে বেশ আদল। আপনার সূত্রকে সঠিক উত্তরের সাথে পরীক্ষা করার উপায় থাকলেও (যদি আপনি কেবল মাত্রাতিরিক্ত অঙ্কিত গাণিতিক দিয়ে তাদের উত্পন্ন করেন) তা করা অনেক সহজ, যাতে পরীক্ষার ক্ষেত্রে ব্যর্থতা না পেয়ে আপনি সংখ্যার অস্থিরতার সন্ধান করতে না যান। এবং যদি এটি সমস্ত জ্ঞাত ইনপুটগুলির জন্য কাজ করে তবে সংখ্যাগত অস্থিতিশীলতা কোথাও উপস্থিত রয়েছে কি নেই তা আসল সমস্যা নেই।
কিরিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.