آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

محاسبه ریشه های یک چند جمله ای با دستور roots در متلب

با دستور roots در متلب، می توانیم ریشه های یک چند جمله ای دلخواه را محاسبه کنیم. به مثال زیر توجه کنید :

مثال

فرض کنید بخواهیم ریشه های چند جمله ای زیر را محاسبه کنیم : \begin{align} 2s^3-3s^2+4s+1 \end{align}

برای این منظور، ابتدا ضرایب جملات چند جمله ای را در یک بردار تعریف می کنیم و سپس با دستور roots ، ریشه ها را محاسبه می کنیم :


clear all
close all
clc
 
p=[2 -3 4 1];
r=roots(p)

نتیجه :


r =
 
   0.8558 + 1.2767i
   0.8558 - 1.2767i
  -0.2117

بنابراین سه ریشه چند جمله ای، در خروجی، نمایش داده شده است.

نویسنده علیرضا گلمکانی
شماره کلید 124
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 6 6 0
علی
۱۳۹۶/۰۷/۱۰
۲۰:۴۷

آیا امکان محاسبه ریشه های دقیق هم هست؟ برای نمونه اگر بخواهیم در پاسخ معادله x^2-1=0 مقدار رادیکال 2 را در یافت کنیم و نه 1.41421356237 باید چه دستوری را صادر کنیم؟

mehrta
۱۳۹۷/۱۰/۱۳
۲۰:۲۷

با چه دستوری میتونیم فقط عددمثبت رو به عنوان داده انتخاب کنیم

admin
۱۳۹۷/۱۰/۱۳
۲۲:۰۹

سلام
به وسیله دستور if در متلب (MATLAB)، شرط مثبت بودن عدد را بررسی نمایید ().
به عنوان مثال :



3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه اجرای کد متلب (MATLAB) بالا :



admin
۱۳۹۷/۱۰/۱۳
۲۲:۱۷

سلام.
علاوه بر مورد قبل (دستور if) که توضیح داده شد، دستور find نیز برای یافتن مقادیر مثبت موجود در یک ماتریس می تواند به کار رود ().
به عنوان مثال :



3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
در متغیر element_number ، موقعیت (شماره) مقادیر مثبت در ماتریس، ذخیره می شود و در ماتریس value ، خود مقدار مثبت پیدا شده، ذخیره می گردد.
نتیجه اجرای کد متلب (MATLAB) بالا :



Elyas
۱۳۹۷/۱۲/۱۲
۱۶:۰۸

سلام اگه دلتا منفی بشه اون وقت باید چیکار کنیم

آسمانه
۱۳۹۹/۰۵/۰۸
۱۹:۱۲

سلام
من یه تابع تبدیل دارم که توی متلب ازش لاپلاس معکوس گرفتم، در جوابش یه چیزی نوشته که متوجه نمیشم، یه عبارتی و در ادامه in RootOf یه عبارت دیگه.
میشه راهنمایی کنید که اینو چطوری باید به فرم عادی دربیارم؟
این شکلیه:

h =

1209*symsum(exp(r3*t)/(60000*r3^5 + 135800*r3^4 + 147520*r3^3 + 95250*r3^2 + 36440*r3 + 6631), r3 in RootOf(s3^6 + (679*s3^5)/250 + (461*s3^4)/125 + (127*s3^3)/40 + (911*s3^2)/500 + (6631*s3)/10000 + 603/5000, s3))

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)