Matlab变量跨函数 The scope of variable ' ' spans multiple functions

在Matlab中发现一种很有趣,也应该是很有用的现象

function A

  x = ones(2);

  function B(y1);

  z1 = function C;

  

  function B(y2)

    x

    y2

  end

  z2 = function C

    x

    z2

  end

end

说明:x为同一个x,呈淡蓝色,The scope of variable ' x' spans multiple functions;

y1y2分别为形参和实参,不跨函数,否则不需要参数传递;

z1z2也分别为形参和实参,不跨函数,否则也不需要参数传递。