函数内的函数

时间:2015-01-13 20:12:08

标签: matlab function

代码:

function father(earnings)
leftover = earnings - son() - daughter();
disp(leftover)

    function fees = son()
    fees = .50*earnings;
    earnings = earnings - fees;
    end

    function pocketmoney = daughter()
    pocketmoney = .75*earnings;
    end

end

问题:

当我给父函数200输入参数时,MATLAB显示-75作为答案。当收益= 100时,答案是可能的。 函数son()内部的收益值发生了变化,这是函数father()的子函数。父函数的所有变量都可用于子函数,但不能反过来。那么如何将收益从200更新到100呢。

1 个答案:

答案 0 :(得分:0)

您从收入中扣除两次费用,收入变量在父级功能和子级之间共享。 son函数在函数中减去50%,然后父函数再次减去。

儿子的功能只应返回乘法值

function fees = son()
  fees = .50*earnings
end