2014-08-31 3 views
0

У меня есть следующий код:переменные области видимости в MATLAB

function test 
s1=1; 
s2=-1; 
    function inner_test 
     s2=1; 
     if s1==s2 
      display('success') 
     end 
    end 

end 

Я думал, он будет отображать «успех», но это не так! Почему это? Связано ли это с областью переменных? Существует ли обходной путь?

ответ

3

Ваша внутренняя функция никогда не называется. Попробуйте это, и отображается success:

function test 
    s1 = 1; 
    s2 = -1; 
    function inner_test 
    s2 = 1; 
    if s1 == s2 
     display('success') 
    end 
    end 
    inner_test() 
end 
Смежные вопросы