Peducate.ir

Peducate.ir

با هم بیاموزیم
Peducate.ir

Peducate.ir

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

محاسبه ریشه توابع دلخواه به روش وتری یا تصنیف

محاسبه ریشه توابع دلخواه به روش وتری یا تصنیف

در نرم افزار متلب (Matlab)، میخواهیم برنامه ای نوشته شود تا برای هر تابع دلخواه ریشه را به دست دهد. برای این کار از تابع محاسبه گر ریشه به روش تصنیف یا روش وتری استفاده می شود.

  

در روش وتری، x0 حد پایین و x1 حد بالای بازه ای است که گمان می رود ریشه در آن بازه قرار دارد و سپس مقدار بعدی از رابطه زیر محاسبه می شود:

x2=(x0f(x1)-x1f(x0))/(f(x1)-f(x0))

ابتدا تابعی به صورت زیر نوشته و در مسیر یا دایرکتوری جاری ذخیره می کنیم:

function x=vroot(f,x0,x1,e)

k=1;

x=(x0*f(x1)-x1*f(x0))/(f(x1)-f(x0));

while abs(x-x1)>e

x0=x1;

x1=x;

x=(x0*f(x1)-x1*f(x0))/(f(x1)-f(x0));

k=k+1;

end

disp(x);

در خط اول با دستور function تابع محاسبه گر ریشه به روش وتری و با نام vroot تعریف می شود. این کدها باید در m فایل نوشته شده و با همین نام در محل جاری ذخیره شوند. تابع f، حدس اولیه ریشه x0 و x1 و خطای پایان الگوریتم e از ورودی های تابع هستند. خروجی تابع ریشه x می باشد.

در خط دوم گام اولیه تعریف شده و در خط سوم اولین مقدار ریشه توسط فرمول مربوطه محاسبه می شود.

از خط چهار تا نهم، با حلقه while الگوریتم مورد نظر پیاده سازی می گردد.

در خط آخر و با دستور disp مقدار ریشه بدست آمده نمایش داده می شود.

حال از محیط خط فرمان یا command متلب، با دستور inline تابعی که قرار است ریشه آن محاسبه گردد وارد می شود. سپس تابع را فراخوانی می کنیم و ریشه نمایش داده می شود. به عنوان مثال در خط فرمان به صورت زیر عمل می کنیم:

f=inline('sin(x)-cos(x)+x-0.3');

vroot(f,0,2,0.0001);

نظرات 0 + ارسال نظر
ایمیل شما بعد از ثبت نمایش داده نخواهد شد