[control-oo] comments on isct/isdt and isstable

View: New views
5 Messages — Rating Filter:   Alert me  

[control-oo] comments on isct/isdt and isstable

by Luca Favatella :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi, Lukas.


Some comments.


isct
----

Why in isct [0] you check
  ltisys.tsam == -1
?


isct/isdt
----------

Did you consider "empty models and static gains" [2] in isct [0] and isdt [1]?


isstable
----------

Why is "tol" argument needed in lti/isstable [3]?



Cheers,
Luca Favatella




[0] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isct.m?revision=6325
[1] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isdt.m?revision=6325

[2] http://www.mathworks.com/access/helpdesk/help/toolbox/control/ref/isct.html


[3] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isstable.m?revision=6325

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev

Re: [control-oo] comments on isct/isdt and isstable

by paramaniac :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ciao Luca

When you create static gains (e. g. sys = tf (12) or sys = ss (17))  
with control-oo, sampling time is set to -1, which means  
"unspecified". This way, you can connect them conveniently with other  
systems (e.g. sys2 = tf (1, [1, 1]) or sys3 = ss (-1, 1, 1, 0, 0.1)),  
which are either continuous or discrete. This feature is also  
necessary to allow expressions like Q = 1 + L, where L is the open  
loop and Q is the return difference.

Stable poles have real parts < 0 (continuous) or are within the unit  
circle (discrete). When you set tol greater than zero, barely stable  
poles (possibly due to numerical "noise") are regarded as unstable as  
well.

Regards,
Lukas Reichlin

BTW: You may encounter the expression digital = ! isct (sys) in my  
code. It means that static gains are treated as continuous systems.  
Note that it is not the same as digital = isdt (sys), where static  
gains would be treated as discrete systems.

> Hi, Lukas.
>
>
> Some comments.
>
>
> isct
> ----
>
> Why in isct [0] you check
>  ltisys.tsam == -1
> ?
>
>
> isct/isdt
> ----------
>
> Did you consider "empty models and static gains" [2] in isct [0] and  
> isdt [1]?
>
>
> isstable
> ----------
>
> Why is "tol" argument needed in lti/isstable [3]?
>
>
>
> Cheers,
> Luca Favatella
>
>
>
>
> [0] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isct.m?revision=6325
> [1] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isdt.m?revision=6325
>
> [2] http://www.mathworks.com/access/helpdesk/help/toolbox/control/ref/isct.html
>
>
> [3] http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo/inst/%40lti/isstable.m?revision=6325
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart  
> your
> developing skills, take BlackBerry mobile applications to market and  
> stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Octave-dev mailing list
> Octave-dev@...
> https://lists.sourceforge.net/lists/listinfo/octave-dev


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev

Re: [control-oo] comments on isct/isdt and isstable

by Luca Favatella :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 31/10/2009, Lukas Reichlin <lukas.reichlin@...> wrote:
> Ciao Luca
>
> When you create static gains (e. g. sys = tf (12) or sys = ss (17))
> with control-oo, sampling time is set to -1, which means
> "unspecified". This way, you can connect them conveniently with other
> systems (e.g. sys2 = tf (1, [1, 1]) or sys3 = ss (-1, 1, 1, 0, 0.1)),
> which are either continuous or discrete.

I added some test cases (svn r6425) with these your examples.

[...]

> Stable poles have real parts < 0 (continuous) or are within the unit
> circle (discrete). When you set tol greater than zero, barely stable
> poles (possibly due to numerical "noise") are regarded as unstable as
> well.

Ok, I understand the reason. But I don't understand whether this
should be in the public API. This should not be needed for
compatibility reasons [0].
Am I wrong? Any comment?

[0] http://www.mathworks.com/access/helpdesk/help/toolbox/control/ref/ltiisstable.html


[...]

> BTW: You may encounter the expression digital = ! isct (sys) in my
> code. It means that static gains are treated as continuous systems.
> Note that it is not the same as digital = isdt (sys), where static
> gains would be treated as discrete systems.

This case should be present in the test cases I added (see above).



Cheers,
Luca Favatella

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev

Re: [control-oo] comments on isct/isdt and isstable

by paramaniac :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 02.11.2009, at 00:27, Luca Favatella wrote:

> On 31/10/2009, Lukas Reichlin <lukas.reichlin@...> wrote:
>> Ciao Luca
>>
>> When you create static gains (e. g. sys = tf (12) or sys = ss (17))
>> with control-oo, sampling time is set to -1, which means
>> "unspecified". This way, you can connect them conveniently with other
>> systems (e.g. sys2 = tf (1, [1, 1]) or sys3 = ss (-1, 1, 1, 0, 0.1)),
>> which are either continuous or discrete.
>
> I added some test cases (svn r6425) with these your examples.
>

Good.

> [...]
>
>> Stable poles have real parts < 0 (continuous) or are within the unit
>> circle (discrete). When you set tol greater than zero, barely stable
>> poles (possibly due to numerical "noise") are regarded as unstable as
>> well.
>
> Ok, I understand the reason. But I don't understand whether this
> should be in the public API. This should not be needed for
> compatibility reasons [0].
> Am I wrong? Any comment?
>
> [0] http://www.mathworks.com/access/helpdesk/help/toolbox/control/ref/ltiisstable.html
>

Well, as long as an extension doesn't break compatibility with Matlab-
specific code, I don't see a problem.

FYI: I added a tolerance for margin (not ported yet) as well, which  
isn't available for Matlab, and I extended feedback to allow things  
like sys = feedback (sys) or sys = feedback (sys, "+") (Matlab  
requires feedback (sys, eye(size(sys))) and feedback (sys, eye(size
(sys)), +1) for closing a loop). Both extensions don't prevent pure  
Matlab-code from running. IMHO such extensions are common practice in  
Octave development, e. g. the string delimiters "string" instead of  
'string' to name a prominent one.


>
> [...]
>
>> BTW: You may encounter the expression digital = ! isct (sys) in my
>> code. It means that static gains are treated as continuous systems.
>> Note that it is not the same as digital = isdt (sys), where static
>> gains would be treated as discrete systems.
>
> This case should be present in the test cases I added (see above).
>
>
>
> Cheers,
> Luca Favatella

Regards,
Lukas


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev

Re: [control-oo] comments on isct/isdt and isstable

by Luca Favatella :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 02/11/2009, Lukas Reichlin <lukas.reichlin@...> wrote:
[...]
>>> Stable poles have real parts < 0 (continuous) or are within the unit
>>> circle (discrete). When you set tol greater than zero, barely stable
>>> poles (possibly due to numerical "noise") are regarded as unstable as
>>> well.
[...]
> Well, as long as an extension doesn't break compatibility with Matlab-
> specific code, I don't see a problem.

Ok.

> FYI: I added a tolerance for margin (not ported yet) as well, which
> isn't available for Matlab, and I extended feedback to allow things
> like sys = feedback (sys) or sys = feedback (sys, "+") (Matlab
> requires feedback (sys, eye(size(sys))) and feedback (sys, eye(size
> (sys)), +1) for closing a loop). Both extensions don't prevent pure
> Matlab-code from running. IMHO such extensions are common practice in
> Octave development, e. g. the string delimiters "string" instead of
> 'string' to name a prominent one.

I added (svn r6428) a doc file to keep track of this kind of features
(octave-forge specific). I think it is a good idea to keep it, but
feel free to delete/rename it.


Cheers,
Luca Favatella

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev