تابع زیر را در نظر بگیرید:

F(x) = x4 – 14x3 + 60x2 -70x

از روش جستجوی فیبوناچی به منظور یافتن مقدار x که مقدارf  بر روی بازه [0, 2] استفاده نمایید. مقدار x را در میان بازه 0.3 قرار دهید.

بعد از N تکرار در بدترین وضعیت بازه جواب توسط (1+2e)/FN+1 کاهش خواهد یافت. لذا باید مقدار N را به صورت زیر انتخاب نماییم.

(1+2e)/FN+1 ≤ بازه نهایی / بازه اولیه ≤ 0.3 /2 = 0.15

لذا باید

FN+1 ≥ (1 + 2e) / 0.15

اگر مقدار e ≤ 0.1 باشد، سپس N =4 خواهد بود.

تکرار اول: با این مقدار شروع می کنیم:

1 – P1 = F4 / F5 = 5/8.

حال مقادیر زیر را محاسبه می نماییم:

a1 = a0 + P1 (b0 – a0) = 3/4.      b1 = a0 + (1-P1) (b0 – a0) = 5/4.

f(a1) = -24.34              f(b1) =  -18.65             f(a1) < f(b1).

بازه به صورت زیر کاهش می یابد:

[a0, b1] = [0, 5/4]

تکرار دوم: با این مقدار شروع می کنیم:

1 – P2 = F3 / F4 = 3/5.

حال مقادیر زیر را محاسبه می نماییم:

a2 = a0 + P2 (b1 – a0) = 1/2.      b2 = a1 = 3/4

f(a2) = -21.69              f(b2) =f(a1) =  -24.34              f(a2) > f(b2).

بازه به صورت زیر کاهش می یابد:

[a2, b1] = [1/2, 5/4]

تکرار سوم: با این مقدار شروع می کنیم:

1 – P3 = F2 / F3 = 2/3.

حال مقادیر زیر را محاسبه می نماییم:

a3 = b2= 3/4.    b3 = a2 + (1 – p3) (b1 – a2) = 1

f(a3) = f(b2) = -24.34              f(b3) =  -23                  f(a3) < f(b3).

بازه به صورت زیر کاهش می یابد:

[a2, b3] = [1/2, 1]

تکرار چهارم: با این e = 0.05 شروع می کنیم:

1 – P4 = F1 / F2 = 1/2.

حال مقادیر زیر را محاسبه می نماییم:

a4 = a2 + (p4 – e) (b3 – a2) = 0.725.        b4 = a3 = 3/4.

f(a4) =  -24.27             f(b4) = f(a3) = -24.34                                      f(a4) > f(b4).

بازه به صورت زیر کاهش می یابد:

[a2, b3] = [0.725, 1]                  (b3 – a2) => 1 – 0.725 = 0.275 <0.3.

از مقدار تعیین شده کمتر می باشد لذا متوقف می شویم.

کد مطلب برنامه فوق موجود است که با مراجعه به این قسمت می توانید آن را سفارش دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

X
سوالی دارین؟