X
تبلیغات
رایتل

(*blog_title*)

(*blog_short_description*)

Peducate.ir

با هم بیاموزیم

جستجو
بایگانی
آمار
تعداد بازدیدکنندگان :
189831
نظرسنجی
چقدر از مطالب پورتال رضایت دارید؟

برگه‌ها
مؤسسه خیریه محک

حل دستگاه معادلات غیرخطی با دستور fsolve در متلب

در نرم افزار متلب (Matlab)، برای حل دستگاه معادلات غیر خطی، ابتدا تمام معادلات را به سمت چپ برده تا سمت راست تساوی صفر شود مثلا تابع sin(x)=cos(x)+1 را به فرم sin(x)-cos(x)-1=0 تبدیل می کنیم. سپس با استفاده از دستور x=fsolve(y,x0) دستگاه را حل می کنیم.

  البته باید توجه داشت که ممکن است نرم افزار متلب نتواند با این دستور هر دستگاهی را حل کند. در دستور فوق y تابع و x0 بازه ای است که حدس می زنیم پاسخ دستگاه در آن باشد. به عنوان نمونه می خواهیم دستگاهی با دو معادله غیرخطی به فرم 2x2-x1 =e^-x2 و 2x1=x2+e^x1 را حل کنیم. برای این کار ابتدا دستورات زیر را در فایل script نوشته و در محل جاری نرم افزار متلب با نام myfun ذخیره کنید:

function F=myfun(x)

F=[2*x(1)-x(2)-exp(x(1));2*x(2)-x(1)-exp(-x(2))];

سپس دستورات زیر را در محیط command متلب بنویسید:

x0=[-5;-5];

x=fsolve(@myfun,x0)

نظرات (0)


نام :
ایمیل :
وب/وبلاگ :
ایمیل شما بعد از ثبت نمایش داده نخواهد شد