رسم نمودار توابع مثلثاتی - تجسم سینوس، کسینوس، تانژانت
این ابزار نمودار توابع مثلثاتی سینوس، کسینوس و تانژانت را بهصورت تعاملی رسم میکند. با تغییر دامنه، فرکانس و جابجایی فاز بهطور آنی، شکل موج قابل مشاهده است.
رسمگر توابع مثلثاتی
پارامترهای تابع
نمودار تابع
مستندات
تابع مثلثاتی چیست؟
هنگامی که با توابع مثلثاتی مانند سینوس، کسینوس و تانژانت کار میکنید، دیدن آنها در عمل تفاوت بزرگی ایجاد میکند. این رسمگر به شما اجازه میدهد تا این روابط ریاضی اساسی را با رسم آنها در زمان واقعی و با پارامترهای قابل سفارشیسازی مرئی کنید. چه چیزی آن را بهویژه مفید میکند؟ میتوانید بلافاصله ببینید که تغییر دامنه، فرکانس یا جابجایی فاز چگونه بر الگوی موج تأثیر میگذارد - چیزی که از فرمولها به تنهایی درک آن دشوار است.
از کار با دانشجویان و مهندسان این را دریافتهام: لحظهای که میتوانید این پارامترها را دستکاری کنید و نمودار را پاسخ دهنده ببینید، مفاهیم انتزاعی ناگهان واضح میشوند. شما قادر خواهید بود دامنه (ارتفاع امواج)، فرکانس (فشردگی آنها) و جابجایی فاز (حرکت افقی) را تنظیم کنید تا رفتار توابع سینوس، کسینوس و تانژانت را بررسی کنید.
درک توابع مثلثاتی
توابع مثلثاتی نسبتهای اضلاع در یک مثلث قائمالزاویه یا رابطه بین یک زاویه و نقطهای روی دایره واحد را توصیف میکنند. چه چیزی آنها را در کاربردهای دنیای واقعی قدرتمند میسازد؟ آنها دورهای هستند—در فواصل منظم تکرار میشوند—به همین دلیل آنها را در همه جا از امواج صوتی تا مدارهای برقی متناوب و الگوهای دمای فصلی مییابید.
توابع مثلثاتی پایه
تابع سینوس
تابع سینوس نسبت ضلع مقابل به وتر در یک مثلث قائمالزاویه را نشان میدهد. در دایره واحد، مختصات y یک نقطه در زاویه x را میدهد. آن را به عنوان مؤلفه عمودی حرکت دایرهای در نظر بگیرید.
فرم استاندارد:
ویژگیهای کلیدی که استفاده خواهید کرد:
- دامنه: تمام اعداد حقیقی
- برد: [-1, 1] (نوسان بین این محدوده)
- دوره: (تکرار هر ~6.28 واحد)
- تابع فرد: (متقارن نسبت به مبدأ)
در عمل، امواج سینوسی همه چیز از سیگنالهای صوتی تا جریان متناوب را مدل میکنند. وقتی یک نت موسیقایی خالص را میشنوید، در واقع یک موج سینوسی با فرکانس خاص را میشنوید.
تابع کسینوس
تابع کسینوس نسبت ضلع مجاور به وتر در یک مثلث قائمالزاویه را نشان میدهد. در دایره واحد، مختصات x یک نقطه در زاویه x است—در اساس مؤلفه افقی حرکت دایرهای.
فرم استاندارد:
ویژگیهای کلیدی:
- دامنه: تمام اعداد حقیقی
- برد: [-1, 1]
- دوره:
- تابع زوج: (متقارن نسبت به محور y)
چیز جالب اینجاست: کسینوس فقط سینوس جابجا شده به اندازه رادیان (90 درجه) است. در مهندسی برق، این اختلاف فاز هنگام تحلیل مدارهای متناوب با اجزای راکتیو مانند خازنها و سلفها بسیار مهم است.
تابع تانژانت
تابع تانژانت نسبت ضلع مقابل به ضلع مجاور در یک مثلث قائمالزاویه را نشان میدهد. میتوانید آن را به صورت نیز در نظر بگیرید، که توضیح میدهد چرا آن خطوط قائم عمودی جالب دارد.
فرم استاندارد:
ویژگیهای کلیدی:
- دامنه: تمام اعداد حقیقی به جز (که n هر عدد صحیح است)
- برد: تمام اعداد حقیقی (نامحدود!)
- دوره: (نصف دوره سینوس/کسینوس)
- تابع فرد:
- خطوط قائم عمودی: در (که در آن )
اشتباه رایج: فراموش کردن اینکه تانژانت در آن خطوط قائم به سمت بینهایت میرود. این اتفاق زمانی رخ میدهد که شما بر صفر تقسیم میکنید زمانی که . در ناوبری و نقشهبرداری، تانژانت زاویه را به شیب مرتبط میکند—اگر زاویه ارتفاع و فاصله افقی را بدانید، تانژانت ارتفاع را میدهد.
توابع مثلثاتی اصلاح شده
کاربردهای دنیای واقعی به ندرت از توابع سینوس یا کسینوس خالص استفاده میکنند. شما معمولاً پارامترها را برای تطبیق با سناریوی خاص خود تنظیم خواهید کرد. فرم کلی:
که در آن:
- A دامنه است (کنترل ارتفاع—مانند بلندی در صدا یا ولتاژ در الکترونیک)
- B فرکانس است (کنترل فشردگی موج—مقادیر بالاتر به معنای چرخههای بیشتر)
- C جابجایی فاز است (موقعیت افقی—بحرانی برای مقایسه همترازی موج)
- D جابجایی عمودی است (کل موج را به بالا یا پایین حرکت میدهد—خط پایه یا آفست DC شما)
این اصلاحات برای توابع کسینوس و تانژانت نیز یکسان عمل میکنند. عملی بودن آن چیست؟ میتوانید یک سیگنال برقی 60 هرتز با دامنه 120 ولت را به صورت مدل کنید، یا تغییرات دمای روزانه که حول 72 درجه فارنهایت نوسان میکند.
چگونه از رسم نمودار توابع مثلثاتی استفاده کنیم
رسمگر بلافاصله با تنظیم پارامترها بهروز میشود که آزمایش را طبیعی و شهودی میکند. در اینجا نحوه بیشترین استفاده از آن آمده است:
-
انتخاب تابع: سینوس، کسینوس یا تانژانت را از منوی کشویی انتخاب کنید. اگر تازه کار هستید، با سینوس شروع کنید - درک آن آسانتر است.
-
تنظیم پارامترها:
- دامنه: ارتفاع موج شما را کنترل میکند. آن را روی 2 تنظیم کنید و ببینید سینوس از [-2، 2] به جای [-1، 1] کشیده میشود. برای تانژانت، این بر شیب منحنی به سمت نقاط نامتناهی تأثیر میگذارد.
- فرکانس: فشردگی موج را تعیین میکند. آن را روی 2 تنظیم کنید و خواهید دید که دو چرخه کامل در جایی که معمولاً یک چرخه میبینید، ظاهر میشود. این برای درک هارمونیکهای موسیقی یا تحلیل سیگنال اساسی است.
- جابجایی فاز: کل نمودار را به چپ یا راست میلغزاند. این همان چیزی است که باعث میشود یک موج سینوسی مانند موج کسینوسی به نظر برسد (با جابجایی π/2).
-
مشاهده بهروزرسانیهای بلادرنگ: نمودار بلافاصله به تغییرات شما پاسخ میدهد. این بازخورد فوری باعث میشود مفهوم در ذهن بماند - بسیار بهتر از رسم نقاط با دست.
-
مطالعه نقاط بحرانی: به جایی که تابع از صفر عبور میکند، به اوج میرسد یا به نقاط نامتناهی (برای تانژانت) میرسد، توجه کنید. این نقاط همه چیز را درباره رفتار تابع میگویند.
-
کپی فرمول: از دکمه کپی برای ذخیره تابع فعلی خود استفاده کنید. شما به این برای تکالیف خانگی، گزارشها یا پیادهسازی تابع در کد نیاز خواهید داشت.
نکاته برای رسم نمودار مؤثر
آنچه در عمل خوب کار میکند:
-
ساده شروع کنید: همیشه با مقادیر پیشفرض شروع کنید (دامنه = 1، فرکانس = 1، جابجایی فاز = 0). قبل از افزودن پیچیدگی، شهود خود را بسازید.
-
یک چیز را در هر زمان تغییر دهید: این بسیار مهم است. اگر دامنه و فرکانس را همزمان تنظیم کنید، نمیدانید کدام یک باعث چه تغییری شده است. متغیرها را مانند هر آزمایشی جدا کنید.
-
به نقاط نامتناهی توجه کنید: هنگام کار با تانژانت، آن خطوط عمودی خطا نیستند - آنها نقاط نامتناهی هستند که تابع در آنها تعریف نشده است. آنها در فواصل منظم () رخ میدهند.
-
توابع را کنار هم مقایسه کنید: بین سینوس و کسینوس با پارامترهای یکسان جابجا شوید. خواهید دید که کسینوس فقط سینوس با جابجایی 90 درجه است. این رابطه در پردازش سیگنال اساسی است.
-
مقادیر حدی را امتحان کنید: دامنه = 10 یا فرکانس = 0.1 را امتحان کنید. درک موارد حدی از غافلگیریها در دادههای غیرعادی در پروژههای واقعی جلوگیری میکند.
فرمولهای ریاضی و محاسبات
رسمگر توابع مثلثاتی از فرمولهای زیر برای محاسبه و نمایش نمودارها استفاده میکند:
تابع سینوس با پارامترها
که در آن:
- A = دامنه
- B = فرکانس
- C = جابجایی فاز
تابع کسینوس با پارامترها
که در آن:
- A = دامنه
- B = فرکانس
- C = جابجایی فاز
تابع تانژانت با پارامترها
که در آن:
- A = دامنه
- B = فرکانس
- C = جابجایی فاز
مثال محاسبه
برای تابع سینوس با دامنه = 2، فرکانس = 3، و جابجایی فاز = π/4:
برای محاسبه مقدار در x = π/6:
کاربردهای واقعی برای رسم توابع مثلثاتی
توابع مثلثاتی را در جاهای غیرمنتظرهای خواهید یافت. در اینجا مواردی است که این رسمگر واقعاً مفید است:
آموزش و یادگیری
- آموزش مثلثات: دریافتهام که دانشآموزان مفاهیم دامنه و فرکانس را ظرف چند دقیقه درک میکنند وقتی میتوانند آنها را به صورت بصری دستکاری کنند. فرمولهای انتزاعی ناگهان معنا پیدا میکنند وقتی موج را در زمان واقعی کش میدهید یا فشرده میکنید.
- تأیید تکالیف خانگی: اشتباه محاسباتی کردهاید؟ پاسخ خود و نتیجه مورد انتظار را رسم کنید. اگر مطابقت نداشتند، مشکل را بلافاصله میبینید.
- ایجاد شهود: خواندن یک چیز میگوید. دیدن آن همه چیز را میگوید—از کجا شروع میشود، چقدر نوسان میکند، قلهها کجا رخ میدهند.
فیزیک و مهندسی
- پدیدههای موجی: امواج صوتی در اساس موجهای سینوسی هستند. نت "A" با 440 هرتز به صورت مدل میشود. هنگام اشکالزدایی کد پردازش صوتی یا تحلیل اندازهگیریهای آکوستیکی، نمایش موج به شما کمک میکند تا فرکانس و دامنه را تأیید کنید.
- تحلیل مدارهای AC: مهندسان برق روزانه با ولتاژها و جریانهای سینوسی سر و کار دارند. برق خانگی استاندارد آمریکا ولت است. اختلاف فاز هنگام محاسبه ضریب توان یا تحلیل اجزای راکتیو بسیار مهم است.
- ارتعاشات مکانیکی: فنرها و آونگها از حرکت سینوسی پیروی میکنند. اگر در حال تحلیل ارتعاشات ساختاری یا طراحی سیستمهای تعلیق هستید، این نمودارها فرکانسهای طبیعی و شرایط تشدید را نشان میدهند.
- پردازش سیگنال: هر سیگنال پیچیدهای را میتوان به اجزای سینوس و کسینوس تجزیه کرد (تحلیل فوریه). این رسمگر به شما کمک میکند تا هر جزء را قبل از مواجهه با پیچیدگی کامل درک کنید.
[ترجمه ادامه دارد...]
تاریخچه توابع مثلثاتی و نمایش گرافیکی آنها
توسعه توابع مثلثاتی و نمایش گرافیکی آنها هزاران سال طول کشیده است و از کاربردهای عملی به نظریه ریاضی پیچیده تکامل یافته است.
خاستگاه باستانی
مثلثات با نیازهای عملی نجوم، ناوبری و زمینشناسی در تمدنهای باستانی آغاز شد:
- بابلیها (حدود ۱۹۰۰-۱۶۰۰ پیش از میلاد): جدولهای مقادیر مرتبط با مثلثهای قائمالزاویه را ایجاد کردند.
- مصریان باستان: از اشکال اولیه مثلثات برای ساخت هرم استفاده میکردند.
- یونانیان باستان: هیپارکوس (حدود ۱۹۰-۱۲۰ پیش از میلاد) اغلب به عنوان "پدر مثلثات" شناخته میشود که اولین جدول توابع وتر را ایجاد کرد، پیشدرآمدی بر تابع سینوس.
توسعه توابع مثلثاتی مدرن
- ریاضیات هندی (۴۰۰-۱۲۰۰ میلادی): ریاضیدانانی مانند آریابهاتا توابع سینوس و کسینوس را به شکلی که امروز میشناسیم توسعه دادند.
- عصر طلایی اسلامی (قرن ۸-۱۴ میلادی): دانشمندانی مانند خوارزمی و بتانی دانش مثلثاتی را گسترش دادند و جدولهای دقیقتری ایجاد کردند.
- عصر رنسانس اروپا: ریجیومونتانوس (۱۴۳۶-۱۴۷۶) جدولها و فرمولهای مثلثاتی جامعی را منتشر کرد.
نمایش گرافیکی
نمایش توابع مثلثاتی به صورت نمودارهای پیوسته توسعهای نسبتاً جدید است:
- رنه دکارت (۱۵۹۶-۱۶۵۰): اختراع دستگاه مختصات دکارتی امکان نمایش گرافیکی توابع را فراهم کرد.
- لئونارد اویلر (۱۷۰۷-۱۷۸۳): مشارکتهای چشمگیری در مثلثات داشت، از جمله فرمول مشهور اویلر ()، که توابع مثلثاتی را به توابع نمایی مرتبط میکند.
- ژوزف فوریه (۱۷۶۸-۱۸۳۰): سریهای فوریه را توسعه داد و نشان داد که توابع دورهای پیچیده میتوانند به عنوان مجموع توابع ساده سینوس و کسینوس نمایش داده شوند.
عصر مدرن
- قرن ۱۹: توسعه حساب دیفرانسیل و انتگرال درک عمیقتری از توابع مثلثاتی فراهم کرد.
- قرن ۲۰: ماشینهای حساب الکترونیکی و کامپیوترها توانایی محاسبه و تجسم توابع مثلثاتی را انقلابی کردند.
- قرن ۲۱: ابزارهای تعاملی آنلاین (مانند این نمودارگر) توابع مثلثاتی را برای همه با دسترسی به اینترنت در دسترس قرار دادهاند.
سؤالات متداول
توابع مثلثاتی چیستند؟
توابع مثلثاتی زوایا را به نسبتهای مثلث قائمالزاویه مرتبط میکنند. سه تابع اصلی سینوس، کسینوس و تانژانت هستند (معکوس آنها - کوسکانت، سکانت و کوتانژانت - کمتر استفاده میشوند). اینها فقط مفاهیم نظری ریاضی نیستند؛ آنها پایه توصیف هر چیزی که نوسان یا چرخش دارد هستند: امواج، حرکت دایرهای، جریان متناوب، چرخههای فصلی و غیره. شما آنها را در فیزیک، مهندسی، گرافیک کامپیوتر و علوم داده مییابید.
چرا باید توابع مثلثاتی را تصویرسازی کنم به جای استفاده از فرمولها؟
موضوع این است: نگاه کردن به ریاضیات را نشان میدهد اما درک شهودی ایجاد نمیکند. وقتی آن را رسم میکنید، بلافاصله میبینید که دو برابر بلندتر از حالت معمولی نوسان میکند، سه برابر سریعتر چرخه میزند و به سمت چپ جابجا شده است. نمودارها الگوها، صفرها، قلهها و نقاط بینهایت را در یک نگاه نشان میدهند. این درک بصری در تحلیل تداخل امواج، اشکالزدایی کد پردازش سیگنال یا توضیح مفاهیم به دیگران ضروری است.
پارامتر دامنه چه کاری انجام میدهد؟
دامنه ارتفاع را کنترل میکند - چقدر موج شما به صورت عمودی کشیده میشود. برای سینوس و کسینوس، این فاصله از خط مرکزی تا قله است. دامنه را روی 2 تنظیم کنید و موج سینوس از -2 تا +2 به جای -1 تا +1 استاندارد میرسد. در کاربردهای واقعی، دامنه مقادیر فیزیکی را نشان میدهد: ولتاژ در مدارها (120 ولت)، فشار صوت در آکوستیک یا جابجایی در سیستمهای مکانیکی. دامنه بزرگتر = امواج بلندتر.
پارامتر فرکانس چه کاری انجام میدهد؟
فرکانس نحوه فشرده یا کشیده شدن موج را به صورت افقی کنترل میکند - اساساً چند چرخه کامل در یک فضای داده شده جا میگیرد. را تنظیم کنید و خواهید دید که دو چرخه کامل در فضایی که یک چرخه کامل میکند. فرکانس بالاتر یعنی نوسانات بیشتر. در شرایط عملی: فرکانس بالاتر صوتی = پیچ بالاتر، فرکانس بالاتر امواج الکترومغناطیسی = انرژی بیشتر (مقایسه کنید رادیو با اشعه ایکس).
پارامتر جابجایی فاز چه کاری انجام میدهد؟
جابجایی فاز کل نمودار را بدون تغییر شکل آن به چپ یا راست میلغزاند. مقادیر مثبت به چپ جابجا میکنند (برخلاف انتظار!)، مقادیر منفی به راست. دلیل اهمیت این موضوع: سینوس را 90 درجه به چپ جابجا میکند، که آن را دقیقاً مشابه میکند. در الکترونیک، جابجایی فاز تعیین میکند که آیا سیگنالهای AC همدیگر را تقویت یا خنثی میکنند. در صوت، این دلیل کار هدفونهای حذف نویز است - آنها صدایی با فاز مخالف تولید میکنند تا نویز محیطی را خنثی کنند.
چرا تابع تانژانت خطوط عمودی دارد؟
آن خطوط عمودی نقاط بینهایت هستند - مکانهایی که تابع به سمت بینهایت میرود و از نظر ریاضی تعریف نشده است. از آنجا که ، هر زمان که (در و غیره)، شما بر صفر تقسیم میکنید. تابع از یک طرف به سمت مثبت بینهایت و از طرف دیگر به سمت منفی بینهایت میرود، این پیوستگیها را ایجاد میکند. این یک اشکال در نمودارگر نیست - این رفتار اساسی تانژانت است. شما این را در تحلیل شیبهای نزدیک به عمودی یا در سیستمهای الکتریکی با شرایط تشدید مواجه خواهید شد.
تفاوت رادیان و درجه چیست؟
هر دو زاویه را اندازه میگیرند، اما رادیان از نظر ریاضی طبیعیتر هستند. یک دایره کامل 360 درجه یا رادیان (حدود 6.28) است. چرا از رادیان استفاده کنیم؟ آنها حساب دیفرانسیل و انتگرال را ساده میکنند و فرمولها را تمیزتر میسازند. برای مثال، مشتق فقط زمانی است که x در رادیان باشد. این نمودارگر از رادیان استفاده میکند زیرا آنها در ریاضیات عالی و برنامهنویسی استاندارد هستند. تبدیل سریع: درجه را در ضرب کنید تا به رادیان برسید، یا از این واقعیت استفاده کنید که رادیان.
آیا میتوانم چند تابع را همزمان رسم کنم؟
نه با این نمودارگر - او یک تابع را در هر زمان برای وضوح نشان میدهد. این انتخاب طراحی به شما کمک میکند تا بر درک رفتار هر تابع بدون شلوغی بصری تمرکز کنید. اگر نیاز به مقایسه چند تابع در محورهای یکسان دارید (مثلاً برای دیدن ارتباط سینوس و کسینوس)، از Desmos یا GeoGebra استفاده کنید. این ابزارها پوششدهی چندین نمودار را پشتیبانی میکنند که برای تحلیل پیشرفته مفید است.
دقت این نمودارگر چقدر است؟
او از توابع داخلی جاوااسکریپت Math.sin()، Math.cos() و Math.tan() استفاده میکند که استاندارد شناور IEEE 754 را اجرا میکنند. برای اهداف آموزشی، تکالیف خانگی و اکثر کاربردهای عملی، این کافی دقیق است (معمولاً 15-17 رقم معنادار). با این حال، محدودیتهایی دارد: مقادیر حدی ممکن است خطاهای دقت اعشاری نشان دهند و با محاسبات دقیق نمادین یا با دقت بسیار بالا کار نمیکند. برای تحقیقات نیازمند به محاسبات نمادین دقیق یا دقت بسیار بالا، از Mathematica، Maple یا Python با SymPy استفاده کنید.
آیا میتوانم نمودارهایم را ذخیره یا به اشتراک بگذارم؟
میتوانید فرمول تابع را با دکمه "کپی" کپی کنید که برای مستندسازی یا پیادهسازی تابع در کد مفید است. برای خود نمودار، از ابزار اسکرینشات دستگاه خود استفاده کنید (Ctrl+Shift+S در Windows/Linux، Cmd+Shift+4 در Mac، یا ژست اسکرینشات تلفن همراه). اگرچه این نمودارگر مستقیماً تصاویر را صادر نمیکند، اسکرینشاتها برای گزارشها، ارائهها یا به اشتراکگذاری با همکاران خوب کار میکنند.
مثالهای کد برای توابع مثلثاتی
در اینجا مثالهایی در زبانهای برنامهنویسی مختلف وجود دارد که نحوه محاسبه و کار با توابع مثلثاتی را نشان میدهد:
1// مثال جاوااسکریپت برای محاسبه و رسم تابع سینوس
2function calculateSinePoints(amplitude, frequency, phaseShift, start, end, steps) {
3 const points = [];
4 const stepSize = (end - start) / steps;
5
6 for (let i = 0; i <= steps; i++) {
7 const x = start + i * stepSize;
8 const y = amplitude * Math.sin(frequency * x + phaseShift);
9 points.push({ x, y });
10 }
11
12 return points;
13}
14
15// مثال استفاده:
16const sinePoints = calculateSinePoints(2, 3, Math.PI/4, -Math.PI, Math.PI, 100);
17console.log(sinePoints);
181# مثال پایتون با matplotlib برای تصویرسازی توابع مثلثاتی
2import numpy as np
3import matplotlib.pyplot as plt
4
5def plot_trig_function(func_type, amplitude, frequency, phase_shift):
6 # ایجاد مقادیر x
7 x = np.linspace(-2*np.pi, 2*np.pi, 1000)
8
9 # محاسبه مقادیر y بر اساس نوع تابع
10 if func_type == 'sin':
11 y = amplitude * np.sin(frequency * x + phase_shift)
12 title = f"f(x) = {amplitude} sin({frequency}x + {phase_shift})"
13 elif func_type == 'cos':
14 y = amplitude * np.cos(frequency * x + phase_shift)
15 title = f"f(x) = {amplitude} cos({frequency}x + {phase_shift})"
16 elif func_type == 'tan':
17 y = amplitude * np.tan(frequency * x + phase_shift)
18 # فیلتر کردن مقادیر نامتناهی برای تصویرسازی بهتر
19 y = np.where(np.abs(y) > 10, np.nan, y)
20 title = f"f(x) = {amplitude} tan({frequency}x + {phase_shift})"
21
22 # ایجاد نمودار
23 plt.figure(figsize=(10, 6))
24 plt.plot(x, y)
25 plt.grid(True)
26 plt.axhline(y=0, color='k', linestyle='-', alpha=0.3)
27 plt.axvline(x=0, color='k', linestyle='-', alpha=0.3)
28 plt.title(title)
29 plt.xlabel('x')
30 plt.ylabel('f(x)')
31
32 # اضافه کردن نقاط خاص برای محور x
33 special_points = [-2*np.pi, -3*np.pi/2, -np.pi, -np.pi/2, 0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi]
34 special_labels = ['-2π', '-3π/2', '-π', '-π/2', '0', 'π/2', 'π', '3π/2', '2π']
35 plt.xticks(special_points, special_labels)
36
37 plt.ylim(-5, 5) # محدود کردن محور y برای تصویرسازی بهتر
38 plt.show()
39
40# مثال استفاده:
41plot_trig_function('sin', 2, 1, 0) # رسم f(x) = 2 sin(x)
421// مثال جاوا برای محاسبه مقادیر مثلثاتی
2import java.util.ArrayList;
3import java.util.List;
4
5public class TrigonometricCalculator {
6
7 public static class Point {
8 public double x;
9 public double y;
10
11 public Point(double x, double y) {
12 this.x = x;
13 this.y = y;
14 }
15
16 @Override
17 public String toString() {
18 return "(" + x + ", " + y + ")";
19 }
20 }
21
22 public static List<Point> calculateCosinePoints(
23 double amplitude,
24 double frequency,
25 double phaseShift,
26 double start,
27 double end,
28 int steps) {
29
30 List<Point> points = new ArrayList<>();
31 double stepSize = (end - start) / steps;
32
33 for (int i = 0; i <= steps; i++) {
34 double x = start + i * stepSize;
35 double y = amplitude * Math.cos(frequency * x + phaseShift);
36 points.add(new Point(x, y));
37 }
38
39 return points;
40 }
41
42 public static void main(String[] args) {
43 // محاسبه نقاط برای f(x) = 2 cos(3x + π/4)
44 List<Point> cosinePoints = calculateCosinePoints(
45 2.0, // دامنه
46 3.0, // فرکانس
47 Math.PI/4, // جابجایی فاز
48 -Math.PI, // شروع
49 Math.PI, // پایان
50 100 // گامها
51 );
52
53 // چاپ چند نقطه اول
54 System.out.println("اولین 5 نقطه برای f(x) = 2 cos(3x + π/4):");
55 for (int i = 0; i < 5 && i < cosinePoints.size(); i++) {
56 System.out.println(cosinePoints.get(i));
57 }
58 }
59}
601' تابع VBA اکسل برای محاسبه مقادیر سینوس
2Function SineValue(x As Double, amplitude As Double, frequency As Double, phaseShift As Double) As Double
3 SineValue = amplitude * Sin(frequency * x + phaseShift)
4End Function
5
6' فرمول اکسل برای تابع سینوس (در سلول)
7' =A2*SIN(B2*C2+D2)
8' جایی که A2 دامنه، B2 فرکانس، C2 مقدار x، و D2 جابجایی فاز است
91// پیادهسازی C برای محاسبه مقادیر تابع تانژانت
2#include <stdio.h>
3#include <math.h>
4
5// تابع برای محاسبه تانژانت با پارامترها
6double parameterizedTangent(double x, double amplitude, double frequency, double phaseShift) {
7 double angle = frequency * x + phaseShift;
8
9 // بررسی نقاط نامعرف (جایی که cos = 0)
10 double cosValue = cos(angle);
11 if (fabs(cosValue) < 1e-10) {
12 return NAN; // عدد نامشخص برای نقاط نامعرف
13 }
14
15 return amplitude * tan(angle);
16}
17
18int main() {
19 double amplitude = 1.0;
20 double frequency = 2.0;
21 double phaseShift = 0.0;
22
23 printf("x\t\tf(x) = %g tan(%gx + %g)\n", amplitude, frequency, phaseShift);
24 printf("----------------------------------------\n");
25
26 // چاپ مقادیر از -π تا π
27 for (double x = -M_PI; x <= M_PI; x += M_PI/8) {
28 double y = parameterizedTangent(x, amplitude, frequency, phaseShift);
29
30 if (isnan(y)) {
31 printf("%g\t\tنامعرف (خط قائم)\n", x);
32 } else {
33 printf("%g\t\t%g\n", x, y);
34 }
35 }
36
37 return 0;
38}
39مراجع
-
آبراموویتز، م. و استگون، آ. آ. (ویراستگان). "کتاب راهنمای توابع ریاضی با فرمولها، نمودارها و جداول ریاضی،" چاپ نهم. نیویورک: دوور، 1972.
-
گلفاند، آ. م.، و فومین، س. و. "حساب تغییرات." انتشارات کوریر، 2000.
-
کرایزیگ، آ. "مهندسی پیشرفته ریاضی،" چاپ دهم. جان وایلی و پسران، 2011.
-
بوستوک، م.، اوگیوتسکی، و.، و هیر، ج. "D3: اسناد مبتنی بر داده." نشریه IEEE در تصویرسازی و گرافیک کامپیوتر، 17(12)، 2301-2309، 2011. https://d3js.org/
-
"توابع مثلثاتی." آکادمی خان، https://www.khanacademy.org/math/trigonometry/trigonometry-right-triangles/intro-to-the-trig-ratios/a/trigonometric-functions. دسترسی در 3 اوت 2023.
-
"تاریخ مثلثات." آرشیو تاریخ ریاضیات مکتوتور، دانشگاه سنت اندروز، اسکاتلند. https://mathshistory.st-andrews.ac.uk/HistTopics/Trigonometric_functions/. دسترسی در 3 اوت 2023.
-
مائور، آ. "لذات مثلثاتی." انتشارات دانشگاه پرینستون، 2013.
شروع کاوش توابع مثلثاتی
چه در حال اشکالزدایی از یک الگوریتم پردازش سیگنال باشید، چه برای امتحان حساب آماده میشوید، یا فقط کنجکاو رفتار موجها هستید، این ترسیمگر بازخورد بصری فوری به شما میدهد. دامنه، فرکانس و جابجایی فاز را تنظیم کنید و ببینید چگونه ریاضیات جان میگیرد.
بهترین راه برای درک توابع مثلثاتی حفظ کردن فرمولها نیست - بلکه بازی کردن با آنها است. شروع به ترسیم کنید و خودتان ببینید که این الگوهای بنیادی چگونه در همه جا از مکانیک کوانتومی تا مهندسی صوت و انیمیشن کامپیوتری ظاهر میشوند.