From help-octave-request at bevo dot che dot wisc dot edu Fri Jan 22 08:33:24 1999 Subject: Re: step? From: "A. Scottedward Hodel" To: Daniel Heiserer CC: help-octave at bevo dot che dot wisc dot edu Date: Fri, 22 Jan 1999 08:31:25 -0600 Rewriting a toolbox IS a big job; the Octave controls toolbox is currently at about 15,000 lines (not counting the out-of-date .oct file sources). It is sometimes not desirable to emulate MATLAB perfectly. For example, my initial draft of the Octave toolbox (about 1994-1995) emulated the interface of the MATLAB v4.0 controls toolbox, which was terrible. Because one could pass systems as either transfer functions (two vectors), pole-zero-leadining coefficient (two vectors and a scalar), or state space form (a matrix, two vectors, and a scalar), the ambiguity introduced by having other optional parameters to toolbox function resulted in the code for the bode plot function being 60% trying to figure out what parameters were passed, and the rest of the code was to do the actual computations and plotting (lousy software organization). Furthermore, user error in typing the parameter list was a frequent event in testing our code (lousy user interface). In the 1996-present version of the toolbox, the interfaces were rewritten to use a single data structure to store system descriptions (see conference paper referenced below; also discussed in control.texi). A year later, the Matlab 5.0 controls toolbox took a similar approach. I'm not saying that they got the idea from me; the point is that writing a toolbox means thinking carefully about usability and software maintainability, especially given the size of Octave/OCST. The MathWorks is obviously paying attention to these issues too or they'd have left the controls toolbox as it was. at inproceedings{hodtenetal96, author = {A. S. Hodel and R. B. Tenison and D. A. Clem and J. E. Ingram}, title = {The Octave Control Systems Toolbox: A ${\rm MATLAB^{tm}}$-like {CACSD} En vironment}, booktitle = {Proceedings of the 1996 {IEEE} International Symposium on Computer-Aided Control System Design}, pages = {386--391}, year = {1996}, month = {Sept. 15-18}, publisher = {{IEEE} Control Systems Society}, address = {Dearborn, Mich.} } A S Hodel Assoc. Prof. Dept Elect Eng, Auburn Univ,AL 36849-5201 On leave at NASA Marshall Space Flight Center (256) 544-1426 Address until 15 Mar 2000:Mail Code ED-13, MSFC, Alabama, 35812 http://www.eng.auburn.edu/~scotte ---------- >From: Daniel Heiserer >To: "John W. Eaton" ,"help-octave@bevo dot che dot wisc dot edu" >Subject: Re: step? >Date: Fri, Jan 22, 1999, 2:43 AM > >Hi John, >> On 22-Jan-1999, Daniel Heiserer wrote: >> >> | El Jeffo wrote: >> | > >> | > Anyone familiar with the matlab function "step()" which kinda gives a >> | > graph of some lti system? or can I just steal the step.m file from matlab >> | > and use it in octave? Anyone else ever borrowed .m files from matlab? Is >> | > it legal? (just want a matlab like program for linux cause I don't want >> | > to reboot to windows) >> | > >> | >> | I won't steel it (Copyright) ;-). But if you have it, you probably paid >> | for it >> | and than it's yours and you can do with it what you want (I think). >> >> I think not. I would bet that the copyright and/or license severely >> restricts what you can do with it. >> >> The license may allow you to modify the copy of the toolbox that you >> purchased so that it will run with Octave. Or it may not. Perhaps >> you should ask the MathWorks instead of asking here. >> >> But, even if the license does allow you to modify the toolbox so that >> it will work with Octave, wouldn't it be more useful for everyone if >> you helped to write a free replacement instead? Then everyone would >> benefit from your efforts. > >Well rewriting a whole bunch of files is a lot of work, but a good idea. >How can you rewrite something, which src's is available without copying >at least parts of the code (m-files)??? >If there is a copyright on it than it is probably also on parts of it. >Where is the border (how many loops, which variable names)? >I think this is a VERY undefined region. Any ideas? >When I want to rewrite a whole toolbox it should be at least 100% >compatible +more features. Otherwise I have really big problems here >whith the "productivity line" running on matlab. > > > >-- >Mit freundlichen Gruessen > Daniel Heiserer >----- >-------------------------------------------------------------- >Dipl.-Phys. Daniel Heiserer, BMW AG, Knorrstrasse 147, 80788 Muenchen >Abteilung EK-20 >Tel.: 089-382-21187, Fax.: 089-382-42820 >mailto:daniel dot heiserer at bmw dot de >