xjiang4 / ellipsoids

Automatically exported from code.google.com/p/ellipsoids
Other
0 stars 1 forks source link

Implement the missing "refine" method in ReachContinuous #95

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
One needs to refer to old revisions of trunk where "reach" class still existed 
for "refine" method input/output parameter format.  Refine method should 
calculate the additional tubes and update self.ellTubeRel field with unionWith 
method

This new method need to be covered with tests in 
elltool.reach.test.run_continuous_reach_tests()

Also one needs to implement a new test case in +elltool\+reach\+test\+mlunit 
package. The test case should be parameterized with two factories, one of them 
should create ReachContinuous for directions l_1,...,l_2, another factory - for 
directions l_1,...,l_k and then call refine for directions l_k,...,l_n where 
1<k<n;

The test case should contain the only test which compairs the resulting reach 
objects.

Original issue reported on code.google.com by heartofm...@gmail.com on 8 Apr 2013 at 3:26

GoogleCodeExporter commented 8 years ago
One the implementation and the tests are done, one needs to make sure that the 
scripts that use refine from doc\mcodesnippets doesn't fail.

Original comment by heartofm...@gmail.com on 8 Apr 2013 at 3:48

GoogleCodeExporter commented 8 years ago

Original comment by heartofm...@gmail.com on 14 Apr 2013 at 8:02

GoogleCodeExporter commented 8 years ago

Original comment by vetba...@gmail.com on 15 Apr 2013 at 7:03

GoogleCodeExporter commented 8 years ago

Original comment by vetba...@gmail.com on 18 Apr 2013 at 4:29

GoogleCodeExporter commented 8 years ago
I have a question:
what exactly should I do with incorrect snippets, just fix them?

Original comment by vetba...@gmail.com on 19 Apr 2013 at 5:04

GoogleCodeExporter commented 8 years ago
Well, I would expect the snippets to work correctly once you have "refine" 
method implemented. But if you find some problems in the snippets - have them 
fixed.

Also, you still need to write tests to make sure that

1) refine works both for direct and inverse time
2) works after evolve
3) works after calling project method (i.e. once reach object is a projection 
refine still should work)

Original comment by heartofm...@gmail.com on 20 Apr 2013 at 9:31

GoogleCodeExporter commented 8 years ago
May I put these tests in ContinuousReachRefineTestCase.m, or should I put them 
somewhere else?

Original comment by vetba...@gmail.com on 20 Apr 2013 at 12:25

GoogleCodeExporter commented 8 years ago
Yes, you may.

Original comment by heartofm...@gmail.com on 20 Apr 2013 at 12:39

GoogleCodeExporter commented 8 years ago
I checked snippets, There are three of them that use refine. One is for 
discrete case, the other one looks like this:

Y = ellipsoid([8; 2], [4 1; 1 2]);  % target set in the form of ellipsoid
Tb = [10 5];  % backward time interval
brs = elltool.reach.ReachContinuous(sys, Y, L, Tb);  % backward reach set
brs = refine(brs, L1);  % refine the approximation
brs2 = evolve(brs, 0);  % further evolution in backward time from 5 to 0

So, It looks correct but the question is how should I check it if directions L1 
are not specified?

Original comment by vetba...@gmail.com on 20 Apr 2013 at 11:44

GoogleCodeExporter commented 8 years ago
All snippets are numbered and some of them are intended for running in 
sequence, just look in the snippets that precede the current one. For more 
information please contact Irina. 

Original comment by heartofm...@gmail.com on 21 Apr 2013 at 12:15

GoogleCodeExporter commented 8 years ago
Do the snippets work now?

Original comment by heartofm...@gmail.com on 21 Apr 2013 at 6:26

GoogleCodeExporter commented 8 years ago
Now all snippets with refine work correctly.

Original comment by vetba...@gmail.com on 25 Apr 2013 at 8:45

GoogleCodeExporter commented 8 years ago
I don't understand why you flip indVec ( see my comment to one of your commits).

Original comment by heartofm...@gmail.com on 26 Apr 2013 at 10:43

GoogleCodeExporter commented 8 years ago
Reintegration produced a lot of errors and test failures, please investigate

Original comment by heartofm...@gmail.com on 27 Apr 2013 at 1:39

GoogleCodeExporter commented 8 years ago
I'm sorry, yesterday I have confused you and miself. This reverting should not 
be  done in here, since even though the cicle is backward it calculates result 
in the right order. So, now all the tests work correctly.

Original comment by vetba...@gmail.com on 27 Apr 2013 at 3:35

GoogleCodeExporter commented 8 years ago

Original comment by heartofm...@gmail.com on 27 Apr 2013 at 8:25