X
تبلیغات
نماشا
رایتل

(*blog_title*)

(*blog_short_description*)

Peducation

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

جستجو
تقویم
مرداد 1395
شیدسچپج
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
بایگانی
نظرسنجی
چقدر از مطالب پورتال رضایت دارید؟

حل دستگاه معادلات غیرخطی با دستور 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)


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