I'm using Octave 3.2.3 (latest available on Ubuntu LTS) and control
1.0.11 (latest).
I think I found a bug: when I define my system using zp(), d2c cannot
convert the system to continuous:
octave:7> G = zp([], 0.5, 1, 1)
G =
{
zer = [](0x0)
pol = 0.50000
k = 1
sys =
1 0 1 0
tsam = 1
n = 0
nz = 1
yd = 1
inname =
{
[1,1] = u_1
}
outname =
{
[1,1] = y_1
}
stname =
{
[1,1] = xd_1
}
}
octave:8> Gw = d2c(G);
error: structure has no member `a'
error: evaluating argument list element number 1
error: evaluating argument list element number 1
error: called from:
error: /usr/share/octave/packages/3.2/control-1.0.11/d2c.m at line
91, column 3
The problem is at line 91: d2c.m tries to access elements a, b, c, d
(state space matrices), but they are not defined by the zp function.
if (isa (sys.a, "single") || isa (sys.b, "single") || isa (sys.c, "single") ||
isa (sys.d, "single"))
myeps = eps ("single");
else
myeps = eps;
endif
It can be resolved by scripting:
octave:10> [G.a G.b G.c G.d] = sys2ss(G);
octave:11> G
G =
{
zer = [](0x0)
pol = 0.50000
k = 1
sys =
1 0 1 0
tsam = 1
n = 0
nz = 1
yd = 1
inname =
{
[1,1] = u_1
}
outname =
{
[1,1] = y_1
}
stname =
{
[1,1] = xd_1
}
a = 0.50000
b = 1
c = 1
d = 0
}
or, more simply, just defining a, b, c, d to be zero, because line 91
just makes a class check.
octave:12> Gw = d2c(G);
octave:13> Gw
Gw =
{
a = -0.69315
b = 1.3863
c = 1
d = 0
n = 1
nz = 0
tsam = 0
yd = 0
sys =
2 0 0 1
stname =
{
[1,1] = xd_1_c
}
inname =
{
[1,1] = u_1
}
outname =
{
[1,1] = y_1
}
}
I also think line 91 is not critical.
I hope to have been helpful,
Alessandro
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev