Я новичок. Попала ко мне программа давно написанная в 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-ей?
Спасибо!
Новичок:обращение к переменной внутри FindRoot версии 3 vs 8
Модератор: Admin
Re: Новичок:обращение к переменной внутри FindRoot версии 3
lollard писал(а):...Разобрался по какой причине это происходит, но не знаю как исправить ситуацию
Попробуйте так...
Do[Print[x], {x, 0.2, 1, 0.2}]; FindRoot[x^2 - 2 x + 1 == 0, {x, 0.2}]
Re: Новичок:обращение к переменной внутри FindRoot версии 3
VSI писал(а):Попробуйте так...
Do[Print[x], {x, 0.2, 1, 0.2}]; FindRoot[x^2 - 2 x + 1 == 0, {x, 0.2}]
нужет доступ именно к значениям х, которые генерируются алгоритмом поиска корня FindRoot, а не просто вывод последовательности чисел