993

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

Курсовая

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

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

Русский

2013-01-06

579.5 KB

365 чел.

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

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

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

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

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

                    

                                        Выполнил:

студент 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();

}

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


 

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

24835. Земство обедает 1.14 MB
  Художник показывает неравноправное положение членов земской управы простым сюжетным ходом земство обедает соответственно своему социальному положению.
24836. «Иван Грозный и его сын Иван», 1883- 1885, 371 KB
  Обезумевший от гнева старик ударил тяжелым жезлом своего сына в висок. Другою рукою прижимает он сына к себе и целует его испачкав свое лицо в кровь. Кстати лицо сына Репин писал с писателя Гаршина лицо которого по мнению живописца выражало безропотную обреченность и великую жертвенность. Мы видим безумные глаза Грозного волосы вставшие от ужаса дыбом судорожно обнимающие тело сына руки.
24837. Илья Ефимович Репин 166 KB
  К 1863 году Репин мечтавший об Академии художеств отправился в Петербург. После недолгого пребывания в школе рисования Репин был принят в январе 1864 года в Академию художеств вольнослушателем. Окончание Академии художеств с золотой медалью дало право Репину как пенсионеру Академии уехать за границу совершенствовать своё живописное мастерство.
24838. Городские сети (или сети мегаполисов) - Metropolitan Area Networks (MAN) 14.17 KB
  Эти сети появились сравнительно недавно. В то время как локальные сети наилучшим образом подходят для разделения ресурсов на коротких расстояниях и широковещательных передач а глобальные сети обеспечивают работу на больших расстояниях но с ограниченной скоростью и небогатым набором услуг сети мегаполисов занимают некоторое промежуточное положение. Эти сети первоначально были разработаны для передачи данных но сейчас они поддерживают и такие услуги как видеоконференции и интегральную передачу голоса и текста.
24840. Основные отличия локальных сетей от глобальных 17.98 KB
  Так как в последнее время эти отличия становятся все менее заметными то будем считать что в данном разделе мы рассматриваем сети конца 80х годов когда эти отличия проявлялись весьма отчетливо а современные тенденции сближения технологий локальных и глобальных сетей будут рассмотрены в следующем разделе. Класс локальных вычислительных сетей по определению отличается от класса глобальных сетей небольшим расстоянием между узлами сети. Это в принципе делает возможным использование в локальных сетях качественных линий связи: коаксиального...
24841. Сети отделов 27.32 KB
  Главной целью сети отдела является разделение локальных ресурсов таких как приложения данные лазерные принтеры и модемы. Обычно сети отделов имеют один или два файловых сервера и не более тридцати пользователей рис. Сети отделов обычно не разделяются на подсети.
24842. Сети кампусов 58.51 KB
  Сети этого типа объединяют множество сетей различных отделов одного предприятия в пределах отдельного здания или в пределах одной территории покрывающей площадь в несколько квадратных километров. Службы такой сети включают взаимодействие между сетями отделов доступ к общим базам данных предприятия доступ к общим факссерверам высокоскоростным модемам и высокоскоростным принтерам. Пример сети кампуса Именно на уровне сети кампуса возникают проблемы интеграции неоднородного аппаратного и программного обеспечения.
24843. Корпоративные сети 65.42 KB
  Сети масштаба предприятия корпоративные сети объединяют большое количество компьютеров на всех территориях отдельного предприятия. Для соединения удаленных локальных сетей и отдельных компьютеров в корпоративной сети применяются разнообразные телекоммуникационные средства в том числе телефонные каналы радиоканалы спутниковая связь. Пример корпоративной сети Непременным атрибутом такой сложной и крупномасштабной сети является высокая степень гетерогенности нельзя удовлетворить потребности тысяч пользователей с помощью однотипных...