Имея немного сложностей, записывая рекурсивную функцию ... по какой-то причине она не принимает входные данные.Проблема с написанием рекурсивной функции MATLAB
function [FinalAinput, FinalMaxError] = recursiveExcelWenie(P, A, Ainput, D)
Aoutput = ExcelWenie_fn(P, A, D)
[MaxError, Ainput] = ExcelWenie2_fn(Aoutput, A)
if MaxError < 1
FinalAinput = Ainput
FinalMaxError = MaxError
else
NewInput = Ainput
[Final] = recursiveExcelWenie(P, A, NewInput, D)
end
end
Я пытаюсь иметь функцию recursiveExcelWenie взять вектор Ainput порожденную ExcelWenie2_fn и запустить себя снова с этим новым входом. Ошибка должна значительно уменьшаться, когда я просматриваю каждый шаг до тех пор, пока максимальная ошибка для всех значений ошибки из вектора MaxError не станет меньше 1, но она будет бесконечно петлями. Где я ошибся, и что я могу сделать, чтобы исправить это?
Где вы присвоить ваши возвращенные переменные, '' FinalAinput' и FinalMaxError'? – beaker
@beaker Я изменил свой код, чтобы отразить эту проблему. Определенно спасла меня в беде вдоль линии, но нынешнее изменение не решило проблему. Я сделал что-то не так, или я все еще не вижу больше картины? – genap
Трудно сказать из кода, который вы опубликовали. Вы пробовали смотреть на «MaxError» в отладчике? – beaker