- Notifications
You must be signed in to change notification settings - Fork441
Closed
Labels
Description
This looks like it is failing to throw the warning to the user about it being miso and not supported without slycot for some reason.
tf = control.tf([[[-235, 1.146e4], [-235, 1.146E4], [-235, 1.146E4, 0]]], [[[1, 48.78, 0], [1, 48.78, 0, 0], [0.008, 1.39, 48.78]]])tfOut[80]:Input 1 to output 1:-235 s + 1.146e+04------------------ s^2 + 48.78 sInput 2 to output 1:-235 s + 1.146e+04------------------ s^3 + 48.78 s^2Input 3 to output 1: -235 s^2 + 1.146e+04 s--------------------------0.008 s^2 + 1.39 s + 48.78In [81]:control.tf2ss(tf)---------------------------------------------------------------------------ImportError Traceback (most recent call last)/home/jgoppert/anaconda3/lib/python3.5/site-packages/control-dev-py3.5.egg/control/statesp.pyin _convertToStateSpace(sys,**kw) 646 try:--> 647 from slycot import td04ad 648if len(kw):ImportError: No module named'slycot'During handling of the above exception, another exception occurred:ValueError Traceback (most recent call last)<ipython-input-81-c8ef26438f31>in<module>() 1 ----> 2 control.tf2ss(tf)/home/jgoppert/anaconda3/lib/python3.5/site-packages/control-dev-py3.5.egg/control/statesp.pyin tf2ss(*args) 1082 raise TypeError("tf2ss(sys): sys must be a TransferFunction\ 1083 object.")-> 1084return _convertToStateSpace(sys) 1085 else: 1086 raise ValueError("Needs 1 or 2 arguments; received %i." % len(args))/home/jgoppert/anaconda3/lib/python3.5/site-packages/control-dev-py3.5.egg/control/statesp.pyin _convertToStateSpace(sys,**kw) 671# I think this will fail if num and den aren't 1-D after 672# the squeeze--> 673 lti_sys = lti(squeeze(sys.num), squeeze(sys.den)) 674return StateSpace(lti_sys.A, lti_sys.B, lti_sys.C, lti_sys.D, 675 sys.dt)/home/jgoppert/anaconda3/lib/python3.5/site-packages/scipy/signal/ltisys.pyin __init__(self,*system,**kwargs) 759 self._den = None 760 --> 761 self.num, self.den = normalize(*system) 762 763 def __repr__(self):/home/jgoppert/anaconda3/lib/python3.5/site-packages/scipy/signal/filter_design.pyin normalize(b, a) 1084if len(b.shape) == 1: 1085 b = asarray([b], b.dtype.char)-> 1086while a[0] == 0.0 and len(a)> 1: 1087 a = a[1:] 1088 outb = b* (1.0) / a[0]ValueError: The truth value of an array with more than one element is ambiguous. Usea.any() ora.all()