From help-octave-request at bevo dot che dot wisc dot edu Thu Oct 23 12:17:24 1997 Subject: Re: [SUGGESTIONS] for OCST (perhaps I'm wrong) From: Kai Mueller To: "A. Scottedward Hodel" Cc: help-octave at bevo dot che dot wisc dot edu Date: Thu, 23 Oct 1997 18:15:26 +0100 On Thu, Oct 23, 1997 at 10:45:25AM -0500, A. Scottedward Hodel wrote: > [name deleted] > > > > Hi > > > > I'm a guy who had to work with MatLab and preferred free > > software, so I started to surf with Octave. I also had to use the > > control package; initially I used Matlab's, until I found trouble, and > > then someone recommended me to use the OCST snapshots (which I didn't > > know, BTW :). > > > > Ok, as it says this is work in progress, I'm reporting some > > slight differences I've noticed; if you already know them, sorry for > > being repetitive :) > > > > ss2zp() admits an IU argument at MatLab's package. Not a guru, > > so no idea on what it means, though it could be Input > > Unit, or In Utero or ... > > > > impulse() at Matlab also admits another set of arguments, > > being the system's state variables, the IU (still > > don't know what it it) and a time vector. Perhaps > > the form you offer and the one I need are easily > > calculated one from another, but not for the > > rookie. Then it'd just be a compatibility issue. > > [remaining text deleted] Some remarks to impulse() [the same applies to step()] and Matlab 4.x Control System Toolbox: o the data structure "sys" to represent a dynamic system did not exist in the Matlab 4.x CSTB. The packed system approach in the Mu-Tools can be regarded of a subset of the OCST system data structure. Therefore, the arguments canot be compatible with Matlab. o No attempt was made be compatible with Matlab's impulse(). "impulse(jet707)" for example, is short and powerful. o OCST impulse() is equivalent to Matlab impulse() and dimpulse(). The argument list ist shorter and OCST impulse() knows about sampling time, input and output names from the system data structure. o The parameter "inp" is the same as "IU" in Matlab (the input number). o OCST impulse() tries to estimate as much as possible. impulse() does not accept an "equally spaced time vector" as in Matlab. The parameter "tstop" is simply a scalar value. This allows impulse to estimate the step size automatically if the system is continuous. To plot the first 5 seconds of a systems impulse response "impulse(sys, 1, 5)" in OCST is considered to be easier to use (and safer) than "t=linspace(0,5,200); impulse(a,b,c,d,1,t);" If you really *need* 200 data point you can specify "impulse(sys,1,5,200)". -- Kai P. Mueller Control Department (Regelungstechnik) | Phone [+49] (531) 391-3835 Technical University Braunschweig | Fax [+49] (531) 391-5194 D-38092 Braunschweig | Email mueller at ifr dot ing dot tu-bs dot de