Страница 1 из 1

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

Добавлено: Вс янв 13, 2013 12:14 pm
lollard
Я новичок. Попала ко мне программа давно написанная в 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-ей?

Спасибо!

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

Добавлено: Вс янв 13, 2013 7:31 pm
VSI
lollard писал(а):...Разобрался по какой причине это происходит, но не знаю как исправить ситуацию

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

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

Добавлено: Вт янв 15, 2013 1:33 pm
lollard
VSI писал(а):Попробуйте так...
Do[Print[x], {x, 0.2, 1, 0.2}]; FindRoot[x^2 - 2 x + 1 == 0, {x, 0.2}]


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