БлогNot. Когда MathCAD "не считает правильно"...

Когда MathCAD "не считает правильно"...

По итогам случайного обсуждения... когда MathCAD (численные методы, компьютерные вычисления) "не считают правильно" - так вопрос ставить неверно.

Верно так: при каких идеализированных условиях все эти численные методы всё же работают? :)

Корректно эти условия определить и есть задача вычислителя или программиста.

То есть, не пойти по заведомо неверному американско-бакалаврскому пути априорного доверия к любому бреду, выдаваемому компьютером.

В основном, избежать этого помогают 2 принципа:

1. Не пытаться решать нерешаемое.

2. Понимать, что компьютер именно "решит" вам нерешаемое, выдав бредовый ответ, так как с определением "решаемости" у него проблемы. Верней, у него-то проблем нет, это проблемы у нас, если мы сами не понимаем задач, которые перед ним ставим. В последнем случае у нас выйдет "реформа образования", а не решение.

Маленький пример. Человек пытается найти в MathCADe "точку пересечения 2 графиков" - и даже нечто находит:

"пересечение"
"пересечение"

Если даже совсем не подумать, можно обратить внимание, что обе функции симметричны относительно оси 0Y. При этом найденные численно "левая" и "правая" точки пересечения графиков отличаются почти на 20%

Если подумать совсем чуть-чуть, решения уравнения y1(x)=y2(x), очевидно, и не существует, ведь каким бы ни был x, x2-4 уж точно не равно x2-25, а следовательно, не равны и корни из этих чисел... но компьютер, как трудолюбивый идиот, будет это несуществующее решение искать, упираясь в какой-нибудь предел счёта... "из лжи следует всё, что угодно".

Ещё одним примером неправильного подхода к решению подобных проблем был бы перебор с поиском "минимума разницы" между значениями y1 и y2:

а здесь "пересечение" ищется программно
а здесь "пересечение" ищется программно

Здесь очевидно, что с ростом абсолютного значения аргумента уменьшается и модуль разности между y1 и y2, так что "ответом" функции всегда будет ближайшее к пределу перебора значение аргумента.

Наконец, символьный подход может обнадёжить чуть больше. Он даже скажет, что решения нет (внизу второго рисунка).

02.12.2014, 17:22 [11333 просмотра]


теги: учебное ошибка маразм mathcad

К этой статье пока нет комментариев, Ваш будет первым