## Mathematica 8 – Control Theory Sneak Peek

Lots of people are hitting Walking Randomly looking for info about Mathematica 8 and have had to walk away disappointed….until now!

I’ve been part of the Mathematica 8 beta program for a while now and in order to access the goodies I had to sign an NDA which can be roughly summed up as ‘The first rule of Mathematica 8 beta is that you don’t talk about Mathematica 8 beta.’

As of today, however, I am allowed to show you a tiny little bit of it in advance of it being released. Mathematica 8 will include a massive amount of support for control theory. Here’s a brief preview

Let’s start by building a transfer function model

myTF = TransferFunctionModel[1/(1 + 2 s + 2 s^2 + s^3), s]

I can find its poles exactly

TransferFunctionPoles[myTF] {{{-1, -(-1)^(1/3), (-1)^(2/3)}}}

and, of course, numerically

TransferFunctionPoles[myTF] //N {{{-1., -0.5 - 0.866025 I, -0.5 + 0.866025 I}}}

Here’s its bode plot

BodePlot[myTF]

Here’s its response to a unit step function

stepresponse = OutputResponse[myTF, UnitStep[t], t]

Let’s plot that response

Plot[stepresponse, {t, 0, 10}]

Finally, I convert it to a state space model.

StateSpaceModel[myTF]

That’s the tip of a very big iceberg ;)

**Update:** Mathematica 8 has now been released. See http://www.walkingrandomly.com/?p=3018 for more details.

how did you get the plots online. You did a screen capture of the plots or mathematica can export graphs to images?

it surprises me how we still don’t have mathcad style unit conversions.

@MySchizoBuddy Unit conversions don’t concern me so I’ve never looked at how Mathematica supports them or otherwise. As for the graphs, Mathematica has been able to directly export them to lots of formats for ages now.

I guess that we (finally) will be able to apply butterworth, chebyshev or other types of filters to data! I’ve been waiting for this ;-)

Also I hope they upgraded the speed of algorithms of VoronoiDiagram (QHull is a like a million times faster :-P)

@Sander Huisman

Many of these filters existed in a Mathematica application called “signals and systems” which I have, but does not run any more on version 7. Here is a old link about it:

http://users.ece.utexas.edu/~bevans/projects/symbolic/pack.html

But this application is no longer being sold by WRI. It looks to me like this app have now been ported to Mathematica kernel, which is a very good thing (TM)

If you like to use Butterworth filter in Mathematica, look at my demo at WRI demo web site, I have a filter design demo there for this filter.

http://demonstrations.wolfram.com/InfiniteImpulseResponseIIRDigitalLowPassFilterDesignByButter/

@Nasser

I downloaded your demonstration a little while ago to help me learn more about filters. Very nice work :)

“a massive amount of support of control theory”

will it be included in Mathematica 8 or it will be sold seperately?

any clue what control theory functions are implemented? :)

release date? :))

@Joplin

All will be in Mathematica 8, in the kernel. No toolboxes. This is not Matlab :)

As far as what functions, only someone in WRI would know. But if you look at the control system application

http://www.wolfram.com/products/applications/control/

May be one can get an idea, as I am assuming many of these functions is being moved to the kernel. (see below)

Look at this talk by Dr Wolfram, he said:

“Control theory. There are a lot of interesting methods that have been developed in control theory over the last few decades that actually deserve to be better integrated into general analysis, and model-building, and so on.

Well, partly building on the add-on Control System Professional package, we’ve figured out how to real integrate control theory methods into core Mathematica.

It’s very strongly based on nice, clean, symbolic representations of control systems.

But what’s important is that we’re bringing all this stuff right into Mathematica.”

Here is the link

http://blog.wolfram.com/2009/11/12/the-rd-pipeline-for-mathematica/

–Nasser

@Nasser

This “unity principle” in Mathematica that Wolfram talks about in the 2009 International Mathematica User Conference will be truly great when it is fully implemented and will be even greater if it will be possible to be done with the Mathematica price kept at the current level.

Not to mention that if implemented right it will be a Matlab killer…

fyi,

WRI has just made a web site about version 8, getting ready to release it:

http://www.wolfram.com/mathematica-8-coming-soon.html?src=google&400+mathematica+8&gclid=CPzP353O46QCFQICbAodVhV4Iw

It looks like version 8 will be released soon.

–Nasser

Thanks for that Nasser,

Mike

All these control plots were available in previous releases of Maple (as well as the ability to transform from one specification of a dynamic sytem (e.g. state space) to another)

@MySchizoBuddy

DesignerUnits.com gives MathCAD-style units in Mathematica.

@Mike Croucher

CAS units need more than conversions. Good code largely hides conversions from the user, who needs other things. Here’s a backgrounder. I’m exploring the v8 Alpha integration.

@Nasser M. Abbasi

@WildOne

Brian Evans’s old signals package enabled heavy DSP work complete with plots. He showed how to proceed when native plots are missing: roll your own. As usual, Mathematica gives a way. Today the DSP plots are native, but they were always available. P.S. I like Maple too.