نمایش نتایج 1 تا 7 از 7

نام تاپیک: تابع سینوس و کسینوس ...

  1. #1
    کاربر جدید
    تاریخ عضویت
    دی 1388
    پست
    5
    تشکر کردن
    3
    0 بار تشکر شده در 0 پست

    Question تابع سینوس و کسینوس ...

    با سلام ....

    می خواستم بدونم چرا VB جواب درست سینوس و کسینوس نود درجه رو نمی ده ؟
    مگه سینوس نود درجه نمی شه یک و کسینوسش هم صفر ؟ پس چرا این داره این مدلی می ده ؟

    در ضمن اگه فرق سینوس و کسینوس رو با تانژانت و کتانژانت بگین ممنون می شم . دو تا شون هم برا ی مختصات دهی که استفاده می شن ...


    ممنون ...
    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله xxxxx_xxxxx : پنجشنبه 17 دی 1388 در 00:51 قبل از ظهر دلیل: انتقال تصویر به ضمایم به دلیل ابعاد بالا

  2. #2
    VIP آواتار xxxxx_xxxxx
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    X place
    سن
    25
    پست
    4,758
    تشکر کردن
    468
    2,694 بار تشکر شده در 1,417 پست

    نقل قول: ُتابع سینوس و کسینوس ...

    مقداری که به توابع مثلثاتی میدید بر اساس رادیان است و نه درجه.
    مثلاً معادل 90 درجه به رادیان میشه pi/2 که pi هم همون 3.14 هست. البته pi رو دقیقتر محاسبه کنید تا نتایجتون هم دقیقتر باشه. (منظورم تعداد ارقام اعشار هست)

    ترجیحاً بجای استفاده از تصاویر برای نمایش کد از تگ کد () استفاده کنید.
    الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.

  3. #3
    کاربر جدید
    تاریخ عضویت
    دی 1388
    پست
    5
    تشکر کردن
    3
    0 بار تشکر شده در 0 پست

    نقل قول: تابع سینوس و کسینوس ...

    ممنون ...
    اتفاقا" من هم از رادیان استفاده کردم ، همونطور که تو عکس هست تو ی متغیر P مقدار دقیق عدد پی هست و توی متغییر r زاویه برحسب رادیان .

    الان من می خوام یه توپ رو از تو یه منجنیق بفرستم هوا بهش زاویه 90 درجه می دم مستقیم نمی ره هوا ، یعنی قوسی مثل زاویه هشتاد و خورده ایی بر می داره می یاد زمین .

  4. #4
    VIP آواتار xxxxx_xxxxx
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    X place
    سن
    25
    پست
    4,758
    تشکر کردن
    468
    2,694 بار تشکر شده در 1,417 پست

    نقل قول: تابع سینوس و کسینوس ...

    سلام،
    اگر مشکلی وجود داشته باشه معمولاً فقط روی نسبت هایی که نتیجه صفر باید داشته باشند وجود داره.
    مثل همین کسینوس 90 درجه.
    روی همین 90 درجه چند مثال میزنیم.
    ابتدا سعی کنید تا جای ممکن عدد پی رو دقیق محاسبه کنید(هرچند که غیرممکن هست):

    Dim pi As Double
    pi = 3.14159265358979
    خب، سینوس 90 درجه میشه 1 که دستور زیر هم همینو میگه:

    MsgBox Sin(pi / 2) 'Sin(90) Result= 1
    حالا کسینوس 90 درجه میشه 0 ، اما دستور زیر یه خروجی دیگه میده!:

    MsgBox Cos(pi / 2) 'Cos(90) Result= 1.61554255216634E-15
    این عدد، یک عدد بسیار بسیار نزدیک به صفر است. آن را اینگونه بخوانید: یک ممیز خورده ای ضربدر 10 به توان منفی پانزده. یعنی صفر ممیز، بعد از نقطه اعشار 14 تا صفر وجود داره و بعد مابقی اعشار. پس عدد خیلی خیلی نزدیک به صفر است:

    0.00000000000000161554255216634


    این مشکل برمیگرده به میزان دقت عدد pi. درواقع محاسبه درست انجام شده و اون عددی که شما می بینید همون کسینوس پی دوم هست. اما ما پی رو فقط تا 14 رقم اعشار درنظر گرفتیم. در صورتی که عدد پی یک عدد اصم هست. یعنی تعداد اعشار آن بینهایت هست.(لااقل تاکنون که اصم نبودن آن ثابت نشده).تصویری که در ضمیمه قرار داره عدد پی رو تا بیش از 4700 رقم اعشار نشون میده! شما میتوانید تا چند میلیون رقم اعشار هم آن را محسابه کنید اما این مقدار در متغیرها نمی گنجد.

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

    Dim C90 As Double
    C90 = Cos(pi / 2)
    If C90 < 0.000000000000005 Then C90 = 0
    MsgBox C90 'Result= 0
    موفق باشید/
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg pi.jpg‏ (71.8 کیلوبایت, 108 دیدار)
    الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.

  5. 4 کاربر از xxxxx_xxxxx به خاطر این مطلب مفید تشکر کرده اند:


  6. #5
    کاربر دائمی آواتار program2vb
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    کهکشان راه شیری/منظومه شمسی/زمین/قاره آسیا/ایران/آذربا
    سن
    22
    پست
    290
    تشکر کردن
    118
    251 بار تشکر شده در 139 پست

    نقل قول: تابع سینوس و کسینوس ...

    ابتدا سعی کنید تا جای ممکن عدد پی رو دقیق محاسبه کنید(هرچند که غیرممکن هست):


    عزیزم چرا نمیشه ¿¿

    اینم روش محاسبش ::

    Print Atn(1) * 4
    ►►►░▒▓█ Gh@der █▓▒░◄◄◄

    افتادگی آموز اگر طالب فیضی / هرگز نخورد آب زمینی که بلند است


  7. کاربرانی که به خاطر مطلب مفید program2vb از وی تشکر کرده‌اند:


  8. #6
    VIP آواتار xxxxx_xxxxx
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    X place
    سن
    25
    پست
    4,758
    تشکر کردن
    468
    2,694 بار تشکر شده در 1,417 پست

    نقل قول: تابع سینوس و کسینوس ...

    عزیزم چرا نمیشه ¿¿

    اینم روش محاسبش ::

    Print Atn(1) * 4
    سلام،
    منظور من تعداد ارقام اعشار عدد پی بود که در متغیرهای اعشاری جا نمیشه.
    الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.

  9. #7
    کاربر تازه وارد آواتار MP.C-Writer
    تاریخ عضویت
    تیر 1390
    پست
    66
    تشکر کردن
    39
    20 بار تشکر شده در 16 پست

    نقل قول: تابع سینوس و کسینوس ...

    سلام
    یه روش ساده برای محاسبه اش است که ماشین حساب خود ویندوز هم از این راه استفاده می کنه.

    اون هم استفاده از کد های زیره:
    [CODE]Dim p As String, d As Integer, r As Double

    p = "3.1415926535897932384626433832795"
    d = Text1

    r = p * d / 180

    Print= Sin(r) ]

    در این کد مقدار تقریبی پی رو که خود ماشین حساب ویندوز در اختیارمون قرار می ده در یک متغیر رشته ای قرار می دیم تا مشکل اعشار های متغیر دابل از بین بره.
    متغیر دی، مقدار درجه است که کاربر وارد می کنه.
    متغیر آر هم بر حسب رادیان است که فرمول حساب می کنه.
    و تمام مقادیر درست درمیاد.

    دوستان فقط اگر مطلب جالبی گذاشته می شه که به دردتون می خوره، بی زحمت یه تشکر بکنید/.
    آخرین ویرایش به وسیله MP.C-Writer : پنجشنبه 16 تیر 1390 در 19:35 بعد از ظهر

  10. 2 کاربر از MP.C-Writer به خاطر این مطلب مفید تشکر کرده اند:


برچسب های این تاپیک

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •