-
Notifications
You must be signed in to change notification settings - Fork 444
Description
What is the issue?
This code must have worked at one time but is now broken. Have no previous experience with it running correctly.
Two issues related to:
- http://databookuw.com ... DATA DRIVEN SCIENCE & ENGINEERING ... CODE.zip + DATA.zip (PYTHON CODE)
Notebook containing the broken code:
CH09_SEC03_ERA_OKID.ipynb
Steps to Reproduce
- Test on Python 3.10
- Run the notebook
Source changes to accommodate the failures
The following changes to the source were needed:
Issue 1. Slice assignment
Change
yFull[:,:,qi],t = impulse(sysFull,T=tspan,input=qi)
to
yFull[:,:,qi:qi+1],t = impulse(sysFull,T=tspan,input=qi)
Change
y1[:,:,qi],t1 = impulse(sysFull,np.arange(200),input=qi)
y2[:,:,qi],t2 = impulse(sysERA,np.arange(100),input=qi)
y3[:,:,qi],t3 = impulse(sysERAOKID,np.arange(100),input=qi)
to
y1[:,:,qi:qi+1],t1 = impulse(sysFull,np.arange(200),input=qi)
y2[:,:,qi:qi+1],t2 = impulse(sysERA,np.arange(100),input=qi)
y3[:,:,qi:qi+1],t3 = impulse(sysERAOKID,np.arange(100),input=qi)
Issue 2. Invalid np array shape
Change
yRandom = lsim(sysFull,uRandom,range(200))[0].T # Output
to
yRandom = lsim(sysFull,uRandom.T,range(200))[0].T # Output
Summary
Potential root causes could be due to changes in this library or in changes to Python or both.