993

Методы поиска минимума функции на отрезке. Программная реализация

Курсовая

Информатика, кибернетика и программирование

Нахождение минимума функции на заданном отрезке - одна из простейших задач в разделе численных методов анализа. Существует множество различных способов определения минимума функции с разным количеством итераций и уровнем определения точности. Так же возможно комбинировать некоторые способы для достижения большей эффективности алгоритма.

Русский

2013-01-06

579.5 KB

383 чел.

Санкт-Петербургский

Государственный Университет

Факультет Прикладной Математики - Процессов Управления

Курсовая работа по технологии программирования

на тему: “ Методы поиска минимума функции на отрезке. Программная реализация”

                    

                                        Выполнил:

студент 1 курса 161 группы

Жуков Н.К.

                                 Руководитель:

Кривцов А.Н.

Санкт-Петербург. 2007г.

Содеожание:

  1.  Введение…………………………………………………………………. стр.3
  2.  Метод пассивного поиска...……………………………………………...стр.4
  3.  Метод половинного деления (дихотомии)……………………………...стр.5
  4.  Метод золотого сечения …………………………………………………стр.6
  5.  Метод Фибоначчи…………………………………………………………стр.8
  6.  Метод парабол…………...……………………………………………… стр.10
  7.  Таблицы промежуточных значений…………………………………….стр.12
  8.  Заключение……………………………………………………………….стр.18
  9.  Список литературы……………………………………………………….стр.19
  10.   Приложение………………………………………………………………стр.20

Введение

Нахождение минимума функции на заданном отрезке -  одна из простейших задач в разделе численных методов анализа. Существует множество различных способов определения минимума функции с разным количеством итераций и уровнем определения точности. Так же возможно комбинировать некоторые способы для достижения большей эффективности алгоритма. В этой работе будет рассмотрено пять классических примеров нахождения минимума функции: метод пассивного поиска, дихотомии, золотого сечения, Фибоначчи, и метод парабол. Нам предстоит выяснить какой же из этих способов наиболее эффективен при конкретной задаче.

Метод пассивного поиска

Метод половинного деления (дихотомии)

Метод золотого сечения

Метод Фибоначчи

Метод парабол

Существенное уменьшение числа итераций для вычислений минимума с высокой точностью даёт метод парабол. Хотя он и является наиболее трудоёмким в расчётах и выполнении, при использовании этого метода число шагов оказывается меньше, чем у остальных методов поиска.

Цель этого метода – найти параболу, максимально близко проходящую от графика исследуемой функции вблизи точки, подозрительной на минимум. Найти минимум функции, графиком которой является парабола, намного проще, чем для более сложных функций: минимум параболы совпадает с её вершиной, а вершину параболы совсем нетрудно найти с помощью средств математического анализа.

В этом методе парабола будет проходить через три заданные точки: любые близкие к минимуму точки из предыдущих методов. Сравнивая значения в точках экстремума параболы, можно предположить, какой из них наиболее близок к точке, в которой функция имеет минимальное на отрезке значение.

Каждое последующее приближение можно вычислять по формулам, приведённым ниже:

где  - три точки приближения

Мы будем строить параболу, соответствующую графику функции , начальные значения С0, С1, С2 могут быть вычислены по формулам:

где  - три точки приближения. Равенства имеют место в силу теоремы о среднем Лагранжа и выбора точек, через которые пройдёт парабола.

Метод пассивного поиска

 -----------------------------

 Ит|         x        |

  0 | -5.000  |  28.413159 |

  1 | -4.990  |  27.674924 |

  2 | -4.980  |  26.948390 |

  3 | -4.970  |  26.233414 |

  4 | -4.960  |  25.529860 |

  5 | -4.950  |  24.837589 |

  6 | -4.940  |  24.156466 |

  7 | -4.930  |  23.486355 |

  8 | -4.920  |  22.827125 |

  9 | -4.910  |  22.178643 |

 10 | -4.900  |  21.540780 |

 11 | -4.890  |  20.913405 |

 12 | -4.880  |  20.296392 |

 13 | -4.870  |  19.689614 |

 14 | -4.860  |  19.092946 |

 15 | -4.850  |  18.506265 |

 16 | -4.840  |  17.929448 |

 17 | -4.830  |  17.362374 |

 18 | -4.820  |  16.804923 |

 19 | -4.810  |  16.256977 |

 20 | -4.800  |  15.718418 |

 21 | -4.790  |  15.189130 |

 22 | -4.780  |  14.668998 |

 23 | -4.770  |  14.157909 |

 24 | -4.760  |  13.655750 |

 25 | -4.750  |  13.162410 |

 26 | -4.740  |  12.677778 |

 27 | -4.730  |  12.201745 |

 28 | -4.720  |  11.734205 |

 29 | -4.710  |  11.275049 |

 30 | -4.700  |  10.824172 |

 31 | -4.690  |  10.381471 |

 32 | -4.680  |  9.946841 |

 33 | -4.670  |  9.520179 |

 34 | -4.660  |  9.101386 |

 35 | -4.650  |  8.690361 |

 36 | -4.640  |  8.287004 |

 37 | -4.630  |  7.891217 |

 38 | -4.620  |  7.502904 |

 39 | -4.610  |  7.121969 |

 40 | -4.600  |  6.748316 |

 41 | -4.590  |  6.381851 |

 42 | -4.580  |  6.022482 |

 43 | -4.570  |  5.670117 |

 44 | -4.560  |  5.324664 |

 45 | -4.550  |  4.986033 |

 46 | -4.540  |  4.654136 |

 

47 | -4.530  |  4.328884 |

 48 | -4.520  |  4.010190 |

 49 | -4.510  |  3.697968 |

 50 | -4.500  |  3.392131 |

 51 | -4.490  |  3.092597 |

 52 | -4.480  |  2.799281 |

 53 | -4.470  |  2.512100 |

 54 | -4.460  |  2.230973 |

 55 | -4.450  |  1.955819 |

 56 | -4.440  |  1.686558 |

 57 | -4.430  |  1.423110 |

 58 | -4.420  |  1.165397 |

 59 | -4.410  |  0.913343 |

 60 | -4.400  |  0.666869 |

 61 | -4.390  |  0.425900 |

 62 | -4.380  |  0.190361 |

 63 | -4.370  |  -0.039821 |

 64 | -4.360  |  -0.264722 |

 65 | -4.350  |  -0.484412 |

 66 | -4.340  |  -0.698965 |

 67 | -4.330  |  -0.908450 |

 68 | -4.320  |  -1.112940 |

 69 | -4.310  |  -1.312502 |

 70 | -4.300  |  -1.507206 |

 71 | -4.290  |  -1.697121 |

 72 | -4.280  |  -1.882312 |

 73 | -4.270  |  -2.062847 |

 74 | -4.260  |  -2.238793 |

 75 | -4.250  |  -2.410213 |

 76 | -4.240  |  -2.577172 |

 77 | -4.230  |  -2.739735 |

 78 | -4.220  |  -2.897964 |

 79 | -4.210  |  -3.051921 |

 80 | -4.200  |  -3.201669 |

 81 | -4.190  |  -3.347268 |

 82 | -4.180  |  -3.488779 |

 83 | -4.170  |  -3.626261 |

 84 | -4.160  |  -3.759773 |

 85 | -4.150  |  -3.889375 |

 86 | -4.140  |  -4.015123 |

 87 | -4.130  |  -4.137074 |

 88 | -4.120  |  -4.255286 |

 89 | -4.110  |  -4.369813 |

 90 | -4.100  |  -4.480712 |

 91 | -4.090  |  -4.588037 |

 92 | -4.080  |  -4.691842 |

 93 | -4.070  |  -4.792180 |

 94 | -4.060  |  -4.889105 |

 95 | -4.050  |  -4.982668 |

 96 | -4.040  |  -5.072921 |

 97 | -4.030  |  -5.159916 |

 

98 | -4.020  |  -5.243702 |

 99 | -4.010  |  -5.324330 |

100 | -4.000  |  -5.401850 |

101 | -3.990  |  -5.476310 |

102 | -3.980  |  -5.547758 |

103 | -3.970  |  -5.616242 |

104 | -3.960  |  -5.681810 |

105 | -3.950  |  -5.744508 |

106 | -3.940  |  -5.804383 |

107 | -3.930  |  -5.861479 |

108 | -3.920  |  -5.915843 |

109 | -3.910  |  -5.967519 |

110 | -3.900  |  -6.016551 |

111 | -3.890  |  -6.062982 |

112 | -3.880  |  -6.106857 |

113 | -3.870  |  -6.148217 |

114 | -3.860  |  -6.187105 |

115 | -3.850  |  -6.223562 |

116 | -3.840  |  -6.257630 |

117 | -3.830  |  -6.289349 |

118 | -3.820  |  -6.318760 |

119 | -3.810  |  -6.345902 |

120 | -3.800  |  -6.370816 |

121 | -3.790  |  -6.393539 |

122 | -3.780  |  -6.414110 |

123 | -3.770  |  -6.432568 |

124 | -3.760  |  -6.448950 |

125 | -3.750  |  -6.463293 |

126 | -3.740  |  -6.475634 |

127 | -3.730  |  -6.486009 |

128 | -3.720  |  -6.494454 |

129 | -3.710  |  -6.501004 |

130 | -3.700  |  -6.505696 |

131 | -3.690  |  -6.508562 |

132 | -3.680  |  -6.509638 |

133 | -3.670  |  -6.508957 |

134 | -3.660  |  -6.506553 |

135 | -3.650  |  -6.502459 |

136 | -3.640  |  -6.496707 |

137 | -3.630  |  -6.489330 |

138 | -3.620  |  -6.480360 |

139 | -3.610  |  -6.469828 |

140 | -3.600  |  -6.457766 |

141 | -3.590  |  -6.444203 |

142 | -3.580  |  -6.429171 |

143 | -3.570  |  -6.412700 |

144 | -3.560  |  -6.394819 |

145 | -3.550  |  -6.375558 |

146 | -3.540  |  -6.354945 |

147 | -3.530  |  -6.333009 |

148 | -3.520  |  -6.309780 |

149 | -3.510  |  -6.285283 |

150 | -3.500  |  -6.259548 |

151 | -3.490  |  -6.232601 |

152 | -3.480  |  -6.204470 |

153 | -3.470  |  -6.175181 |

154 | -3.460  |  -6.144759 |

155 | -3.450  |  -6.113233 |

156 | -3.440  |  -6.080626 |

157 | -3.430  |  -6.046964 |

158 | -3.420  |  -6.012273 |

159 | -3.410  |  -5.976577 |

160 | -3.400  |  -5.939900 |

161 | -3.390  |  -5.902267 |

162 | -3.380  |  -5.863701 |

163 | -3.370  |  -5.824226 |

164 | -3.360  |  -5.783865 |

165 | -3.350  |  -5.742641 |

166 | -3.340  |  -5.700577 |

167 | -3.330  |  -5.657695 |

168 | -3.320  |  -5.614017 |

169 | -3.310  |  -5.569566 |

170 | -3.300  |  -5.524361 |

171 | -3.290  |  -5.478425 |

172 | -3.280  |  -5.431779 |

173 | -3.270  |  -5.384444 |

174 | -3.260  |  -5.336439 |

175 | -3.250  |  -5.287785 |

176 | -3.240  |  -5.238502 |

177 | -3.230  |  -5.188610 |

178 | -3.220  |  -5.138128 |

179 | -3.210  |  -5.087075 |

180 | -3.200  |  -5.035470 |

181 | -3.190  |  -4.983332 |

182 | -3.180  |  -4.930678 |

183 | -3.170  |  -4.877529 |

184 | -3.160  |  -4.823900 |

185 | -3.150  |  -4.769810 |

186 | -3.140  |  -4.715277 |

187 | -3.130  |  -4.660317 |

188 | -3.120  |  -4.604948 |

189 | -3.110  |  -4.549187 |

190 | -3.100  |  -4.493049 |

191 | -3.090  |  -4.436551 |

192 | -3.080  |  -4.379710 |

193 | -3.070  |  -4.322540 |

194 | -3.060  |  -4.265059 |

195 | -3.050  |  -4.207281 |

196 | -3.040  |  -4.149221 |

197 | -3.030  |  -4.090894 |

198 | -3.020  |  -4.032316 |

199 | -3.010  |  -3.973501 |

200 | -3.000  |  -3.914463 |

201 | -2.990  |  -3.855217 |

202 | -2.980  |  -3.795775 |

203 | -2.970  |  -3.736153 |

204 | -2.960  |  -3.676364 |

205 | -2.950  |  -3.616421 |

206 | -2.940  |  -3.556338 |

207 | -2.930  |  -3.496127 |

208 | -2.920  |  -3.435801 |

209 | -2.910  |  -3.375372 |

210 | -2.900  |  -3.314855 |

211 | -2.890  |  -3.254259 |

212 | -2.880  |  -3.193599 |

213 | -2.870  |  -3.132885 |

214 | -2.860  |  -3.072129 |

215 | -2.850  |  -3.011343 |

216 | -2.840  |  -2.950538 |

217 | -2.830  |  -2.889726 |

218 | -2.820  |  -2.828917 |

219 | -2.810  |  -2.768123 |

220 | -2.800  |  -2.707353 |

221 | -2.790  |  -2.646619 |

222 | -2.780  |  -2.585931 |

223 | -2.770  |  -2.525299 |

224 | -2.760  |  -2.464733 |

225 | -2.750  |  -2.404243 |

226 | -2.740  |  -2.343839 |

227 | -2.730  |  -2.283530 |

228 | -2.720  |  -2.223326 |

229 | -2.710  |  -2.163235 |

230 | -2.700  |  -2.103268 |

231 | -2.690  |  -2.043433 |

232 | -2.680  |  -1.983739 |

233 | -2.670  |  -1.924194 |

234 | -2.660  |  -1.864807 |

235 | -2.650  |  -1.805586 |

236 | -2.640  |  -1.746540 |

237 | -2.630  |  -1.687677 |

238 | -2.620  |  -1.629004 |

239 | -2.610  |  -1.570530 |

240 | -2.600  |  -1.512262 |

241 | -2.590  |  -1.454207 |

242 | -2.580  |  -1.396374 |

243 | -2.570  |  -1.338769 |

244 | -2.560  |  -1.281399 |

245 | -2.550  |  -1.224271 |

246 | -2.540  |  -1.167393 |

247 | -2.530  |  -1.110771 |

248 | -2.520  |  -1.054411 |

249 | -2.510  |  -0.998321 |

250 | -2.500  |  -0.942506 |

251 | -2.490  |  -0.886973 |

252 | -2.480  |  -0.831728 |

253 | -2.470  |  -0.776776 |

254 | -2.460  |  -0.722124 |

255 | -2.450  |  -0.667778 |

256 | -2.440  |  -0.613743 |

257 | -2.430  |  -0.560025 |

258 | -2.420  |  -0.506629 |

259 | -2.410  |  -0.453560 |

260 | -2.400  |  -0.400824 |

261 | -2.390  |  -0.348425 |

262 | -2.380  |  -0.296369 |

263 | -2.370  |  -0.244661 |

264 | -2.360  |  -0.193305 |

265 | -2.350  |  -0.142305 |

266 | -2.340  |  -0.091667 |

267 | -2.330  |  -0.041395 |

268 | -2.320  |  0.008506 |

269 | -2.310  |  0.058034 |

270 | -2.300  |  0.107182 |

271 | -2.290  |  0.155949 |

272 | -2.280  |  0.204328 |

273 | -2.270  |  0.252318 |

274 | -2.260  |  0.299913 |

275 | -2.250  |  0.347111 |

276 | -2.240  |  0.393907 |

277 | -2.230  |  0.440299 |

278 | -2.220  |  0.486283 |

279 | -2.210  |  0.531855 |

280 | -2.200  |  0.577013 |

281 | -2.190  |  0.621754 |

282 | -2.180  |  0.666074 |

283 | -2.170  |  0.709971 |

284 | -2.160  |  0.753442 |

285 | -2.150  |  0.796483 |

286 | -2.140  |  0.839094 |

287 | -2.130  |  0.881270 |

288 | -2.120  |  0.923009 |

289 | -2.110  |  0.964310 |

290 | -2.100  |  1.005170 |

291 | -2.090  |  1.045586 |

292 | -2.080  |  1.085557 |

293 | -2.070  |  1.125080 |

294 | -2.060  |  1.164154 |

295 | -2.050  |  1.202776 |

296 | -2.040  |  1.240945 |

297 | -2.030  |  1.278659 |

298 | -2.020  |  1.315917 |

299 | -2.010  |  1.352716 |

300 | -2.000  |  1.389056 |

301 | -1.990  |  1.424935 |

302 | -1.980  |  1.460351 |

303 | -1.970  |  1.495303 |

304 | -1.960  |  1.529791 |

305 | -1.950  |  1.563813 |

306 | -1.940  |  1.597367 |

307 | -1.930  |  1.630453 |

308 | -1.920  |  1.663070 |

309 | -1.910  |  1.695218 |

310 | -1.900  |  1.726894 |

311 | -1.890  |  1.758100 |

312 | -1.880  |  1.788833 |

313 | -1.870  |  1.819093 |

314 | -1.860  |  1.848881 |

315 | -1.850  |  1.878195 |

316 | -1.840  |  1.907034 |

317 | -1.830  |  1.935400 |

318 | -1.820  |  1.963290 |

319 | -1.810  |  1.990706 |

320 | -1.800  |  2.017647 |

321 | -1.790  |  2.044113 |

322 | -1.780  |  2.070104 |

323 | -1.770  |  2.095620 |

324 | -1.760  |  2.120661 |

325 | -1.750  |  2.145228 |

326 | -1.740  |  2.169319 |

327 | -1.730  |  2.192937 |

328 | -1.720  |  2.216080 |

329 | -1.710  |  2.238750 |

330 | -1.700  |  2.260947 |

331 | -1.690  |  2.282672 |

332 | -1.680  |  2.303924 |

333 | -1.670  |  2.324705 |

334 | -1.660  |  2.345015 |

335 | -1.650  |  2.364855 |

336 | -1.640  |  2.384226 |

337 | -1.630  |  2.403128 |

338 | -1.620  |  2.421562 |

339 | -1.610  |  2.439530 |

340 | -1.600  |  2.457032 |

341 | -1.590  |  2.474070 |

342 | -1.580  |  2.490644 |

343 | -1.570  |  2.506755 |

344 | -1.560  |  2.522405 |

345 | -1.550  |  2.537595 |

346 | -1.540  |  2.552326 |

347 | -1.530  |  2.566600 |

348 | -1.520  |  2.580417 |

349 | -1.510  |  2.593780 |

350 | -1.500  |  2.606689 |

351 | -1.490  |  2.619147 |

352 | -1.480  |  2.631154 |

353 | -1.470  |  2.642712 |

354 | -1.460  |  2.653824 |

355 | -1.450  |  2.664490 |

356 | -1.440  |  2.674712 |

357 | -1.430  |  2.684492 |

358 | -1.420  |  2.693832 |

359 | -1.410  |  2.702734 |

360 | -1.400  |  2.711200 |

361 | -1.390  |  2.719231 |

362 | -1.380  |  2.726830 |

363 | -1.370  |  2.733998 |

364 | -1.360  |  2.740737 |

365 | -1.350  |  2.747051 |

366 | -1.340  |  2.752940 |

367 | -1.330  |  2.758406 |

368 | -1.320  |  2.763453 |

369 | -1.310  |  2.768083 |

370 | -1.300  |  2.772297 |

371 | -1.290  |  2.776098 |

372 | -1.280  |  2.779488 |

373 | -1.270  |  2.782470 |

374 | -1.260  |  2.785045 |

375 | -1.250  |  2.787218 |

376 | -1.240  |  2.788989 |

377 | -1.230  |  2.790363 |

378 | -1.220  |  2.791340 |

379 | -1.210  |  2.791924 |

380 | -1.200  |  2.792117 |

381 | -1.190  |  2.791922 |

382 | -1.180  |  2.791342 |

383 | -1.170  |  2.790380 |

384 | -1.160  |  2.789037 |

385 | -1.150  |  2.787318 |

386 | -1.140  |  2.785224 |

387 | -1.130  |  2.782760 |

388 | -1.120  |  2.779926 |

389 | -1.110  |  2.776727 |

390 | -1.100  |  2.773166 |

391 | -1.090  |  2.769245 |

392 | -1.080  |  2.764968 |

393 | -1.070  |  2.760336 |

394 | -1.060  |  2.755355 |

395 | -1.050  |  2.750026 |

396 | -1.040  |  2.744353 |

397 | -1.030  |  2.738339 |

398 | -1.020  |  2.731987 |

399 | -1.010  |  2.725300 |

400 | -1.000  |  2.718282 |

401 | -0.990  |  2.710935 |

402 | -0.980  |  2.703264 |

403 | -0.970  |  2.695271 |

404 | -0.960  |  2.686960 |

405 | -0.950  |  2.678335 |

406 | -0.940  |  2.669397 |

407 | -0.930  |  2.660152 |

408 | -0.920  |  2.650602 |

409 | -0.910  |  2.640752 |

410 | -0.900  |  2.630603 |

411 | -0.890  |  2.620161 |

412 | -0.880  |  2.609428 |

413 | -0.870  |  2.598408 |

414 | -0.860  |  2.587105 |

415 | -0.850  |  2.575522 |

416 | -0.840  |  2.563663 |

417 | -0.830  |  2.551532 |

418 | -0.820  |  2.539132 |

419 | -0.810  |  2.526467 |

420 | -0.800  |  2.513541 |

421 | -0.790  |  2.500357 |

422 | -0.780  |  2.486920 |

423 | -0.770  |  2.473233 |

424 | -0.760  |  2.459300 |

425 | -0.750  |  2.445125 |

426 | -0.740  |  2.430712 |

427 | -0.730  |  2.416064 |

428 | -0.720  |  2.401185 |

429 | -0.710  |  2.386080 |

430 | -0.700  |  2.370753 |

431 | -0.690  |  2.355207 |

432 | -0.680  |  2.339446 |

433 | -0.670  |  2.323474 |

434 | -0.660  |  2.307296 |

435 | -0.650  |  2.290916 |

436 | -0.640  |  2.274337 |

437 | -0.630  |  2.257564 |

438 | -0.620  |  2.240600 |

439 | -0.610  |  2.223450 |

440 | -0.600  |  2.206119 |

441 | -0.590  |  2.188609 |

442 | -0.580  |  2.170926 |

443 | -0.570  |  2.153074 |

444 | -0.560  |  2.135057 |

445 | -0.550  |  2.116878 |

446 | -0.540  |  2.098543 |

447 | -0.530  |  2.080055 |

448 | -0.520  |  2.061420 |

449 | -0.510  |  2.042640 |

450 | -0.500  |  2.023721 |

451 | -0.490  |  2.004667 |

452 | -0.480  |  1.985482 |

453 | -0.470  |  1.966171 |

454 | -0.460  |  1.946738 |

455 | -0.450  |  1.927187 |

456 | -0.440  |  1.907523 |

457 | -0.430  |  1.887751 |

458 | -0.420  |  1.867874 |

459 | -0.410  |  1.847897 |

460 | -0.400  |  1.827825 |

461 | -0.390  |  1.807662 |

462 | -0.380  |  1.787413 |

463 | -0.370  |  1.767082 |

464 | -0.360  |  1.746673 |

465 | -0.350  |  1.726193 |

466 | -0.340  |  1.705644 |

467 | -0.330  |  1.685031 |

468 | -0.320  |  1.664360 |

469 | -0.310  |  1.643634 |

470 | -0.300  |  1.622859 |

471 | -0.290  |  1.602038 |

472 | -0.280  |  1.581178 |

473 | -0.270  |  1.560281 |

474 | -0.260  |  1.539354 |

475 | -0.250  |  1.518400 |

476 | -0.240  |  1.497425 |

477 | -0.230  |  1.476433 |

478 | -0.220  |  1.455429 |

479 | -0.210  |  1.434417 |

480 | -0.200  |  1.413403 |

481 | -0.190  |  1.392391 |

482 | -0.180  |  1.371385 |

483 | -0.170  |  1.350392 |

484 | -0.160  |  1.329415 |

485 | -0.150  |  1.308459 |

486 | -0.140  |  1.287530 |

487 | -0.130  |  1.266631 |

488 | -0.120  |  1.245769 |

489 | -0.110  |  1.224947 |

490 | -0.100  |  1.204171 |

491 | -0.090  |  1.183445 |

492 | -0.080  |  1.162775 |

493 | -0.070  |  1.142165 |

494 | -0.060  |  1.121621 |

495 | -0.050  |  1.101146 |

496 | -0.040  |  1.080747 |

497 | -0.030  |  1.060428 |

498 | -0.020  |  1.040193 |

499 | -0.010  |  1.020049 |

500 | -0.000  |  1.000000 |

501 |  0.010  |  0.980051 |

502 |  0.020  |  0.960207 |

503 |  0.030  |  0.940473 |

504 |  0.040  |  0.920853 |

505 |  0.050  |  0.901354 |

506 |  0.060  |  0.881981 |

507 |  0.070  |  0.862737 |

508 |  0.080  |  0.843628 |

509 |  0.090  |  0.824660 |

510 |  0.100  |  0.805837 |

511 |  0.110  |  0.787165 |

512 |  0.120  |  0.768648 |

513 |  0.130  |  0.750292 |

514 |  0.140  |  0.732102 |

515 |  0.150  |  0.714083 |

516 |  0.160  |  0.696240 |

517 |  0.170  |  0.678578 |

518 |  0.180  |  0.661102 |

519 |  0.190  |  0.643818 |

520 |  0.200  |  0.626731 |

521 |  0.210  |  0.609845 |

522 |  0.220  |  0.593167 |

523 |  0.230  |  0.576701 |

524 |  0.240  |  0.560452 |

525 |  0.250  |  0.544426 |

526 |  0.260  |  0.528628 |

527 |  0.270  |  0.513062 |

528 |  0.280  |  0.497736 |

529 |  0.290  |  0.482653 |

530 |  0.300  |  0.467818 |

531 |  0.310  |  0.453238 |

532 |  0.320  |  0.438917 |

533 |  0.330  |  0.424861 |

534 |  0.340  |  0.411074 |

535 |  0.350  |  0.397563 |

536 |  0.360  |  0.384332 |

537 |  0.370  |  0.371387 |

538 |  0.380  |  0.358733 |

539 |  0.390  |  0.346376 |

540 |  0.400  |  0.334320 |

541 |  0.410  |  0.322571 |

542 |  0.420  |  0.311135 |

543 |  0.430  |  0.300016 |

544 |  0.440  |  0.289220 |

545 |  0.450  |  0.278753 |

546 |  0.460  |  0.268620 |

547 |  0.470  |  0.258825 |

548 |  0.480  |  0.249375 |

549 |  0.490  |  0.240275 |

550 |  0.500  |  0.231531 |

551 |  0.510  |  0.223147 |

552 |  0.520  |  0.215129 |

553 |  0.530  |  0.207482 |

554 |  0.540  |  0.200212 |

555 |  0.550  |  0.193325 |

556 |  0.560  |  0.186825 |

557 |  0.570  |  0.180718 |

558 |  0.580  |  0.175010 |

559 |  0.590  |  0.169706 |

560 |  0.600  |  0.164812 |

561 |  0.610  |  0.160332 |

562 |  0.620  |  0.156272 |

563 |  0.630  |  0.152639 |

564 |  0.640  |  0.149436 |

565 |  0.650  |  0.146671 |

566 |  0.660  |  0.144347 |

567 |  0.670  |  0.142472 |

568 |  0.680  |  0.141049 |

569 |  0.690  |  0.140085 |

570 |  0.700  |  0.139585 |

571 |  0.710  |  0.139555 |

572 |  0.720  |  0.140000 |

573 |  0.730  |  0.140926 |

574 |  0.740  |  0.142338 |

575 |  0.750  |  0.144242 |

576 |  0.760  |  0.146642 |

577 |  0.770  |  0.149546 |

578 |  0.780  |  0.152958 |

579 |  0.790  |  0.156884 |

580 |  0.800  |  0.161329 |

581 |  0.810  |  0.166299 |

582 |  0.820  |  0.171800 |

583 |  0.830  |  0.177836 |

584 |  0.840  |  0.184415 |

585 |  0.850  |  0.191540 |

586 |  0.860  |  0.199218 |

587 |  0.870  |  0.207455 |

588 |  0.880  |  0.216255 |

589 |  0.890  |  0.225625 |

590 |  0.900  |  0.235570 |

591 |  0.910  |  0.246095 |

592 |  0.920  |  0.257207 |

593 |  0.930  |  0.268911 |

594 |  0.940  |  0.281212 |

595 |  0.950  |  0.294116 |

596 |  0.960  |  0.307629 |

597 |  0.970  |  0.321756 |

598 |  0.980  |  0.336503 |

599 |  0.990  |  0.351876 |

600 |  1.000  |  0.367879 |

601 |  1.010  |  0.384520 |

602 |  1.020  |  0.401803 |

603 |  1.030  |  0.419734 |

604 |  1.040  |  0.438319 |

605 |  1.050  |  0.457563 |

606 |  1.060  |  0.477472 |

607 |  1.070  |  0.498052 |

608 |  1.080  |  0.519308 |

609 |  1.090  |  0.541245 |

610 |  1.100  |  0.563871 |

611 |  1.110  |  0.587190 |

612 |  1.120  |  0.611208 |

613 |  1.130  |  0.635930 |

614 |  1.140  |  0.661363 |

615 |  1.150  |  0.687512 |

616 |  1.160  |  0.714382 |

617 |  1.170  |  0.741980 |

618 |  1.180  |  0.770311 |

619 |  1.190  |  0.799380 |

620 |  1.200  |  0.829194 |

621 |  1.210  |  0.859758 |

622 |  1.220  |  0.891078 |

623 |  1.230  |  0.923160 |

624 |  1.240  |  0.956008 |

625 |  1.250  |  0.989630 |

626 |  1.260  |  1.024030 |

627 |  1.270  |  1.059215 |

628 |  1.280  |  1.095189 |

629 |  1.290  |  1.131960 |

630 |  1.300  |  1.169532 |

631 |  1.310  |  1.207911 |

632 |  1.320  |  1.247103 |

633 |  1.330  |  1.287114 |

634 |  1.340  |  1.327950 |

635 |  1.350  |  1.369615 |

636 |  1.360  |  1.412117 |

637 |  1.370  |  1.455460 |

638 |  1.380  |  1.499651 |

639 |  1.390  |  1.544694 |

640 |  1.400  |  1.590597 |

641 |  1.410  |  1.637364 |

642 |  1.420  |  1.685002 |

643 |  1.430  |  1.733516 |

644 |  1.440  |  1.782912 |

645 |  1.450  |  1.833195 |

646 |  1.460  |  1.884372 |

647 |  1.470  |  1.936448 |

648 |  1.480  |  1.989430 |

649 |  1.490  |  2.043322 |

650 |  1.500  |  2.098130 |

651 |  1.510  |  2.153861 |

652 |  1.520  |  2.210520 |

653 |  1.530  |  2.268113 |

654 |  1.540  |  2.326645 |

655 |  1.550  |  2.386123 |

656 |  1.560  |  2.446552 |

657 |  1.570  |  2.507938 |

658 |  1.580  |  2.570287 |

659 |  1.590  |  2.633605 |

660 |  1.600  |  2.697897 |

661 |  1.610  |  2.763169 |

662 |  1.620  |  2.829427 |

663 |  1.630  |  2.896677 |

664 |  1.640  |  2.964924 |

665 |  1.650  |  3.034175 |

666 |  1.660  |  3.104435 |

667 |  1.670  |  3.175710 |

668 |  1.680  |  3.248006 |

669 |  1.690  |  3.321329 |

670 |  1.700  |  3.395684 |

671 |  1.710  |  3.471077 |

672 |  1.720  |  3.547514 |

673 |  1.730  |  3.625001 |

674 |  1.740  |  3.703544 |

675 |  1.750  |  3.783149 |

676 |  1.760  |  3.863821 |

677 |  1.770  |  3.945566 |

678 |  1.780  |  4.028390 |

679 |  1.790  |  4.112299 |

680 |  1.800  |  4.197299 |

681 |  1.810  |  4.283395 |

682 |  1.820  |  4.370594 |

683 |  1.830  |  4.458901 |

684 |  1.840  |  4.548321 |

685 |  1.850  |  4.638862 |

686 |  1.860  |  4.730529 |

687 |  1.870  |  4.823327 |

688 |  1.880  |  4.917262 |

689 |  1.890  |  5.012341 |

690 |  1.900  |  5.108569 |

691 |  1.910  |  5.205951 |

692 |  1.920  |  5.304495 |

693 |  1.930  |  5.404205 |

694 |  1.940  |  5.505088 |

695 |  1.950  |  5.607149 |

696 |  1.960  |  5.710394 |

697 |  1.970  |  5.814830 |

698 |  1.980  |  5.920461 |

699 |  1.990  |  6.027294 |

700 |  2.000  |  6.135335 |

----------------------------

Итераций: 700

Конечные значения: x=-3.680    y=-6.509638

Метод деления попалам (дихотомии)

--------------------------------------------------

 Итер| (a+b)/2 |F((a+b)/2)|     a      |     b   |

--------------------------------------------------

 1 |-1.500000 |2.606689 | [-5.000000,|2.000000]

 2 |-3.249500 |-5.285336 | [-5.000000,|-1.499000]

 3 |-4.124250 |-4.205499 | [-5.000000,|-3.248500]

 4 |-3.686875 |-6.509089 | [-4.125250,|-3.248500]

 5 |-3.468188 |-6.169750 | [-3.687875,|-3.248500]

 6 |-3.577531 |-6.425237 | [-3.687875,|-3.467188]

 7 |-3.632203 |-6.491094 | [-3.687875,|-3.576531]

 8 |-3.659539 |-6.506401 | [-3.687875,|-3.631203]

 9 |-3.673207 |-6.509365 | [-3.687875,|-3.658539]

10 |-3.680041 |-6.509637 | [-3.687875,|-3.672207]

--------------------------------------------------

Итераций: 10

Конечные значения: x=-3.676624   y=-6.509603

Метод золотого сечения

----------------------------------------------------------

Итер|  (a+b)/2   |  F((a+b)/2) |     a       |     b     |

----------------------------------------------------------

 1 | -1.500000  |  2.606689  | [-5.000000, | 2.000000]|

 2 | -2.836881  |  -2.931572  | [-5.000000, | -0.673762]|

 3 | -3.663119  |  -6.507486  | [-5.000000, | -2.326238]|

 4 | -3.152476  |  -4.783244  | [-3.978714, | -2.326238]|

 5 | -3.468071  |  -6.169399  | [-3.978714, | -2.957428]|

 6 | -3.663119  |  -6.507486  | [-3.978714, | -3.347524]|

 7 | -3.783665  |  -6.406817  | [-3.978714, | -3.588617]|

 8 | -3.709164  |  -6.501468  | [-3.829710, | -3.588617]|

 9 | -3.663119  |  -6.507486  | [-3.737621, | -3.588617]|

10 | -3.691576  |  -6.508230  | [-3.737621, | -3.645531]|

11 | -3.673989  |  -6.509437  | [-3.702446, | -3.645531]|

12 | -3.684858  |  -6.509337  | [-3.702446, | -3.667271]|

13 | -3.678140  |  -6.509643  | [-3.689010, | -3.667271]|

14 | -3.682292  |  -6.509548  | [-3.689010, | -3.675574]|

----------------------------------------------------------

Итераций: 14

Конечные значения: -3.679726  |  -6.509643

Метод Фибоначчи

----------------------------------------------------------

Итер|  (a+b)/2   |  F((a+b)/2) |     a       |     b     |

----------------------------------------------------------

 1 | -1.500000  |  2.606689  | [-5.000000, | 2.000000]|

 2 | -2.836879  |  -2.931562  | [-5.000000, | -0.673759]|

 3 | -3.663121  |  -6.507486  | [-5.000000, | -2.326241]|

 4 | -3.152482  |  -4.783279  | [-3.978723, | -2.326241]|

 5 | -3.468085  |  -6.169442  | [-3.978723, | -2.957447]|

 6 | -3.663121  |  -6.507486  | [-3.978723, | -3.347518]|

 7 | -3.783688  |  -6.406772  | [-3.978723, | -3.588652]|

 8 | -3.709220  |  -6.501437  | [-3.829787, | -3.588652]|

 9 | -3.663121  |  -6.507486  | [-3.737589, | -3.588652]|

10 | -3.691489  |  -6.508249  | [-3.737589, | -3.645390]|

11 | -3.673759  |  -6.509417  | [-3.702128, | -3.645390]|

12 | -3.684397  |  -6.509383  | [-3.702128, | -3.666667]|

13 | -3.677305  |  -6.509626  | [-3.687943, | -3.666667]|

----------------------------------------------------------

Итераций: 13

Конечные значения: x=-3.680851  y=-6.509615

Метод парабол

-------------------------------------------------------------------------------

Итер |      a     |       b       |       c       |      c1       |    f(a)      |     f(b)   

-------------------------------------------------------------------------------

 1| -5.000000|2.000000|-3.680000|-1.111653|28.413159|6.135335|

 2| -5.000000|-1.111653|-3.680000|-2.629593|28.413159|2.777281|

 3| -5.000000|-2.629593|-3.680000|-3.330112|28.413159|-1.685286|

 4| -5.000000|-3.330112|-3.680000|-3.575386|28.413159|-5.658179|

 5| -5.000000|-3.575386|-3.680000|-3.649616|28.413159|-6.421748|

 6| -5.000000|-3.649616|-3.680000|-3.670942|28.413159|-6.502269|

 7| -5.000000|-3.670942|-3.689058|-3.679509|28.413159|-6.509095|

 8| -3.689058|-3.670942|-3.679509|-3.678881|-6.508739|-6.509095|

--------------------------------------------------------------------------------

Итераций:  8

Конечные значения: x=-3.679509  y=-6.509645

Заключение

Одним из первых вопросов, возникающих при поиске минимума, является вопрос эффективности алгоритма. Из рассмотренных алгоритмов с данной задачей лучше остальных справился метод парабол. Ему понадобилось всего 8 итераций для нахождения минимума с точностью 0.01. В то время как самый «медленный» алгоритм –  метод пассивного поиска –  справился с этой же задачей за 700 итераций. 

Список литературы:

  1.  Харчистов Борис Федорович. Методы оптимизации.
  2.  В.А. Буслов, С.Л.Яковлев. Численные методы I. Исследование функций.
  3.  http://alglib.sources.ru/optimization/goldensection.php
  4.  http://alglib.sources.ru/optimization/
  5.  http://elib.ispu.ru/library/math/sem1/kiselev1/node87.html

Приложение

 

Код реализации программы на С++:

// minimum.cpp : main project file.

#include "stdafx.h"

#include "iostream"

#include "conio.h"

#include "math.h"

#include "stdio.h"

using namespace std;

double *method=new double[5]; //массив для числа итераций каждого метода

//////////////////////////////////////////////////////////

//////////определение функции/////////////////////////////

//////////////////////////////////////////////////////////

double F(double x)

{

 return pow(x, 3) - x + exp(-x);

}

//////////////////////////////////////////////////

////////процедура для пассивного поиска///////////

//////////////////////////////////////////////////

void pass(double a, double b, double e, short scr)//создаем функцию с //параметрами a – левый конец отрезка,  b –правый, e -погрешность

{

FILE *ps;

ps=fopen("D://minimum//passive.txt", "w");//создаем текстовый  файл в //который будут записываться выходные данные

 double Ymin=F(a), Xmin=a;

fprintf(ps, "Метод пассивного поиска\n");

fprintf(ps, "-----------------------------\n");

fprintf(ps, " Итер |    Y    |      x     |\n"); //«шапка» таблицы

fprintf(ps, "-----------------------------\n");

 for(double i=a; i<=b; i=i+e) // «пробегаем» отрезок с шагом е

 {

  fprintf(ps, "%4.0f | %6.3f  |  %6.6f |\n", (i-a)/e, i, F(i));// записываем в файл промежуточные значения

  if (F(i)<Ymin)//сравним текущее значение функции с новым

 {

  Ymin=F(i);//если оно  меньше, то оно записывается в переменную Ymin

  Xmin=i;//значение аргумента при данном минимуме

 }

 }

 

fprintf(ps, "----------------------------\n");

fprintf(ps, "\nИтераций:%4.0f\nКонечные значения: x=%6.3f    y=%6.6f", (b-a)/e, Xmin, Ymin);//Запись в файл кол-ва итераций, точку //минимума и зн-е ф-ии в ней

 

 /// если этот метод самый оптимальный, выводим его результаты на экран

 if (scr==1) printf("Kone4nie zna4eni9: x=%6.3f,  y=%6.6f", Xmin, Ymin);

method[0]=floor( (b-a)/e);

}

////////////////////////////////////////////////////////////////

//////////////процедура для метода дихотомии////////////////////

////////////////////////////////////////////////////////////////

void dihotomia(double a, double b, double e,short scr)

{

FILE *dih;

dih=fopen("D://minimum//dih.txt", "w");

 double l=a, m=b; //создаем переменные для значений функции и значений //аргумента

 int iter=1;

fprintf(dih, "Метод деления попалам (дихотомии)\n");

fprintf(dih, "--------------------------------------------------\n");

fprintf(dih, " Итер| (a+b)/2 |F((a+b)/2)|     a      |     b   |\n");

fprintf(dih, "--------------------------------------------------\n");

 while ((b-a)>e)

 {

 fprintf(dih, "%3d |%6.6f |%6.6f | [%6.6f,|%6.6f]\n",iter,(a+b)/2, F((a+b)/2), a, b);// записываем в файл промежуточные значения

 l=(a+b)/2 - e/10;

 m=(a+b)/2 + e/10;

 if (F(l)<F(m))

  b=m;

 else a=l;

 iter++;

  }

fprintf(dih, "--------------------------------------------------\n");

fprintf(dih, "\nИтераций:%3d\nКонечные значения: x=%6.6f   y=%6.6f",iter-1, (a+b)/2, F((a+b)/2));

 /// если этот метод самый оптимальный, выводим его результаты на экран

 if (scr==1) printf( "Kone4nie zna4eni9: x=%6.3f, y=%6.6f", (a+b)/2, F( (a+b)/2 ));

method[1]=iter-1;

}

//////////////////////////////////////////////////////////

//////Процедура для метода золотого сечения //////////////

//////////////////////////////////////////////////////////

void zol_sechenie(double a, double b, double e, short scr)

{

FILE *zol;

zol=fopen("D://minimum//sechenie.txt", "w");

fprintf(zol, "Метод золотого сечения\n");

fprintf(zol, "----------------------------------------------------------\n");

fprintf(zol, "Итер|  (a+b)/2   |  F((a+b)/2) |     a       |     b     |\n");

fprintf(zol, "----------------------------------------------------------\n");

 double fi=sqrt(5.0)/2 - 0.5, l=a+(1-fi)*(b-a), m=a+fi*(b-a), d1=F(l), d2=F(m);

 int iter=1;

 while ((b-a)>e)

  {

   fprintf(zol, "%3d | %6.6f  |  %6.6f  | [%6.6f, | %6.6f]|\n",iter,(a+b)/2, F((a+b)/2), a, b);

   if (d1>d2)

    {

     a=l; l=m; d1=d2;

     m=a+fi*(b-a); d2=F(m);

    }

   else

    {

     b=m; m=l; d2=d;

     l=a+(1-fi)*(b-a); d1=F(l);

    }

   iter++;

  }

fprintf(zol, "----------------------------------------------------------\n");

fprintf(zol, "\nИтераций:%3d\nКонечные значения: %6.6f  |  %6.6f",iter-1, (a+b)/2, F((a+b)/2));

 /// если этот метод самый оптимальный, выводим его результаты на экран

 if (scr==1) printf("Kone4nie zna4eni9: x=%6.6f, y=%6.6f", (a+b)/2, F((a+b)/2));

method[2]=iter-1;

}

///////////////////////////////////////////////////////

//////Процедура для метода Фибоначи ///////////////////

///////////////////////////////////////////////////////

void fibonachi(double a, double b, double e, short scr)

{

FILE *fibo;

fibo=fopen("D://minimum//Fibonachi.txt", "w");

fprintf(fibo, "Метод Фибоначчи\n");

fprintf(fibo, "----------------------------------------------------------\n");

fprintf(fibo, "Итер|  (a+b)/2   |  F((a+b)/2) |     a       |     b     |\n");

fprintf(fibo, "----------------------------------------------------------\n");

 int fib[80]; //массив с числами Фибоначчи

fib[0]=1; fib[1]=1; //в первые два эл-та записываем 1 тк так начин-ся последовательность Фибоначчи

 int i=1;

 while ( (b-a)/e >fib[i])

   {

    i++; fib[i]=fib[i-2] + fib[i-1];

   }

 double l=a+fib[i-2]*(b-a) / fib[i], m=a+fib[i-1]*(b-a)/fib[i], d1=F(l), d2=F(m);

 for (int k=i-1; k>=2; k--)

{

  fprintf(fibo, "%3d | %6.6f  |  %6.6f  | [%6.6f, | %6.6f]|\n",i-k,(a+b)/2, F((a+b)/2), a, b);

  if (d1<d2)

 {

  b=m; m=l; d2=F(l);

  l=a+fib[k-2]*(b-a)/fib[k];

  d1=F(l);

 }

   else

 {

  a=l; l=m; d1=d2;

  m=a+fib[k-1]*(b-a)/fib[k];

  d2=F(m);

 }

}

fprintf(fibo, "----------------------------------------------------------\n");

fprintf(fibo,"\Итераций:%3d\nКонечные значения: x=%6.6f  y=%6.6f",i-2, (a+b)/2, F((a+b)/2));

 /// если этот метод самый оптимальный, выводим его результаты на экран

 if (scr==1) printf("Kone4nie zna4eni9: x=%6.6f, y=%6.6f", (a+b)/2, F((a+b)/2));

method[3]=i-2;

}

//////////////////////////////////////////////

///////Процедура для метода парабол///////////

//////////////////////////////////////////////

void parabola(double a, double b, double e, short scr)

{

 int iter;

FILE *par;

par=fopen("D://minimum//parabola.txt", "w");

fprintf(par, "Метод парабол \n");

fprintf(par, "----------------------------------------------------------------\n");

fprintf(par, "Итер |    a   |    b    |    c    |   c1    |  f(a)   |  f(b)   \n");

fprintf(par, "----------------------------------------------------------------\n");

//Здесь методом пассивного поиска выбирается точка для начала метода парабол

 double min=F(a), x0=a;

 for (double i=a; i<=b; i+=e)

 {

  if (F(i)<min)

   {

    min=F(i);

    x0=i;

   }

 }

//Начнём выбирать по 3 точки, через которые проходит парабола

 double c=x0,c1,x2,x3;

 for (iter=1; (b-a)>e; iter++)

  {

   c1=0.5*( (a+b)*(a-b)*(F(c)-F(b)) - (c+b)*(c-b)*(F(a)-F(b)) ) / ( (a-b)*(F(c)-F(b)) - (c-b)*(F(a)-F(b)) );

   x2=0.5*( (a+b)*(b-a)*(F(a)-F(c)) - (a+c)*(a-c)*(F(b)-F(a)) ) / ( (b-a)*(F(a)-F(c)) - (a-c)*(F(b)-F(a)) );

   x3=0.5*( (c+b)*(c-b)*(F(a)-F(b)) - (a+b)*(a-b)*(F(c)-F(b)) ) / ( (c-b)*(F(a)-F(b)) - (a-b)*(F(c)-F(b)) );

//Найдём минимум параболической функции (у параболы два экстремума => один из них - минимум)

   if (( (c1<=x2)&&(x2<=x3) ) || ( (x2<=x3)&&(x2<=c1) )) c1=x2;

   if (( (c1<=x3)&&(x3<=x2) ) || ( (x2<=x3)&&(x3<=c1) )) c1=x3;

   fprintf(par, "%3d| %6.6f|%6.6f|%6.6f|%6.6f|%6.6f|%6.6f|\n", iter, a, b, c, c1, F(a), F(b));

   if (c1>c)

    {

     double temp=c1; c1=c; c=temp;

    }

//Проверим, не дал ли этот шаг более точный результат    

   if (F(c1)<F(c))

    {

     b=c; c=c1;

    }

    else a=c1;

   if ( (c-a)/(b-a)<=e ) c=2*c-a;

   if ( (b-c)/(c-a)<=e ) c=2*c-b;

   if (iter>20) break; //если итераций стало более 20, то выйти, так как точность метода

           //парабол дотаточна высока и дальнейшие изменения точки минимума

           //не выйдет за пределы точности

  }

 fprintf(par, "----------------------------------------------------------------\n");

 fprintf(par, "\nИтераций:%3d\nКонечные значения: x=%6.6f  y=%6.6f",iter-1, a, F(a));

 /// если этот метод самый оптимальный, выводим его результаты на экран

 if (scr==1) printf("Kone4nie zna4eni9: x=%6.6f, y=%6.6f", a, F(a));

 method[4]=iter-1;

}

///////////////////////////////////////////////////////

/////////////...Главная процедура...///////////////////

///////////////////////////////////////////////////////

void main(void)

{

 cout<<"f(x)=x^3 - x + exp(-x)\n\n";

 double a,b,e;

 cout<<"vvedite otrezok i pogreshnost' \n";

 cin>> a >> b >> e;

 pass(a,b,e,0);

 dihotomia(a,b,e,0);

 zol_sechenie(a,b,e,0);

 fibonachi(a,b,e,0);

 parabola(a,b,e,0);

 cout<<"\nProgramma zapisala faili v papky 'D:\\minimum\n\n";

//Начнём искать метод, давший результат за наименьшее число итераций

 int optim=0;

  for (int i=1; i<=4; i++)

   if (method[i]<method[optim]) optim=i;// ищем наименьшее число итераций

  char* result;

  switch (optim)

   {

    case 0 : result="metod passivnogo poiska"; pass(a,b,e,1); break;

    case 1 : result="method dihotomii";  dihotomia(a,b,e,1); break;

    case 2 : result="method zolotogo secheniya"; zol_sechenie(a,b,e,1); break;

    case 3 : result="method FIbonachi"; fibonachi(a,b,e,1); break;

    case 4 : result="method parabol"; parabola(a,b,e,1); break;

   }

  cout << "\n\noptimalni metod - "<< result << ", " <<method[optim] << " step(s)";

  cout << "\n\n";

 getch();

}

Таблицы промежуточных значений


 

А также другие работы, которые могут Вас заинтересовать

14544. Шенгенские соглашения 24.59 KB
  Шенгенские соглашения 1.Общая характеристика Шенгенских соглашений 2.Шенгенское соглашение 1985 г. 3.Шенгенская конвенция 1990 г. 1.Общая характеристика Шенгенских соглашений Шенгенские соглашения система из двух договоров которые были подписаны во второй полови
14545. Образование Европейских сообществ 33.75 KB
  Образование Европейских Сообществ 1. Парижский договор 1951 года и создание Европейского Объединения Угля и Стали1 2. Римский договор 1957 года и создание ЕЭС3 3. Попытка создания сообщества по безопасности и его провал7 4. Римский договор 1957 года и создание Европейского ...
14546. Особенности интеграции в Североамериканском регионе 18.72 KB
  Особенности интеграции в Североамериканском регионе Вся территория Северной Америки является зоной свободной торговли называемой официально Североамериканским Соглашением о Свободной Торговле North American Free Trade Area НАФТА. В неё входят: США Канада и Мексика. Функц...
14547. ПАРИЖСКИЙ ДОГОВОР 1951 ГОДА И СОЗДАНИЕ ЕВРОПЕЙСКОГО ОБЪЕДИНЕНИЯ УГЛЯ И СТАЛИ 22.04 KB
  Парижский договор 1951 года и создание Европейского Объединения Угля и Стали Парижский Договор был подписан 18 апреля 1951 года вступил в силу 1 января 1952 года. Он положил начало созданию первого интеграционного объединения в Западной Европе Европейского Объединения Угля ...
14548. УГЛУБЛЕНИЕ И РАСШИРЕНИЕ ЗАПАДНОЕВРОПЕЙСКОЙ ИНТЕГРАЦИИ 18.63 KB
  Углубление и расширение Западноевропейской интеграции Середина 1968 года. На 15 года раньше намеченного срока завершение создания таможенного союза. 1971 год. Принятие плана Вернера премьерминистра Люксембурга. По его плану намечалось создание к 1980 году экономическог...
14549. ОТ ЕВРОПЕЙСКИХ СООБЩЕСТВ К ЕДИНОМУ ЕВРОПЕЙСКОМУ АКТУ. УГЛУБЛЕНИЕ ЗАПАДНОЕВРОПЕЙСКОЙ ИНТЕГРАЦИИ 31.16 KB
  От Европейских сообществ к единому Европейскому акту. Углубление Западноевропейской интеграции. Оглавление 1. Брюссельский договор 1965 года1 2. Первое расширение ЕЭС2 3. Углубление и расширение Западноевропейской интеграции3 4. Единый Европейский Акт ЕЕА5 1. Бр...
14550. ОБРАЗОВАНИЕ ЕВРОПЕЙСКИХ СООБЩЕСТВ 51.85 KB
  Образование Европейских Сообществ Оглавление 1. Парижский договор 1951 года и создание Европейского Объединения Угля и Стали1 2. Римский договор 1957 года и создание ЕЭС3 3. Попытка создания сообщества по безопасности и его провал7 4. Римский договор 1957 года и создание
14551. МААСТРИХТСКИЙ ДОГОВОР. СОЗДАНИЕ ЕВРОПЕЙСКОГО СОЮЗА 28.63 KB
  Маастрихтский Договор. Создание Европейского Союза. Оглавление 1. Роль правительственных конференций в подготовке Маастрихтского договора1 2. Основные положения договора о Европейском Союзе1 3. Три опоры Европейского Союза. Единое Общеевропейское Гражданство1 4...
14552. ЕДИНАЯ СЕЛЬСКОХОЗЯЙСТВЕННАЯ ПОЛИТИКА (ЕСХП) ЕВРОПЕЙСКОГО СОЮЗА 41.35 KB
  Единая Сельскохозяйственная Политика ЕСХП Европейского Союза Оглавление Введение2 1. Необходимость и Цели ЕСХП2 2. Начало ЕСХП4 3. Современные реформы ЕСХП5 4. Реформа Сахарного Режима 2005 20066 Введение Единая Сельскохозяйственная Политика ЕСХП Е...