Simulink'te yaptığım gibi bazı temel sistem simülasyonları için Yampa'yı kullanmaya çalışıyorum. Bu durumda, this simulink tutorial tarafından tanıtılan bir yay ve amortisör sistemini simüle etmek istiyorum.Yampa'da bir yay/amortisör sistemini simüle etme
system = time >>> force >>> displacement
force = constant (m * g)
displacement = feedback (-) (velocity >>> integral) (gain $ k/m) 0
velocity = feedback (-) integral (gain $ c/m) 0
feedback
işlevi basic feedback loop oluşturur ve bunun gibi uygulanır:
feedback op a b b0 = loopPre b0 inner
where inner = arr (uncurry op) >>> a >>> (identity &&& b)
Oh, ve: Ben sistemini temsil etmek şu sinyal fonksiyonları yazdım
gain x = arr (*x)
Hassas pozitif sabitlerle, çılgınca kararsız bir sistem alıyorum:
Mükemmel, bunun için yığınlar teşekkürler! Ben 'integral' ile bazı basit testler yapmıştım, bu yüzden bir sorun olduğunu düşünmedim. 'Ölçek kapalı' olarak mı, yatay eksen mi demek istiyorsunuz? Kodum zamanı değil, her veri noktasının sadece #. –
darn, bununla ilgili olarak, matlab ile simulink'i karşılaştırırken, y ölçeğinde fark yaratan bir şeyim vardı. – MdxBhmt
Simulink'te aktarım gecikmesi eklemek, sistemi bulduğunuz duruma benzer şekilde kararsız hale getirir, bu yüzden olması gerekir. – MdxBhmt