Новичок:обращение к переменной внутри FindRoot версии 3 vs 8

Форум пользователей пакета Mathematica

Модератор: Admin

lollard
Сообщения: 2
Зарегистрирован: Ср ноя 21, 2012 12:40 pm

Новичок:обращение к переменной внутри FindRoot версии 3 vs 8

Сообщение lollard » Вс янв 13, 2013 12:14 pm

Я новичок. Попала ко мне программа давно написанная в 3 версии mathematica. В ней совершаются арифметические операции внутри оператора FindRoot с переменной, по которой идет итерация. При попытке запустить программу в 8-ой версии выдается ошибка.

Разобрался по какой причине это происходит, но не знаю как исправить ситуацию.

В 3-ей версии вот такая конструкция выдает ряд значений x от 0.2 до 1, а уже потом результат.
FindRoot[Print[x]; x^2 - 2 x + 1 == 0, {x, 0.2}]

В 8-ой же x выдается как символ, а не его значения и потом результат.

Есть ли возможность в 8-ой версии обращаться к текущемму значению x на каждой итерации, как это было в 3-ей?

Спасибо!

VSI
Сообщения: 305
Зарегистрирован: Вт мар 15, 2005 6:40 pm
Откуда: Мариуполь

Re: Новичок:обращение к переменной внутри FindRoot версии 3

Сообщение VSI » Вс янв 13, 2013 7:31 pm

lollard писал(а):...Разобрался по какой причине это происходит, но не знаю как исправить ситуацию

Попробуйте так...
Do[Print[x], {x, 0.2, 1, 0.2}]; FindRoot[x^2 - 2 x + 1 == 0, {x, 0.2}]

lollard
Сообщения: 2
Зарегистрирован: Ср ноя 21, 2012 12:40 pm

Re: Новичок:обращение к переменной внутри FindRoot версии 3

Сообщение lollard » Вт янв 15, 2013 1:33 pm

VSI писал(а):Попробуйте так...
Do[Print[x], {x, 0.2, 1, 0.2}]; FindRoot[x^2 - 2 x + 1 == 0, {x, 0.2}]


нужет доступ именно к значениям х, которые генерируются алгоритмом поиска корня FindRoot, а не просто вывод последовательности чисел