Это потому, что параметры Manipulate
являются локальными.
mu
в Manipulate[ Plot[ g[x], {x, -10, 10}], {{mu, 1}, 0, 2 \[Pi]}]
отличается от глобального mu
, которое вы очистили в предыдущей строке.
Я предлагаю использовать
g[x_, mu_] := (x Sin[mu])^2
Manipulate[Plot[g[x, mu], {x, -10, 10}], {{mu, 1}, 0, 2 \[Pi]}]
Следующее также работает, но оно продолжает изменять значение глобальной переменной, что может вызвать неожиданности позже, если вы не обратите внимание, поэтому я не рекомендую это:
g[x_] := (x Sin[mu])^2
Manipulate[
mu = mu2;
Plot[g[x], {x, -10, 10}],
{{mu2, 1}, 0, 2 \[Pi]}
]
Может случиться, что вы Clear[mu]
, но обнаружите, что оно получает значение в тот момент, когда объект Manipulate прокручивается в поле зрения.