993

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

Курсовая

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

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

Русский

2013-01-06

579.5 KB

340 чел.

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

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

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

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

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

                    

                                        Выполнил:

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

}

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


 

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

2485. Изучение динамики вращательного движения на крестообразном маятнике (маятник Обербека) 169.89 KB
  Определение момента инерции грузов, находящихся на стержнях маятника Обербека. Определение момента инерции маятника Обербека с учетом сил трения в подшипниках маятника, определение отношения моментов сил, действующих на маятник при его движения для случаев, когда нить намотана на шкивы разных радиусов.
2486. Определение скорости пули при помощи баллистического маятника 235.68 KB
  Цель работы. Определить скорость пули и потери механической энергии при неупругом взаимодействии пули и ловушки, используя закон сохранения момента импульса, закон сохранения и превращения энергии.
2487. Изучение физического маятника. Лабораторная работа 74.77 KB
  Выполнив лабораторную работу, научились определять ускорение свободного падения методом Бесселя.
2488. Изучение свободных и вынужденных колебаний пружинного маятника 77.26 KB
  Цель работы: ознакомление с основными законами колебательного движения, определение коэффициента жесткости пружины, проверка формулы периода колебаний пружинного маятника, определение логарифмического декремента затухания и коэффициента затухания, изучение явления резонанса при вынужденных колебаниях.
2489. Общий физический практикум. Задача 125.79 KB
  Цель работы: Изучение законов динамики вращательного движения. Экспериментальное определение момента инерции диска с помощью маятника Максвелла.
2490. Изучение физического маятника 99.16 KB
  Цель работы: Исследование законов колебательного движения физического маятника и определение ускорения свободного падения.
2491. Изучение физических свойств маятника 57.82 KB
  Математический маятник. Физический маятник. Его характеристика. В данной работе используется универсальный маятник FPM-04, изображённый на рис.2. Основание 1 оснащено регулируемыми ножками 2, которые позволяют произвести выравнивание установки.
2492. Изучение маятника Максвелла 55.4 KB
  Движение твёрдого тела можно рассматривать как движение системы большого числа материальных точек, сохраняющих неизменное положение друг относительно друга. Одним из примеров такой системы является маятник Максвелла.
2493. Проверка основного закона динамики вращения твердого тела с помощью маятника Обербека 132.45 KB
  Математическая форма записи основных закономерностей для поступательного и вращательного движений остается неизменной.