کلیدستان

نسخه‌ی کامل: دلیل صفر نشدن cos 90 در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
چرا cos90 صفر نمیشه؟
مشکل چیه؟
سلام.
ورودی توابع سینوسی (مثل sin و cos و tan و ...) در متلب، با واحد درجه (degree) نیست، بلکه با واحد رادیان (radian) می باشد.
بنابراین اگر قصد دارید که مقدار cos برای 90 درجه را به دست آورید، باید کد زیر را اجرا کنید :

کد:
cos(pi/2)

که در آن، نماد pi ، معادل همان عدد پی می باشد (معادل 180 درجه و بنابراین، نصف آن برابر 90 درجه می باشد).
البته دقت کنید که با اجرای کد متلب فوق، نتیجه به صورت زیر خواهد بود :

کد:
ans =

  6.1232e-017

بنابراین یک عدد خیلی کوچک و تقریبا معادل صفر نمایش داده شد و دلیل آن هم این است که نرم افزار متلب، اعداد را تا یک مقدار رقم اعشار، در محاسبات به کار می برد و برای عدد پی (pi) هم همین طور خواهد بود و بنابراین جوابی نزدیک به صفر را مشاهده می کنید (با دقت خوب).
البته برای به دست اوردن پاسخ دقیق، می توانید کد زیر را اجرا کنید :

کد:
cos(sym(pi/2))

نتیجه اجرای کد متلب بالا :

کد:
ans =

0

سلام ممنون
(۱۳۹۳/۰۷/۰۴, ۱۲:۱۸ ق.ظ)'admin' نوشته: [ -> ]سلام.
ورودی توابع سینوسی (مثل sin و cos و tan و ...) در متلب، با واحد درجه (degree) نیست، بلکه با واحد رادیان (radian) می باشد.
بنابراین اگر قصد دارید که مقدار cos برای 90 درجه را به دست آورید، باید کد زیر را اجرا کنید :



کد:
cos(pi/2)

که در آن، نماد pi ، معادل همان عدد پی می باشد (معادل 180 درجه و بنابراین، نصف آن برابر 90 درجه می باشد).
البته دقت کنید که با اجرای کد متلب فوق، نتیجه به صورت زیر خواهد بود :



کد:
ans =

6.1232e-017

بنابراین یک عدد خیلی کوچک و تقریبا معادل صفر نمایش داده شد و دلیل آن هم این است که نرم افزار متلب، اعداد را تا یک مقدار رقم اعشار، در محاسبات به کار می برد و برای عدد پی (pi) هم همین طور خواهد بود و بنابراین جوابی نزدیک به صفر را مشاهده می کنید (با دقت خوب).
البته برای به دست اوردن پاسخ دقیق، می توانید کد زیر را اجرا کنید :



کد:
cos(sym(pi/2))

نتیجه اجرای کد متلب بالا :



کد:
ans =

0




 

درود
علاوه بر کد ارائه شده می توانید از این دستور نیز استفاده کنید: (cosd(90