Skip to content

Releases: StefanRickli/anp

ANP v6.1.0: better root finding

22 Jul 10:02
Compare
Choose a tag to compare

This update includes the following changes:

  • Enable ANP to cope with constant functions
  • Make plot's appearance more deterministic
  • Replace 'roots' in 'polyratio.m' with 'uvFactor' from toolbox 'NAClab' by Zhonggang Zeng

This version should be able to handle MIMO systems much better because of the better root finding algorithm 'uvFactor'.

The steps that lead to the incorporation of NAClab are documented in #29 and Mathematics StackExchange.

ANP v6.0.1: Bugfix

28 Apr 13:07
Compare
Choose a tag to compare

This update includes the following changes:

  1. Fix polyratio.reduce()
  2. Lift limitation of results TextBox not respecting scaling factors
  3. Make fix of #23 effective

Don't use 6.0.0 to plot MIMO systems! The determinand calculation most certainly is wrong because of 1).

ANP v6.0.0: MIMO support

27 Apr 14:54
Compare
Choose a tag to compare

Yay, I finally did it :-)

MIMO support is here. Simply supply anp_main with a MIMO transfer function, call it L(s), and it will display the Nyquist plot of det(I + L(s)), suited for the MIMO Nyquist stability criterion, for you.

The following code creates a random 2x2 MIMO transfer function, where every transfer function of the matrix can have degree 2.
anp_main(tf(rss(2,2,2)))

Beware that I perform polynomial divisions by simply cancelling poles and zeros that are (currently) less than 1e-4 apart from each other (after determining them numerically). This is certainly not optimal and could potentially lead to cancellation of legitimate RHP poles and zeros.

Another change is that detours around poles and zeros that lie on the imaginary axis now go to the left of the axis.
This is due to the lesser known properties of MIMO systems that poles could be unaffected by feedback. So we need to count the marginally stable poles and zeros into the D-contour.

Important update 2017-04-28!

Aaaaand the calculation of the determinand is wrong in most cases because of an undetected bug in the fraction reduction code...

Don't use this version to plot MIMO systems!

ANP v5.3.0: New: Unit tests

24 Apr 13:42
Compare
Choose a tag to compare

This release of ANP enables several new keywords that help use the new unit tests:

  • 'return_handle' causes the function to return the handles to the GUI and the tf_processor instance, this enables us to close the window programmatically and destroy all used objects
  • 'trigger_step' causes the GUI not only to initialize but also do one animation step to test all the involved functions for crashes

The unit tests are designed to detect only crashes at the moment.

ANP v5.2.4: Bugfix

24 Apr 13:31
Compare
Choose a tag to compare

In preparation for the introduction of the unit tests I found some bugs with the D-contour code.
These are #17 #18 #19 #20 #21 #22

ANP v5.2.3: Bugfix

18 Apr 10:47
Compare
Choose a tag to compare

The following line would crash the D-contour code:
anp_main([0],[1i,-1i])

This bug was introduced at about a766078 when I separated the D-contour code into smaller files and a class and forgot to initialize some of the local variables from the object variables. This is kind of hard to find, because I don't have tests that trigger every IF-statement, yet.

ANP v5.2.2: Bugs fixed, tidier, faster

30 Mar 20:32
Compare
Choose a tag to compare

Bugs fixed:
As Matlab's standard transpose command ' also does the complex conjugate, we got into problems as soon as non-conjugate poles or zeros were specified.

Tidy:
This release saw a large change in terms how the D-contour was handled.
Prior to the change the whole code was almost in the state as it was originally implemented, and messy.
I put the code for the calculation of the D-contour into a class and tried to single out as many functions into methods as possible. This makes the whole thing a lot more readable, but it's still not the end of the documentation story.

Speedup:

  • The z-value evaluation saw a huge speedup as I have changed the order of an inner and outer loop. What took 8s before takes now 100ms.
  • There have been a lot of small GUI speed improvements which make it way more responsive in zoom/pan events in the sum. We can't do much better, unfortunately, as the main slowdowns come from Matlab's inefficient textbox updates and scatterplots.

ANP with BSD 3-Clause Licence

28 Mar 15:50
Compare
Choose a tag to compare

Finally made a decision on the licence.

ANP v5.2.1: Bugfix: Delay contribution

26 Mar 21:22
Compare
Choose a tag to compare

This update fixes a wrong sign in the contribution of delays!

image

ANP v5.2.0: Time Delays

24 Mar 10:44
Compare
Choose a tag to compare

Added the capability to specify time delays in tf-objects.

  • Either include an exp(-a*s) term in the transfer function expression. I.e. s = tf('s'); G = 1/(s+1)exp(-2s);
  • Or alter the tf-object's Delay property, i.e. s = tf('s'); G = 1/(s+1); G.InputDelay = 2;

EDIT: the picture is wrong due to a wrong sign in the delay contribution! Please use v5.2.1!

image

(Hopefully) fixed the problem with spatial resolution in most cases.