Я делаю секущий метод для поиска корня.
Моя проблема:
Я использую Хотя, чтобы процесс не проходил x итераций, внутри цикла while я использую условие if, когда оно удовлетворяет условию, возвращает корневое значение (p).
Если нет, он обновляется и возвращает «Не найден корень, превышено число итераций».
Дело в том, что я нахожу рут, но я также возвращаю сообщение «Нет рута».
Например, я запускаю скрипт и получаю:
Нет корня
Нет корня
Нет корня
root: [Number]
Цель:
Чтобы вернуть только один раз корень, в противном случае только одно сообщение «Нет рута»
Попытка добавить новую переменную "root" в условие if, чтобы при выполнении условия это значение стало новой переменной.
Не знаю, думал, наверное, это из-за этого.
**While** i<=iter
p=p1-q1*((p1-p0)/(q1-q0));
**if** abs(p-p1)<tol
root=p;
disp('root:')
disp(root)
return
**endif**
i=i+1;
p0=p1
q0=q1
p1=p
q1=f(p);
disp("no root")
**endwhile**
Мне нужно одно из двух, сообщение «Нет корня» или root: [Number]
В то время, когда у меня есть оба сообщения.
Спасибо