ریاضی - عملکردهای ریاضی

ساخت وبلاگ

این ماژول دسترسی به عملکردهای ریاضی تعریف شده توسط استاندارد C را فراهم می کند.

این توابع را نمی توان با اعداد پیچیده استفاده کرد. در صورت نیاز به پشتیبانی از شماره های پیچیده ، از توابع به همین نام از ماژول CMATH استفاده کنید. تمایز بین توابعی که از اعداد پیچیده پشتیبانی می کنند و مواردی که انجام نمی شود از آنجا که بیشتر کاربران نمی خواهند به همان اندازه ریاضیات را یاد بگیرند که برای درک اعداد پیچیده لازم است. دریافت یک استثنا به جای یک نتیجه پیچیده ، امکان تشخیص قبلی تعداد پیچیده غیر منتظره ای که به عنوان یک پارامتر استفاده می شود ، امکان پذیر است تا برنامه نویس بتواند تعیین کند که چگونه و چرا در وهله اول تولید می شود.

توابع زیر توسط این ماژول ارائه شده است. به جز وقتی که صریحاً در غیر این صورت ذکر شده باشد ، تمام مقادیر بازگشت شناور هستند.

توابع نظری و نمایندگی شماره

سقف X را برگردانید ، کوچکترین عدد صحیح بزرگتر از یا برابر با x. اگر X شناور نیست ، به X . __ Ceil__ نمایندگی می کند ، که باید یک مقدار انتگرال را برگرداند.

تعداد راه های انتخاب موارد K را از N موارد بدون تکرار و بدون سفارش برگردانید.

همچنین ضریب دوتایی نامیده می شود زیرا معادل ضریب اصطلاح K-TH در گسترش چند جمله ای (1 + x) است.

اگر هر یک از استدلالها عدد صحیح نباشند ، TypeError را افزایش می دهد. اگر هر یک از آرگومان ها منفی باشد ، ارزش را افزایش می دهد.

جدید در نسخه 3. 8.

یک شناور را با بزرگی (مقدار مطلق) x برگردانید اما نشانه y است. بر روی سیستم عامل هایی که از صفرهای امضا شده پشتیبانی می کنند ، Copysign (1. 0 ، -0. 0) -1. 0 برمی گردد.

مقدار مطلق x را برگردانید.

ریاضی. فاکتوریل (N)

بازگرداندن n فاکتوریل به عنوان یک عدد صحیح. اگر n یکپارچه نباشد یا منفی باشد ، ارزش را افزایش می دهد.

از نسخه 3. 9 مستهلک می شود: پذیرش شناورها با مقادیر انتگرال (مانند 5. 0) کاهش می یابد.

کف X را برگردانید ، بزرگترین عدد صحیح کمتر از یا برابر با x. اگر X شناور نیست ، به X . __ Floor__ نمایندگان می پردازند که باید یک مقدار یکپارچه را برگرداند.

FMOD (x ، y) را برگردانید ، همانطور که توسط کتابخانه پلت فرم C تعریف شده است. توجه داشته باشید که بیان پایتون x ٪ y ممکن است نتیجه مشابهی را برنگردد. هدف از استاندارد C این است که fmod (x ، y) دقیقاً (از نظر ریاضی ؛ به دقت بی نهایت) برابر با x - n*y برای برخی از عدد صحیح n به طوری که نتیجه دارای علامت مشابه x و بزرگی کمتر از ABS است (y)در عوض X ٪ Y پایتون نتیجه ای را با علامت Y برمی گرداند و ممکن است برای استدلال های شناور دقیقاً محاسبه نشود. به عنوان مثال ، FMOD (-1E-100 ، 1E100) -1E-100 است ، اما نتیجه Pytho n-1E-100 ٪ 1E100 1E100-1E-100 است ، که نمی تواند دقیقاً به عنوان یک شناور نشان داده شود و دور آن غافلگیر کننده باشد. 1E100. به همین دلیل ، عملکرد FMOD () به طور کلی هنگام کار با شناورها ترجیح داده می شود ، در حالی که X ٪ Y Python هنگام کار با اعداد صحیح ترجیح داده می شود.

Mantissa و Exponent of X را به عنوان جفت (M ، E) برگردانید. m یک شناور است و E یک عدد صحیح است به گونه ای که x == m*2 ** e دقیقاً. اگر x صفر باشد ، باز می گردد (0. 0 ، 0) ، در غیر این صورت 0. 5

ریاضی. fsum (قابل تکرار)

یک مقدار دقیق نقطه شناور از مقادیر را در قابل تکرار برگردانید. با ردیابی چندین مبالغ جزئی میانی از دست دادن دقت خودداری می کند:

صحت الگوریتم به ضمانت نامه IEEE-754 بستگی دارد و موردی معمولی که حالت گرد آن نیمه است. در برخی از ساختمانهای غیر ویندوز ، کتابخانه زیرین C از افزودن دقیق استفاده می کند و ممکن است گاهی اوقات یک مبلغ میانی را دو برابر کند و باعث شود که در کمترین میزان قابل توجه خود خاموش شود.

برای بحث بیشتر و دو رویکرد جایگزین ، برای جمع بندی دقیق نقطه شناور ، به دستور العمل های کتاب آشپزی ASPN مراجعه کنید.

ریاضی. GCD ( * عدد صحیح)

بزرگترین تقسیم کننده مشترک استدلال های عدد صحیح مشخص شده را برگردانید. اگر هر یک از آرگومان ها غیر Zero باشد ، مقدار برگشتی بزرگترین عدد صحیح مثبت است که تقسیم کننده همه استدلال ها است. اگر همه آرگومان ها صفر باشند ، مقدار برگشتی 0 است. GCD () بدون آرگومان 0 باز می گردد.

جدید در نسخه 3. 5.

تغییر در نسخه 3. 9: پشتیبانی از تعداد دلخواه استدلال ها اضافه شده است. قبلاً فقط دو استدلال مورد حمایت قرار گرفت.

اگر مقادیر A و B به یکدیگر نزدیک باشند و در غیر این صورت نادرست باشند ، درست برگردید.

این که آیا دو مقدار نزدیک در نظر گرفته می شوند یا نه ، با توجه به تحمل مطلق و نسبی تعیین می شود.

REL_TOL تحمل نسبی است - این حداکثر اختلاف مجاز بین A و B است ، نسبت به مقدار مطلق بزرگتر A یا B. به عنوان مثال ، برای تعیین تحمل 5 ٪ ، Pass REL_TOL = 0. 05. تحمل پیش فرض 1E-09 است که اطمینان می دهد که این دو مقدار در حدود 9 رقم اعشاری یکسان هستند. REL_TOL باید بیشتر از صفر باشد.

ABS_TOL حداقل تحمل مطلق است - برای مقایسه نزدیک به صفر مفید است. ABS_TOL باید حداقل صفر باشد.

مقادیر ویژه IEEE 754 NAN ، INF و-INF طبق قوانین IEEE اداره می شود. به طور خاص ، NAN نزدیک به هیچ مقدار دیگری از جمله NAN در نظر گرفته نمی شود. Inf و-inf فقط نزدیک خودشان در نظر گرفته می شوند.

جدید در نسخه 3. 5.

PEP 485 - تابعی برای آزمایش برابری تقریبی

اگر X نه بی نهایت و نه نان و غیر از آن نادرست است ، درست برگردید.(توجه داشته باشید که 0. 0 محدود در نظر گرفته می شود.)

جدید در نسخه 3. 2.

اگر x بی نهایت مثبت یا منفی است و در غیر این صورت نادرست است.

اگر X یک نان (نه یک شماره) است و در غیر این صورت نادرست است.

ریشه مربع عدد صحیح از عدد صحیح غیر منفی را برگردانید. این کف ریشه مربع دقیق N است ، یا به طور معادل بزرگترین عدد صحیح A به گونه ای که A ² ≤ n.

برای برخی از برنامه ها ، ممکن است راحت تر باشد که کمترین عدد صحیح را داشته باشید به گونه ای که n ≤ a ² یا به عبارت دیگر سقف ریشه مربع دقیق n. برای مثبت N ، این می تواند با استفاده از A = 1 + ISQRT (N - 1) محاسبه شود.

جدید در نسخه 3. 8.

کمترین متداول آرگومان عدد صحیح مشخص شده را برگردانید. اگر همه آرگومان ها غیر Zero باشند ، مقدار برگشتی کوچکترین عدد صحیح مثبت است که چندین مورد از همه استدلال ها است. اگر هر یک از آرگومان ها صفر باشد ، مقدار برگشتی 0 است. LCM () بدون استدلال 1.

جدید در نسخه 3. 9.

بازگشت x*(2 ** i). این در اصل معکوس عملکرد FREXP () است.

قسمت های کسری و عدد صحیح x را برگردانید. هر دو نتیجه علائم X را دارند و شناور هستند.

مقدار نقطه شناور بعدی را پس از X به سمت y برگردانید.

Math. nextafter (x ، math. inf) بالا می رود: به سمت بی نهایت مثبت.

math. nextafter (x ، -math. inf) پایین می رود: به سمت منهای بی نهایت.

math. nextafter (x ، 0. 0) به سمت صفر می رود.

math. nextafter (x ، math. copysign (math. inf ، x)) از صفر دور می شود.

جدید در نسخه 3. 9.

تعداد راه های انتخاب موارد K را از N موارد بدون تکرار و با سفارش برگردانید.

اگر K مشخص نشده باشد یا هیچ کدام نیست ، پس K به طور پیش فرض به N و عملکرد باز می گردد! بشر

اگر هر یک از استدلالها عدد صحیح نباشند ، TypeError را افزایش می دهد. اگر هر یک از آرگومان ها منفی باشد ، ارزش را افزایش می دهد.

جدید در نسخه 3. 8.

محصول تمام عناصر موجود در ورودی را محاسبه کنید. مقدار شروع پیش فرض برای محصول 1 است.

هنگامی که تکرار شده خالی است ، مقدار شروع را برگردانید. این عملکرد به طور خاص برای استفاده با مقادیر عددی در نظر گرفته شده است و ممکن است انواع غیر عددی را رد کند.

جدید در نسخه 3. 8.

باقیمانده X به سبک IEEE 754 را با توجه به y برگردانید. برای X و Nonzero Y محدود محدود ، این تفاوت x - n*y است ، جایی که n نزدیکترین عدد صحیح به مقدار دقیق مقدار x / y است. اگر x / y دقیقاً در نیمه راه بین دو عدد صحیح متوالی باشد ، نزدیکترین عدد صحیح برای n استفاده می شود. باقیمانده R = باقیمانده (x ، y) بنابراین همیشه ABS (R) را برآورده می کند

موارد خاص از IEEE 754 پیروی می کنند: به ویژه ، باقیمانده (x ، math. inf) برای هر x محدود x است ، و باقیمانده (x ، 0) و باقیمانده (math. inf ، x) برای هر نوع NAN X ValueError را افزایش می دهد. اگر نتیجه عملکرد باقیمانده صفر باشد ، صفر همان علامت X را خواهد داشت.

بر روی سیستم عامل های با استفاده از IEEE 754 باینری نقطه شناور ، نتیجه این عملیات همیشه دقیقاً قابل نمایش است: هیچ خطای گرد معرفی نمی شود.

جدید در نسخه 3. 7.

X را با قسمت کسری برداشته شده برگردانید و قسمت عدد صحیح را ترک کنید. این دور به سمت 0: trunc () معادل کف () برای x مثبت است و معادل سقف () برای x منفی. اگر X شناور نیست ، به X . __ Trunc__ نمایندگان می دهند که باید یک مقدار انتگرال را برگرداند.

مقدار کمترین قابل توجهی از float x را برگردانید:

اگر X یک نان (شماره) نیست ، x را برگردانید.

اگر x منفی است ، ULP (-x) را برگردانید.

اگر x بی نهایت مثبت است ، x را برگردانید.

اگر x برابر با صفر است ، کوچکترین شناور قابل نمایش مثبت را برگردانید (کوچکتر از حداقل شناور نرمال شده مثبت ، sys. float_info. min).

اگر x برابر با بزرگترین شناور قابل مشاهده مثبت است ، مقدار کمترین میزان قابل توجه x را برگردانید ، به گونه ای که شناور اول کوچکتر از x x - ulp (x) است.

در غیر این صورت (x یک عدد محدود مثبت است) ، مقدار کمترین مقدار قابل توجهی از x را برگردانید ، به گونه ای که اولین شناور بزرگتر از X X + ULP (X) است.

ULP مخفف "واحد در مکان آخر" است.

جدید در نسخه 3. 9.

توجه داشته باشید که FREXP () و MODF () از الگوی تماس/بازگشت متفاوتی نسبت به معادل های C خود دارند: آنها یک آرگومان واحد را می گیرند و یک جفت از مقادیر را باز می گردانند ، نه اینکه مقدار بازگشت دوم خود را از طریق "پارامتر خروجی" برگردانند (وجود ندارد. چنین چیزی در پایتون).

For the ceil() , floor() , and modf() functions, note that all floating-point numbers of sufficiently large magnitude are exact integers. Python floats typically carry no more than 53 bits of precision (the same as the platform C double type), in which case any float x with abs(x) >= 2 ** 52 لزوماً هیچ بیت کسری ندارد.

توابع قدرت و لگاریتمی ¶

ریشه مکعب x را برگردانید.

جدید در نسخه 3. 11.

بازگشت به قدرت x ، جایی که e = 2. 718281 ... پایه لگاریتم های طبیعی است. این معمولاً دقیق تر از Math. e ** X یا Pow (Math. E ، X) است.

2 را به قدرت x برگردانید.

جدید در نسخه 3. 11.

بازگرداندن E به قدرت x ، منهای 1. در اینجا E پایه لگاریتم های طبیعی است. برای شناورهای کوچک X ، تفریق در Exp (x) - 1 می تواند منجر به از بین رفتن قابل توجهی از دقت شود. عملکرد EXPM1 () راهی برای محاسبه این مقدار به دقت کامل ارائه می دهد:

جدید در نسخه 3. 2.

با یک آرگومان ، لگاریتم طبیعی x (به پایه e) را برگردانید.

با دو آرگومان ، لگاریتم X را به پایه داده شده برگردانید ، به عنوان log (x)/log (پایه) محاسبه می شود.

لگاریتم طبیعی 1+x (پایه E) را برگردانید. نتیجه به روشی محاسبه می شود که برای x نزدیک صفر دقیق است.

لگاریتم Base-2 از x را برگردانید. این معمولاً دقیق تر از ورود به سیستم است (x ، 2).

جدید در نسخه 3. 3.

int. bit_l طول () تعداد بیت های لازم برای نشان دادن یک عدد صحیح در باینری را به استثنای علامت و صفرهای پیشرو برمی گرداند.

لگاریتم پای ه-10 x را برگردانید. این معمولاً دقیق تر از ورود به سیستم است (x ، 10).

بازگشت x را به قدرت y برگردانید. موارد استثنایی تا آنجا که ممکن است از استاندارد IEEE 754 پیروی کنید. به طور خاص ، POW (1. 0 ، X) و POW (x ، 0. 0) همیشه 1. 0 را برمی گرداند ، حتی اگر X صفر یا یک نان باشد. اگر هر دو x و y محدود باشند ، x منفی است ، و y یک عدد صحیح نیست ، POW (x ، y) تعریف نشده است و ValueError را افزایش می دهد.

بر خلاف اپراتور داخلی ** ، Math. pow () هر دو آرگومان خود را به نوع شناور تبدیل می کند. برای محاسبه قدرت دقیق عدد صحیح از ** یا تابع POW () داخلی استفاده کنید.

در نسخه 3. 11 تغییر یافته است: موارد ویژه POW (0. 0 ، -inf) و POW (-0. 0 ، -inf) برای بازگشت به INF به جای افزایش ارزش گذاری ، برای سازگاری با IEEE 754 تغییر یافتند.

ریشه مربع x را برگردانید.

توابع مثلثاتی

قوس قوس X را در رادیان برگردانید. نتیجه بین 0 و PI است.

قوس X را در رادیان برگردانید. نتیجه بی ن-PI/2 و PI/2 است.

قوس مماس X را در رادیان برگردانید. نتیجه بی ن-PI/2 و PI/2 است.

Atan (Y / X) را در رادیان برگردانید. نتیجه بی ن-PI و PI است. بردار موجود در هواپیما از مبدا تا نقطه (x ، y) این زاویه را با محور x مثبت ایجاد می کند. نکته Atan2 () این است که علائم هر دو ورودی به آن شناخته شده است ، بنابراین می تواند ربع صحیح را برای زاویه محاسبه کند. به عنوان مثال ، atan (1) و atan2 (1 ، 1) هر دو pi/4 هستند ، اما atan2 (-1 ، -1) -3*pi/4 است.

بازگردانی رادیان X را برگردانید.

فاصله اقلیدسی را بین دو نقطه p و q برگردانید ، هر یک به عنوان توالی (یا قابل تکرار) مختصات داده می شود. این دو نقطه باید یک ابعاد یکسان داشته باشند.

تقریباً معادل:

جدید در نسخه 3. 8.

بازگشت هنجار اقلیدسی ، SQRT (جمع (x ** 2 برای x در مختصات)). این طول بردار از مبدا تا نقطه ای است که توسط مختصات داده شده است.

برای یک نقطه دو بعدی (x ، y) ، این معادل محاسبه هیپوتنوز مثلث راست با استفاده از قضیه فیثاغورین ، SQRT (x*x + y*y) است.

تغییر در نسخه 3. 8: پشتیبانی اضافه شده از نقاط بعدی N. قبلاً فقط از این دو بعدی حمایت می شد.

در نسخه 3. 10 تغییر یافته است: دقت الگوریتم را بهبود بخشید تا حداکثر خطا تحت 1 ULP (واحد در مکان آخر) باشد. به طور معمول ، نتیجه تقریباً به درستی در 1/2 ULP گرد است.

سین رادیان X را برگردانید.

مماس رادیان X را برگردانید.

تبدیل زاویه ای ¶

زاویه X را از رادیان به درجه تبدیل کنید.

زاویه X را از درجه به رادیان تبدیل کنید.

توابع هیپربولیک

توابع هیپربولیک آنالوگ عملکردهای مثلثاتی است که به جای دایره ها بر اساس hyperbolas است.

کپسین هیپربولیک معکوس x را برگردانید.

سینوسی Hyperbolic معکوس X را برگردانید.

مماس هیپربولیک معکوس x را برگردانید.

بازگردانی Hyperbolic از x را برگردانید.

سینوس هایپربولیک x را برگردانید.

مماس هیپربولیک x را برگردانید.

توابع خاص

از عملکرد ERF () می توان برای محاسبه عملکردهای آماری سنتی مانند توزیع عادی استاندارد تجمعی استفاده کرد:

جدید در نسخه 3. 2.

عملکرد خطای مکمل را در x برگردانید. عملکرد خطای مکمل به عنوان 1. 0 - erf (x) تعریف شده است. از آن برای مقادیر بزرگ x استفاده می شود که در آن تفریق از یک باعث از بین رفتن اهمیت می شود.

جدید در نسخه 3. 2.

جدید در نسخه 3. 2.

لگاریتم طبیعی مقدار مطلق عملکرد گاما را در x برگردانید.

جدید در نسخه 3. 2.

ثابت ها

ثابت ریاضی π = 3. 141592 ... ، به دقت در دسترس.

ثابت ریاضی e = 2. 718281 ... ، به دقت در دسترس.

ثابت ریاضی τ = 6. 283185 ... ، به دقت در دسترس. تاو یک دایره ثابت برابر با 2 π است ، نسبت دور یک دایره به شعاع آن. برای کسب اطلاعات بیشتر در مورد تاو ، ویدیوی Vi Hart را ببینید که PI (هنوز هم) اشتباه است ، و با خوردن دو برابر بیشتر پای ، روز تاو را جشن بگیرید!

جدید در نسخه 3. 6.

بی نهایت مثبت شناور.(برای بی نهایت منفی ، ا ز-math. inf استفاده کنید.) معادل خروجی شناور ("inf").

جدید در نسخه 3. 5.

مقدار شناور "نه یک عدد" (NAN). معادل خروجی شناور ("نان"). با توجه به الزامات استاندارد IEEE-754 ، Math. Nan و Float ('NAN') برابر با هر مقدار عددی دیگر ، از جمله خودشان در نظر گرفته نمی شوند. برای بررسی اینکه آیا یک شماره NAN است ، از عملکرد ISNAN () استفاده کنید تا به جای آن = یا == برای NANS آزمایش کنید. مثال:

در نسخه 3. 11 تغییر کرده است: اکنون همیشه در دسترس است.

جدید در نسخه 3. 5.

جزئیات اجرای cpython: ماژول ریاضی بیشتر از بسته های نازک در اطراف توابع کتابخانه ریاضی پلت فرم C تشکیل شده است. رفتار در موارد استثنایی از ضمیمه F از استاندارد C99 در صورت لزوم پیروی می کند. اجرای فعلی باعث افزایش ValueError برای عملیات نامعتبر مانند SQRT (-1. 0) یا ورود به سیستم (0. 0) می شود (جایی که C99 ضمیمه F توصیه می کند عملکرد نامعتبر یا تقسیم به صفر) و سرریز برای نتایج حاصل از سرریز (به عنوان مثال ، EXP (1000. 0)). NAN از هیچ یک از کارکردهای فوق بازگردانده نمی شود مگر اینکه یک یا چند استدلال ورودی NAN باشد. در این حالت ، اکثر کارکردها یک NAN را برمی گردانند ، اما (دوباره پیروی از ضمیمه C99 F) استثنائاتی در این قانون وجود دارد ، به عنوان مثال POW (Float ("NAN") ، 0. 0) یا Hypot (float ('nan') ،float ('inf')).

توجه داشته باشید که پایتون هیچ تلاشی برای تمایز سیگنالینگ NANS از NAN های آرام انجام نمی دهد ، و رفتار برای سیگنالینگ NANS نامشخص است. رفتار معمولی این است که با همه NAN ها رفتار کنید که گویی ساکت بودند.

پایگاه های معاملاتی...
ما را در سایت پایگاه های معاملاتی دنبال می کنید

برچسب : نویسنده : فرشته صدرعرفایی بازدید : 55 تاريخ : دوشنبه 7 فروردين 1402 ساعت: 17:15