help-octave
[Top][All Lists]

## Re: step?

 From: A. Scottedward Hodel Subject: Re: step? 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.

@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 <address@hidden>
>Subject: Re: step?
>Date: Fri, Jan 22, 1999, 2:43 AM
>

>Hi John,
>> On 22-Jan-1999, Daniel Heiserer <address@hidden> 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