Задача:
решить методом половинного деления с точностью до 10 минус третьей степени.
xsinx-1=0
---
расписать, сфоткать. Вознаграждение хз, без понятия сколько за примеры берут.
M-J, На каком интервале нужно рассчитать?
Вот сделал программу на php по методу половинного деления.
Рассчитывает интервал на промежутке от 0 до 100.
[php:1:e2606fc76d]function f($x) {
return bcmul($x, sin($x), 3) - 1;
}
function pol($x1, $x2) {
return bcdiv(bcadd($x2, $x1, 3), 2, 3);
}
function n($x1, $x2) {
$x = pol($x1, $x2);
while(f($x) > 0.001) {
if(f($x) > 0)
$x2 = $x;
else
$x1 = $x;
$x = pol($x1, $x2);
}
return $x;
}
var_dump(n(0, 100));[/php:1:e2606fc76d]
блин, парни, я без понятия как там и что, есть просто текст, не мне, другу=) и не программно, вообще, как обычно, на личточке=)да и 10$ норм если правильно)
21 Дек 2012, 23:08M-J, если в кратце - берётся отрезок длинной AB и делится на пополам. Получается 2 отрезка одинаковой длинны: AC и CB.
Формула: C = (A+B)/2
Далее, если f(C) не равно 0 то применяем формулу к каждому из отрезков АС и СB пока не найдём корень уравнения (пока С не сменит знак). Число таких последовательных действий может быть очень велико.
Думаю понятно объяснил
Такие задачи лучше решать программным методом.
M-J пишет:
"блин, парни, я без понятия как там и что, есть просто текст, не мне, другу=) и не программно, вообще, как обычно, на личточке=)да и 10$ норм если правильно)"
как тебе сказать... в методе половинного решения по дефолту нужен диапазон, отрезок так сказать... И ты не в силах этом противостоять. Но отталкиваясь от логики, смею предположить, что решение твоей задачи - программа, которое задаются диапазон.