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

در نرم افزار متلب، برای نمایش چند جمله ای ها، می توان از ضرایب چند جمله ای استفاده کرد. بنابراین، چند جمله ای فوق، با استفاده از بردار ضرایب زیر قابل تعریف است:
با استفاده از تابع polyval می توان مقدار چند جمله متناظر با یک بردار ضرایب را ارزیابی نمود و از این مقادیر برای ترسیم نموداری از چند جمله ای فوق، استفاده کرد:
y = polyval(p,x);
plot(x,y)
title f
grid on
حاصل اجرای قطعه کد بالا، نموداری است که در ادامه نشان داده شده است:
همچنین می توان با استفاده از تعریف تابع (به صورت خطی و ناشناس) و با استفاده از تابع fplot نیز نمودار مورد نظر را ترسیم نمود:
fplot(f,[-2 2])
title f
grid on
حاصل اجرای قطعه کد بالا، نموداری است که در ادامه نشان داده شده است:
یافتن ریشه های معادله جبری تعریف شده
در این پست دو روش نسبتا ساده برای ریشه یابی معادلات جبری را معرفی خواهیم کرد. روش اول، استفاده از تابع roots برای ریشه یابی است. با فراخوانی تابع roots و ارائه ضرایب چند جمله ای به آن، تمامی ریشه های چند جمله متناظر توسط این تابع برگردانده می شوند:
که پس از اجرا پاسخی به صورت زیر را در بر خواهد داشت:
-0.34116 + 1.1615i
-0.34116 – 1.1615i
0.68233
مشاهده می شود که چند جمله ای فوق، یک ریشه حقیقی بین صفر و یک دارد و همچنین دارای دو ریشه مختلط نیز می باشد.
یکی از توابع جعبه ابزار بهینه سازی (Optimization Toolbox) در متلب، تابع fzero است که با دریافت یک نقطه شروع یا حدس اولیه، یک ریشه از تابعی را که در نزدیکی حدس اولیه است، پیدا می کند. برای استفاده از تابع fzero می توان از قطعه کد زیر استفاده کرد:
x0 = fzero(f,0.5)
که پس از اجرا نتیجه ای به صورت زیر خواهد داشت:
0.68233
امیدواریم که این پست از متلب سایت مورد استفاده شما قرار گرفته باشد. منتظر پست های بعدی ما باشید.
اگر فایل هایی که از متلب سایت دانلود نموده اید نیاز به پسورد دارند، عبارت matlabsite.com را به عنوان پسورد وارد نمایید.
برای سفارش و خرید محصولات متلب سایت به بخش سفارش و خرید محصول مراجعه نمایید. حتما قبل از ترک این صفحه، اطلاعات محصول مورد نظر (شامل کد محصول، نام محصول، قیمت محصول و …) را یادداشت نمایید.
صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.
پرسود ترین سرمایه گذاری زمانی خود را با متلب سایت انجام دهید.
شما می توانید برای:
- اطلاع از آخرین مطالب علمی و تخصصی متلب سایت،
- آگاهی از آخرین دوره های آموزشی و تخصصی،
- و مطلع شدن از تخفیف های ویژه دوره ای (تا ۵۰ درصد تخفیف)
در گروه ای-میلی متلب سایت عضو شوید. برای عضویت، کافی است یک ای-میل به آدرس زیر ارسال نمایید:
matlabsite+subscribe@googlegroups.com
همچنین می توانید برای عضویت مستقیم در گروه ای-میلی متلب سایت، بر روی لینک زیر کلیک کنید:
لینک عضویت مستقیم در گروه ای-میلی متلب سایت (کلیک کنید)































سلام
یک سوالی داشتم که آیا امکان این هست که برنامه نوشته در متلب را با پسوند exe ساخت؟اگر امکانش هست مرا راهنمایی کنید
ممنون از مطالب سایت
سلام.
بله تبدیل فایل های متلب به فایل های اجرایی مستقل EXE کاملا شدنی است. به زودی مطالبی در این خصوص در متلب سایت منتظر خواهد شد.
اما برای راهنمایی شما می توانم مطالعه مطالب مندرج در این لینک را پیشنهاد نمایم:
http://onecore.net/howtocreate-standalone-executable-for-matlab-file.htm
لطفا به این موارد توجه فرمایید:
۱- حتما توجه فرمایید که نظر ارائه شده در خصوص هر مطلب، کاملا مرتبط با موضوع مطلب باشد.
۲- از حروف الفبای فارسی و زبان فارسی برای نگارش متن نظرات خود استفاده ببرید.
با سلام زمانی که یک معادله را حل می کنم دارای دو جواب است و وقتی که یکی از جواب ها را استخراج می کنم متلب قادر به شناسایی عددی آن نیست
چگونه می شود نوع متغیر ها را تغییر داد؟
مرسی