On Tue, Nov 2, 2010 at 12:33 PM, Martin, Cary
<address@hidden>
wrote:
Hello
World - This issue is probably well known to the users of this
list but if
I execute this code in Octave:
x = 0:1:10;
x(1.5:5);
This is
received:
error: subscript indices must be either positive integers or
logicals.
In Matlab I get:
ans =
1 2
3 4
To a certain extent the Matlab response
is of course ridiculous but is
there any simple way to get this behavior in
Octave or otherwise work
around this issue? I've got some external legacy
code which seems to
expects this behavior which I'd like to use
without extensive rewriting.
thanks-
Cary
My first stab at it would be to use a tool like awk or other tool
with regular expressions to replace
(*:*)
with
(round(*:*))
where the * is the wildcard _expression_. I think this is the behavior
that Matlab is doing from your example, but I wouldn't be sure without seeing
more examples of this behavior (maybe they're doing ceil and not round?).
What does Matlab do with
x(1.1:5)
?
Hope this helps.