xjiang4 / ellipsoids

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

Update ET documentation to account for the latest changes the toolboox #81

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
The current documentation is out of date, more specifically

1) Legacy object-oriented technique used in ET 1.1.3 was replaced with the new 
OOP implemented in newer versions of Matlab. This allows for calling a method 
myMethod of object obj like obj.myMethod(...) while the legacy technique 
allowed only for myMethod(obj,...) form. Thus we need to adjust the examples to 
encourage users to use the new syntax.

2) Format of some methods in ellipsoid/hyperplane classes was changed, we need 
to make sure that the documentation is up to date. Also, some of the methods 
now support multi-dimensional arrays. Finally, some new methods may have been 
added. 

3) reach, linsys classes have been replaced by elltool.reach.ReachContinuous, 
elltool.reach.ReachDiscrete and elltool.linsys.LinSys classes with a 
slightly-changed format of input parameters in the constructor and some of the 
methods. 

4) Algorithms of S matrix calculation for internal approximation have been 
changed.

5) The new quadratic regularization technique has been implemented for the 
systems with uncertainty.

Original issue reported on code.google.com by heartofm...@gmail.com on 22 Mar 2013 at 5:57

GoogleCodeExporter commented 8 years ago
6) Many illustrations are also out of date as the visualization has been 
improved in v. 1.4

Original comment by heartofm...@gmail.com on 22 Mar 2013 at 6:06

GoogleCodeExporter commented 8 years ago
For item 3) - the changes are now in Kirills branch for issue 36, they are 
expected to be reintegrated into trunk this week.
For item 6) the changes are in Ilya's branch for issue 38, also expecting the 
changes in the trunk very soon.

Original comment by heartofm...@gmail.com on 22 Mar 2013 at 12:28

GoogleCodeExporter commented 8 years ago
7) Fix the following misprints in the manual 

Misprint in 2.2.12 equation

Misprint in equation 2.2.11, it must look like this

 //P = sqrt(<l, Q1 l>)/sqrt(<l, Q2 l>)
 //Q = (1 - (1/P)) Q1 + (1 - P) Q2

For item 4) - see the article attached to Issue 12

Original comment by heartofm...@gmail.com on 25 Mar 2013 at 2:45

GoogleCodeExporter commented 8 years ago

Original comment by heartofm...@gmail.com on 26 Mar 2013 at 9:27

GoogleCodeExporter commented 8 years ago
1)Algorithms of S matrix calculation I should paste on page 11, don't I?
2)I can't find equation with these numbers. Can you tell me section\chapter 
number?

Original comment by irizk...@gmail.com on 26 Mar 2013 at 8:58

GoogleCodeExporter commented 8 years ago
3)Method distance didn't work.There is problem with variable's name.
I talked with Vitaly about it and just renamed one variable.

Original comment by irizk...@gmail.com on 27 Mar 2013 at 8:55

GoogleCodeExporter commented 8 years ago
1) Yes
2) That's because the equations in the current version of the manual are 
numbered incorrectly, we need x.y.z format, not x.y. (compare with the manual 
available at the from page http://code.google.com/p/ellipsoids/. Please fix 
this.
3) Ok

Also I found that you used epstopdf package incorrectly and PDFTexify generated 
a document without a figures. This could indicate that you continue using just 
Texify or some other method of compiling the document. Please use WinEdt and 
only PDFTexify method of compiling. Other method of compiling CANNOT be used.

Thanks.

Original comment by heartofm...@gmail.com on 28 Mar 2013 at 8:12

GoogleCodeExporter commented 8 years ago
1)There is a list of methods that haven't desciptions in manual:
Ellipsoid methods
1)rm_bad_directions
2)regularize
3)contains
4)plot3
5)my_color_table
6)isbigger
7)isbaddirectionmat
8)getproperty
9)ellunion_ea
10)ellunion_ia
11)ellconstraint
12)getNplot3dPoints
13)getNplot2dPoints
14)getabstol

Hyperplane methods
1)getabstol

Which of them I should add to manual?

2)How do I know which methods support multi-dimensional arrays?I tried to find 
this information in documentation to each method, but didn't find anything.

Original comment by irizk...@gmail.com on 28 Mar 2013 at 3:04

GoogleCodeExporter commented 8 years ago
10*)ellintersection_ia

Original comment by irizk...@gmail.com on 28 Mar 2013 at 3:54

GoogleCodeExporter commented 8 years ago
1) See ellipsoid.m, there at the end of class definition some of these methods 
are defined as private, you must not describe any private methods. 

Please remove ellconstraint method alltogether. 

plot3 should not be described right now. It is deleted in Ilya's branch.

The rest of the methods should be described.

hyperplane.getabstol should also be described.

2) You should check the "Input" section of each help header for the input 
argument description. If you something like this :

% Input:
%   regular:
%       myEllArr: ellipsoid [nDims1,nDims2,...,nDimsN] - array of ellipsoids.
%       objArr: ellipsoid / hyperplane /
%           / polytope [nDims1,nDims2,...,nDimsN] - array of ellipsoids or
%           hyperplanes or polytopes of the same sizes.
%
%   optional:
%       mode: char[1, 1] - 'u' or 'i', go to description.
%
%           note: If mode == 'u', then mRows, nCols should be equal to 1.

this means that myEllArr and objArr can be multi-dimensional arrays. 

Original comment by heartofm...@gmail.com on 28 Mar 2013 at 4:09

GoogleCodeExporter commented 8 years ago
1)Should I paste examples for newly added methods?
2)Where I can find information about the systems with uncertainty?

Original comment by irizk...@gmail.com on 30 Mar 2013 at 6:25

GoogleCodeExporter commented 8 years ago
1) Yes, please
2) I'll send you the article
3) I think we need to rename all the variables in all the code snippets to 
comply with our convention (see 
http://code.google.com/p/ellipsoids/wiki/Coding_policy). 

For instance the variable E needs to be replace to either ell (for scalar 
array) or ellArr (for array).
4) We need to some-how extract the method descriptions from the classes 
themselves (help headers). Please check matlabcentral for the tools that would 
allow this. Anyway, even if this process is manual, we need to change the 
method descriptions in pdf document to match the descriptions (including the 
size/type information for input parameters) in the help headers.
5) in doc folder there are a few tex files that seem to contain some parts of 
the manual. Please compare them with the manual and see if they are newer. If 
so - please update the manual and then have them deleted.

Original comment by heartofm...@gmail.com on 1 Apr 2013 at 6:00

GoogleCodeExporter commented 8 years ago
I've just committed the initial version of the help collector tool. Run 
elltool.doc.run_helpcollector to generate "functions.tex" file in doc folder. 
This file is self sufficient (doesn't depend on the main manual text) but 
requires config.sty.  What you need to do is 

1) Modify run_helpcollector so that it generates a text file that can be 
included (via \include) into the ET_TechReport_Draft.tex (btw - please rename 
ET_TechReport_Draft.tex into elltoolmanual.tex)

2) Modify run_helpcollector and collecthelp (if necessary) so that they 
generate a nicely formatted help header list by removing % symbols, make lines 
shorter (this probably needs to be done in m files) so that the help headers 
fit the page width in the resulting pdf. 

Original comment by heartofm...@gmail.com on 1 Apr 2013 at 3:14

GoogleCodeExporter commented 8 years ago
Regarding 5) - even if a content of those tex files matches the content of 
ET_TechReport_Draft, please partition the latter into the separate files 
included (via \include) into the main elltool_manual tex file.

Original comment by heartofm...@gmail.com on 1 Apr 2013 at 3:21

GoogleCodeExporter commented 8 years ago
1)About variables' rename:I must rename all variables in manual too, right?

Original comment by irizk...@gmail.com on 1 Apr 2013 at 8:43

GoogleCodeExporter commented 8 years ago
Yes

Original comment by heartofm...@gmail.com on 1 Apr 2013 at 9:07

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
1)About run_helpcollector.m
Command help doesn't work for private methods. Should I delete them from list
2)I compared information in tex files and in manual. In separeted tex files 
there are bqsic theory about system with disturbance. I added it, but i amn't 
shure it is necessary

Original comment by irizk...@gmail.com on 3 Apr 2013 at 5:17

GoogleCodeExporter commented 8 years ago
1) Ok, how do you identify the private methods?

2) I'm not sure what you did exactly. Have you extracted the theory from the 
method descriptions and put it in a separate section? Or have you just updated 
the help headers?

3) Have you reduced the length of help headers so that they fit the page?

Original comment by heartofm...@gmail.com on 3 Apr 2013 at 11:43

GoogleCodeExporter commented 8 years ago
1)There are list of private methods at the end of ellipsoids.m
I compared this list and FuncData with empty "help" field.
2)I separated manual in separate tex files. I updated appropriate files.
There are following differences:
 a)In tex files there are subsections:Maximum Volume Ellipsoids, Minimum Volume Ellipsoids and Checking if $\EE(q_1,Q_1)\subseteq\EE(q_2,Q_2)$. I din't find this information in manual and added it.
  b)In tex files there are following definitions:(i couldn't find then in manual too)the volume of ellipsoid, distanse between two ellipsoids using QCQP. So I added them.
  c)In tex files there are subsections describing different methods(polytope, zenotope, etc..)In manual this information contains in Introduction. So i used introduction from manual and didn't add sections from tex files.
  d)In section Reachability tere are information about system with disturbance.
  \dot{x(t)} = f(x, t, u)..(in this form)
  There is no such theory in manual.
  In manual we began with system's definition
  \dot{x}(t) = A(t)x(t) + B(t)u + G(t)v.
 Basic definitions of these sections are the same. I took these section from separated tex files.
The rest of sections are identical.
3)I'll do it today \ tomorrow. And i must add examples to help headers, right?

Original comment by irizk...@gmail.com on 3 Apr 2013 at 2:04

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
4)About your comment to revision.
I'm going to write function of structures' concatenate.
Should i invent something else or it's ok?

Original comment by irizk...@gmail.com on 3 Apr 2013 at 7:23

GoogleCodeExporter commented 8 years ago
1) I'm just trying to understand, have you modified the help collector to 
handle private methods or you just excluded the private methods of ellipsoid 
class manually? If the latter - how are you going to deal with 
elltool.reach.ReachContinuous class which has methods located within a single 
file?

2) Thanks a lot for this comparison work, good job.

3) You need to make all help headers more narrow. Please figure out what is the 
maximum line length allowed for a good fitting within a page in the resulting 
pdf file and tell me that number. I'll make sure that every documentation that 
is written in the future complies with this limitation. As for existing 
documentation - you have two choices a) manually update the help headers b) 
write a simple tool that does this. I think it would be faster to do a)

4) Use this function modgen.struct.unionstructsalongdim

My English is not perfect but yours could sometimes be better as well...  Could 
you please read http://www.ega-math.narod.ru/Quant/ABS.htm and re-check what 
you wrote in the manual? Thanks a lot. 

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

GoogleCodeExporter commented 8 years ago
1) a) Some time ago you said, that I must not describe any private methods in 
manual. So I'll delete them from List of all functions.
b) I must separated elltool.reach.ReachContinuous or what?
There are several files with the same structure(for example ellipsoid/contents, 
hyperplane/contents).
What will you advise?

c)There are several functions without any descriptions, only author's 
information. Is it ok?

Original comment by irizk...@gmail.com on 3 Apr 2013 at 9:57

GoogleCodeExporter commented 8 years ago
1)

a) You have to filter out the private methods automatically i.e. in Matlab 
s_coolecthelp tool, not manually via filtering the resulting tex file. The 
reason is that we need to be able to run the tool on a regular basis (every 1-2 
weeks to update the method documentation.

b) No, it is not necessary, you can extract help for public methods for a class 
even when all the methods in a single file. Below is the example of how this 
should be done. Currently information about classes is collected from the files 
located in a folders with @ prefix (see helpcollect function). I suggest to 
change this approach by redesigning the help collector tool based on the 
example below so that the information is gathered for the specified list of 
classes and packages like this;

FuncData=elltool.doc.newcollecthelp({'ellipsoid','hyperplane'},{'elltool','gras'
,'modgen'},{'test'}); %the last input defines the names of ignored subpackages.

The function newcollecthelp would scan the classes and packages (for scripts, 
classes and functions) and return FuncData. For scanning the classes use the 
example from below. For scanning the packages use a similar approach, for 
instance

meta.package.fromName('elltool') would return an object of meta.package. It 
contains the following fields

       Name: 'elltool'
            ClassList: [0x1 meta.class]
         FunctionList: [4x1 meta.method]
          PackageList: [9x1 meta.package]
    ContainingPackage: []

You then fill FuncData with information from FunctionList field, then from 
ClassList (based on the example below), and finally - recursively scan 
PackageList field.

old collecthelp function needs to be deleted. 

function helpgatherexample()
%       funcName: cell[nElems,1] - list of function names
%       dirName: cell[nElems,1] - list of directory names
%       help: cell[nElems,1] - list of help headers
%       isClassMethod: logical[nElems,1] - a vector of "is class"
%           indicators
%       isScript: logical[nElems,1] - a vector of "is script" indicators

SFunc1Info=extractHelpFromClass('elltool.reach.ReachContinuous');
SFunc2Info=extractHelpFromClass('ellipsoid');
SFuncInfo=modgen.struct.unionstructsalongdim(1,SFunc1Info,SFunc2Info);
strucdisp(SFuncInfo);
end
function SFuncInfo=extractHelpFromClass(className)

PUBLIC_ACCESS_MOD='public';

mc=meta.class.fromName(className);
if isempty(mc)
    SFuncInfo=struct();
else
    methodVec=mc.MethodList;
    isPublicVec=arrayfun(@(x)isequal(x.Access,PUBLIC_ACCESS_MOD),...
        methodVec);
    publicMethodVec=methodVec(isPublicVec);
    fullNameList=arrayfun(@(x)[className,'.',x.Name],publicMethodVec,...
        'UniformOutput',false);
    helpList=cellfun(@help,fullNameList,'UniformOutput',false);
    SFuncInfo.funcName=fullNameList;
    SFuncInfo.help=helpList;
end
end

c) In depends on a function/method. We need to have all public methods of 

ellipsoid, 
hyperplane, 
elltool.reach.ReachContinuous,
elltool.reach.ReachDiscrete, 
elltool.linsys.LinSysDiscrete, 
elltool.linsys.LinSysContinuous 
elltool.core.GenEllipsoid
elltool.conf.Properties

and function from elltool (such as setconf etc)

documented. 

The rest is not important right now. If you discover an undocumented method in 
one of these functions - please have it fixed (the author information can be 
extracted from svn).

Original comment by heartofm...@gmail.com on 4 Apr 2013 at 1:29

GoogleCodeExporter commented 8 years ago
1)I think to delete methods with empty help out of final list(automatically of 
course)
Is it wrong idea?
3)I updated all help headers. For my opinion the maximum line length allowed 
for a good fitting within a page is 60-61 symbols.

Original comment by irizk...@gmail.com on 4 Apr 2013 at 9:05

GoogleCodeExporter commented 8 years ago
1) I think you shouldn't do this - all public methods from elltool package and 
ellipsoid/hyperplane cases should be documented. On the opposite, we must keep 
all such methods to be able to see that we still have to write a documentation 
for them.

3) Ok, thanks.

Original comment by heartofm...@gmail.com on 5 Apr 2013 at 12:53

GoogleCodeExporter commented 8 years ago
As part of your commit you've broken elltool.logging.Log4jConfigurator class 
(try to run s_install). Have you used any kind of automatic processing to 
modify the help headers or done this all manually?

Original comment by heartofm...@gmail.com on 5 Apr 2013 at 5:11

GoogleCodeExporter commented 8 years ago
1)Ok, i will try to implement something else.
I noticed it,but at 3 am I had no opportunity to fix this problem.
All headers were changed manually.

Original comment by irizk...@gmail.com on 5 Apr 2013 at 7:40

GoogleCodeExporter commented 8 years ago
1) Ok, thanks. I think you should concentrate now on refactoring the help 
collector according to comment #25 (i.e. use meta.class and meta.package 
classes to scan all the code for help as opposed to scanning the directory tree)

Original comment by heartofm...@gmail.com on 5 Apr 2013 at 7:44

GoogleCodeExporter commented 8 years ago
4) You will have to replace the section for ellOptions struction with a 
different section describing the toolbox configuration via toolbox 
configurations (see 
http://code.google.com/p/ellipsoids/wiki/Toolbox_configuration_management). 
Also please mention elltool.conf.Properties static class that have setters and 
getters for some configuraiton parameters.

Original comment by heartofm...@gmail.com on 5 Apr 2013 at 9:10

GoogleCodeExporter commented 8 years ago
5) No need to make either the copyright statements or the author information 
lines fit 60 symbol limit - we do not need them in the resulting tex file 
anyways.

Original comment by heartofm...@gmail.com on 7 Apr 2013 at 7:52

GoogleCodeExporter commented 8 years ago
1)s_chapter07_section 01_snippet02 failed with this bug:
Error using gras.la.ismatposdef (line 32)
input matrix must be symmetric.
2)Where should I add the information about mpt?In section installation?

Original comment by irizk...@gmail.com on 8 Apr 2013 at 2:28

GoogleCodeExporter commented 8 years ago
1) I can't find any script with such name, please make sure that you specified 
it correctly

2) Into section 4.1 (Additional software). All the section needs to be updated 
as we do not currently use Yalmip, we use CVX instead (see the project front 
web page).

3) Can you please attach the compiled pdf to the ticket and update it after 
each  update. This way I'll be able to answer you much more quickly as I won't 
have to re-compile the document every time. Sometimes I use a computer without 
Tex/WinEdt being installed so your attachment will be the only way I can see 
the latest pdf.

4) When I compile the document I get 50 warnings and 8 bad boxes. All these 
need to be fixed (please note that there are some undefined references). We 
need 0 warnings and 0 bad boxes.

Original comment by heartofm...@gmail.com on 8 Apr 2013 at 2:55

GoogleCodeExporter commented 8 years ago
1)Oh,yes:s_chapter07_section02_snippet01

Original comment by irizk...@gmail.com on 8 Apr 2013 at 3:17

Attachments:

GoogleCodeExporter commented 8 years ago
Ok. thanks. When you have the manual with the automatically processed help 
headers - please let me know.

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

GoogleCodeExporter commented 8 years ago
2)I updated this section.
I should change section about installation too, right? Can I take as a model  
instructions from wiki?
4)Warnings related with bad boxes were solved.
For my opinion bugs related with undefined references appeared because of 
separation elltoolmanual.tex(part of them - exactly).
I compiled old version of manual. There were no errors.

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

Attachments:

GoogleCodeExporter commented 8 years ago
1) It is not sufficient to replace "Yalmip" with "CVX" in implementation.tex, 
you need to change the description as well (similarly to what you did in 
install.tex). Please read http://cvxr.com/cvx/.

The default solver used in the toolbox used for CVX is SeDuMi.

2) Something tells me that you haven't attached the latest pdf (I've compared 
the changes to tex files with what I see in pdf document).

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

GoogleCodeExporter commented 8 years ago
1)Ok. In install.tex is it all right?
2)a)I added one example.
  b)Changed section implementation.tex
  c)Changed section install.tex
What else?Did I forget something?

Original comment by irizk...@gmail.com on 8 Apr 2013 at 8:54

Attachments:

GoogleCodeExporter commented 8 years ago
1) Section 4.1 needs to be more detailed and structured (some misprints need to 
be fixed as well). Basically you need to use itemize and have a separate item 
for both mpt and cvx. Both toolboxes need to be described in greater details. 
Finally those 4 methods are not the only once that require cvx, the methods 
that require mpt need to be listed as well. You need to explain what you need 
mpt for.

2) section 4.2, item 1 - this link need to be change to the project url. Also, 
please include "todonotes" package and create a note in this section for item 2 
that would remind us to create a zip archive with the latest version and upload 
it to the project web site. Btw - you can easily disable the notes later with 
"disable" option like this:
\usepackage[disable]{todonotes}

3) Page 7 - please make sure that the list of chapters is up to date and make a 
note that reminds to keep this list that way.

4) There are still 36 warnings, they all should be eliminated.

Original comment by heartofm...@gmail.com on 8 Apr 2013 at 9:47

GoogleCodeExporter commented 8 years ago
4)I have an idea(I tested it at p.tex from trunk)
If we change Tex Options(dvi->ps->pdf instead default) and create a correct bib 
file, everything will be ok.
Is it wrong idea?

Original comment by irizk...@gmail.com on 8 Apr 2013 at 9:59

GoogleCodeExporter commented 8 years ago
*must be ok

Original comment by irizk...@gmail.com on 8 Apr 2013 at 10:05

GoogleCodeExporter commented 8 years ago
It can work but I suspect that all the warnings can be dealt with without 
changing tex options. 

What do you mean by correct bib file? If the file is incorrect making it 
correct is a good idea anyways.

Original comment by heartofm...@gmail.com on 9 Apr 2013 at 6:57

GoogleCodeExporter commented 8 years ago
In my branch there wasn't bib file for elltoolmanual.tex We just used the 
environment{thebibliography}
I had to change et.bib

I use dvi->ps->pdf options. There is 1 warning:
Package epstopdf Warning: Drivers other than `pdftex.def' are not supported.

In internet there isn't solution of this problem. Usually offered to use
\usepackage{graphicx, epstopdf}. It didn't help.

Original comment by irizk...@gmail.com on 9 Apr 2013 at 3:18

GoogleCodeExporter commented 8 years ago

Original comment by irizk...@gmail.com on 9 Apr 2013 at 3:20

Attachments:

GoogleCodeExporter commented 8 years ago
1) I resolved the problem that caused the warnings in pure pdf mode( without 
ps), please switch back to pdftex and confirm that an amount of warnings is 
zero. Also, I checked the beginning of the console output (bibtex warnings 
doesn't add up to the final warning count):

Command Line:   bibtex.exe "elltoolmanual"
Startup Folder: D:\SVN_Local\EllToolBoxTrunk\doc

This is BibTeX, Version 0.99d (MiKTeX 2.9)
The top-level auxiliary file: elltoolmanual.aux
The style file: plain.bst
Database file #1: et.bib
Warning--to sort, need author or key in mpt
Warning--to sort, need author or key in cdd
Warning--to sort, need author or key in ddt
Warning--to sort, need author or key in matisse
Warning--to sort, need author or key in zonotool
Warning--to sort, need author or key in checkmate
Warning--to sort, need author or key in levelset
Warning--to sort, need author or key in requiem
Name 1 in "A. A. Kurzhanskiy, and P. Varaiya" has a comma at the end for entry 
pvak
while executing---line 1049 of file plain.bst
Name 1 in "L. Ros, and A. Sabater and F. Thomas" has a comma at the end for 
entry fusion
while executing---line 1049 of file plain.bst
Warning--to sort, need author or key in cvxhp
Warning--to sort, need author or key in sedumihp
Warning--to sort, need author or key in sdpt
Warning--to sort, need author or key in gbt2
Name 1 in "A. A. Kurzhanskiy, and P. Varaiya" has a comma at the end for entry 
pvak
while executing---line 1090 of file plain.bst
Warning--empty publisher in xiaotian
Name 1 in "L. Ros, and A. Sabater and F. Thomas" has a comma at the end for 
entry fusion
while executing---line 1090 of file plain.bst
(There were 4 error messages)

Please have these 4 errors fixed.

2) Section 4.1.1 - "distance" and other methods are not "routines". Please 
refer to them as methods of ellipsoid class.

3) In section 4.2, item 1, url should be published via hyperref packge so that 
it is displayed in blue color.

Once you fix all this please work on the help collector tool.

Original comment by heartofm...@gmail.com on 9 Apr 2013 at 3:50

GoogleCodeExporter commented 8 years ago
4) Section 6.1 - names of parameters are incorrect - you can see the correct 
names in xml file (type elltool.editconf('default')). Also when you type class 
name or package name you should use the same font as everywhere {\tt ... }. 
Finally you typed "Elltool", it should be "elltool"

5) All references to EllOptions should be correctly and very carefully replaced 
with the references to Properties class (elltool.conf.Properties). Also, please 
note that elltool.reach.ReachContinuous/ReachDiscrete, ellipsoid and hyperplane 
classes have their own copies of some property values stored within the objects 
and available via getters. For instance ellipsoid class has getAbsTol, 
getRelTol getters etc. 

So in a context of ellipsoid class for properties that now exist in ellipsoid 
objects you need to replace the references to EllOptions with getters for these 
properties. Same for hyperplane and elltool.reach.ReachContinuous classes

Use references to Properties only when ellipsoid/hyperplane/reach classes are 
not mentioned in the context

6) Section 6 needs to be updated to account for new class names (and possible - 
new syntax). Just read it and see what needs to be updated.

Original comment by heartofm...@gmail.com on 9 Apr 2013 at 7:26

GoogleCodeExporter commented 8 years ago
4-5)Ok, i gonna fix this.

6)In subsection Linsys i add information about 
Linsys.Continuous,Linsys.Discrete, right?Should i paste info about 
LinSys.Factory?

7)I started to write new help collector. I decided to begin with simple example:
FuncData=elltool.doc.newcollecthelp({'ellipsoid','hyperplane'},{'test'}).

As model I took your example.
At the first glance everything is working correctly.
But there are some things, which I don't understand.
In resulting pdf some methods appeared. For example, 
ellipsoid.delete/hyperplane.delete,
ellipsoid.findobj/hyperplane.findobj, hyperplane.gt, etc...

These methods don't have descriptions in @ellipsoid, @hyperplane.
How do we get these methods?

Original comment by irizk...@gmail.com on 9 Apr 2013 at 8:34

GoogleCodeExporter commented 8 years ago
6) yes. Factory as well please.

7) There are methods defined in the superclass of ellipsoid class (ellipsoid is 
inherited from handle class). In Matlab if you want to define a class passed by 
reference you need to specify "handle" class as a super class 
(http://www.mathworks.com/help/matlab/matlab_oop/the-handle-superclass.html). 
This is exactly what is done in ellipsoid.m (see classdef ellipsoid<handle). I 
think you need to check if a class is inherited from handle class and if it is 
- use the following approach:

handleClassMethodNameList=arrayfun(@(x)x.Name,...
    meta.class.fromName('handle').MethodList,'UniformOutput',false);
%
className='elltool.linsys.LinSysDiscrete';
mc= meta.class.fromName(className);

methodMetaVec=mc.MethodList;
curClassMethodNameList=arrayfun(@(x)x.Name,...
    methodMetaVec,'UniformOutput',false);
emptyObj=eval([className,'.empty(0,0)']);
isHandleClass=isa(emptyObj,'handle');
%
if isHandleClass
    isHandleMethodVec=ismember(curClassMethodNameList,...
        handleClassMethodNameList);
    methodMetaVec=methodMetaVec(~isHandleMethodVec);
end
disp({methodMetaVec.Name});

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

GoogleCodeExporter commented 8 years ago
I tried to fix problems 4-6.
How do you think, we need subsections in reach\linsys?
I thought to separate these sections. But there are a lot of the text's 
repetition.

Original comment by irizk...@gmail.com on 10 Apr 2013 at 8:24

Attachments: