демонстрирует приближенное...



Листинг 8.9 демонстрирует приближенное решение уравнения kx2+y2:=0, которое при любом значении коэффициента k имеет единственный точный корень (х=0,у=0). Тем не менее, при попытке решить его функцией Find для больших k, порядка принятых в листинге, происходит генерация ошибки "No solution was found" (Решение не найдено). Это связано с иным поведением функции f (x,y)=kx2+y2 вблизи ее корня, по сравнению с функциями, приводимыми в качестве примеров выше в этой главе (см. рис. 8.1, 8.2). В отличие от них, f (х,у) не пересекает плоскость f (х,у)=о, а лишь касается ее (рис. 8.7) в точке (х=0,у=0). Поэтому и найти корень изложенными в предыдущем разделе градиентными методами сложнее, поскольку вблизи корня производные f (х,у) близки к нулю, и итерации могут уводить предполагаемое решение далеко от корня.


Ситуация еще более ухудшается, если наряду с корнем типа касания (см. рис. 8.7) имеются (возможно, весьма удаленные) корни типа пересечения. Тогда попытка решить уравнение или систему уравнений с помощью функции Find может приводить к нахождению корня второго типа, даже если начальное приближение было взято очень близко к первому. Поэтому если Вы предполагаете, что система уравнений имеет корень типа касания, намного предпочтительнее использовать функцию Minerr, тем более, что всегда есть возможность проверить правильность решения уравнений простой подстановкой в них полученного решения (см. листинг 8.6).



Содержание раздела