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

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
سوالی دارین؟