Список динамического сдвига mathematica
Я хочу список переключения для входного буфера. Мой код:
// Имитация ввода с ползунком. Это идеальная работа. Работать только для изменений пользователем.
list = Table[0, {10}];
Slider[Dynamic[b, (b = #; list = Take[Join[list, {b}], -10]) &], {0,
10, 1}]
Dynamic@list
// x - симуляция ввода данных
Dynamic[x = RandomInteger[10], UpdateInterval -> 1]
// Список сдвига. Как "а" изменение, код воспроизводится.
Dynamic[Take[AppendTo[a, x], -10],UpdateInterval -> 1]
Я хочу запустить код только для изменений "х". Нет для изменений "а". Помоги мне, пожалуйста.
1 ответ
Не уверен, как твои Slider
связан с вопросом, но вот ответ:
использование TrackedSymbols
указать, что может вызвать второй Dynamic
,
Dynamic[x = RandomInteger[10], UpdateInterval -> .2]
a = {};
Dynamic[a = PadLeft[Flatten@{a, x}, 10], TrackedSymbols :> {x}]
нет необходимости UpdateInterval
затем.
Имейте в виду, что операции в Dynamic
будет выполняться только тогда, когда такая ячейка видна. Возможно, лучший подход заключается в использовании ScheduledTasks
или обычный Do
+ Pause
,