编写MATLAB递归函数

时间:2015-10-07 22:38:42

标签: matlab recursion

写一个递归函数有点困难...由于某种原因,它没有接受输入。

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函数获取ExcelWenie2_fn生成的Ainput向量,并使用这个新输入再次运行。当我完成每个步骤时,错误应该显着减少,直到MaxError向量中所有错误值的最大错误小于1,但它只是无休止地循环。我哪里出错了,我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

你应该像这样修复你的功能:

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
         [FinalAinput, FinalMaxError]= recursiveExcelWenie(P, A, NewInput, D)
    end
end