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.
Просто используйте отладчик! Просто нажмите на маленькую строку рядом с номером строки, чтобы появилась красная точка, после чего вызовите функцию 'father (200)'. Затем вы можете пройти все вычисления MATLAB! – knedlsepp
Просто говорю @Manahil: вы задали пару вопросов здесь, и все же есть многие из них, которые вы не приняли/не дали. Есть ли для этого конкретная причина? Не могли бы вы проверить ответы на свой вопрос и принять те, которые вам помогли? Спасибо –