[ellipsoids] r2770 committed - issue 133...

8 views
Skip to first unread message

ellip...@googlecode.com

unread,
Mar 8, 2014, 10:27:23 AM3/8/14
to ellipsoids-change...@googlegroups.com
Revision: 2770
Author: anna.ata...@gmail.com
Date: Sat Mar 8 15:21:43 2014 UTC
Log: issue 133
Enhancement: committing my branch into trunk
http://code.google.com/p/ellipsoids/source/detail?r=2770

Added:
/trunk/doc/_build/html/_sources/chap_ellTube.txt
/trunk/doc/_build/html/chap_ellTube.html
/trunk/doc/chap_ellTube.rst
/trunk/doc/main_elltoolmanual.tex
/trunk/products/+gras/+ellapx/+smartdb/+test/+examples
/trunk/products/+gras/+ellapx/+smartdb/+test/+mlunit/ExamplesTC.m
Modified:
/trunk
/trunk/doc/_build/html
/trunk/doc/_build/html/.buildinfo

/trunk/doc/_build/html/_images/math/90951d353747c0fed5fd2adeed6258718e7ba7f4.png

/trunk/doc/_build/html/_images/math/90c47ab0eb5d1569efb1a2200ed641c1adc18c58.png

/trunk/doc/_build/html/_images/math/912a101713690341d4121d9f299d7253b07f7ad4.png

/trunk/doc/_build/html/_images/math/91449f289ad84516746f338180521c05b5925a83.png

/trunk/doc/_build/html/_images/math/91b75e4a78ee85720d81e8fa008b7a8dab883f70.png

/trunk/doc/_build/html/_images/math/91ba0e3d9086b30bf8ad68ed37a5a85d0f095bfb.png

/trunk/doc/_build/html/_images/math/91f0050ef8a193e6e6c7c0151c234b1e3c2ce553.png

/trunk/doc/_build/html/_images/math/926952b76879859f61ea04a4f8e240d3f8278f3e.png

/trunk/doc/_build/html/_images/math/927b9b9b217d5bfc907bcfa669f9b910f8235083.png

/trunk/doc/_build/html/_images/math/92cad30470cce7e86b5489d31e58224ca05dbeea.png

/trunk/doc/_build/html/_images/math/93259bb673a9821191d02b44e1696aa54d8ef32d.png

/trunk/doc/_build/html/_images/math/933cd1087ffb4f28f128d84ccb09631bf8674201.png

/trunk/doc/_build/html/_images/math/9385b7a27e79a1d0b5dab8b1bcec110322a82b17.png

/trunk/doc/_build/html/_images/math/93bc6527f61669132dabf5873a2b69109ce1dd75.png

/trunk/doc/_build/html/_images/math/93e54033bbd83ef95a1379548b4e57c8c5f32e85.png

/trunk/doc/_build/html/_images/math/949123d9e0ed205b634d8ea6b63f0389a11234bb.png

/trunk/doc/_build/html/_images/math/949f15c17c06ce267d7e29d4899999e171533283.png

/trunk/doc/_build/html/_images/math/94e6930643fa109366fdebf264472c0fe36f8607.png

/trunk/doc/_build/html/_images/math/94f43cc848977a2501ef18eeb62f60f6c7e08d4c.png

/trunk/doc/_build/html/_images/math/950705e531b7ae94269ec795fdfed484858f73f1.png

/trunk/doc/_build/html/_images/math/955e5adf6b441bec4019ff381ff77f3b1061cae2.png

/trunk/doc/_build/html/_images/math/95b45e151683fcad510b8995d6504e477ab4508e.png

/trunk/doc/_build/html/_images/math/9601bfdb03a243b97f39ab40b3979d6912c3798b.png

/trunk/doc/_build/html/_images/math/960abeff20941af75ff673a99d0c9e44f84dde48.png

/trunk/doc/_build/html/_images/math/9618579f2b911a58a71f1b4c5985f9399149842a.png

/trunk/doc/_build/html/_images/math/961e976eb912f0968f18ad08470000292503ce75.png

/trunk/doc/_build/html/_images/math/962d030797713a522c94cc9365cac8daa2eba55b.png

/trunk/doc/_build/html/_images/math/96ea731969af14f82ceb2689e8818b70ddfa93c8.png

/trunk/doc/_build/html/_images/math/9742e5e7c4cd77e2c1bad64165c68c3abb4c90c2.png

/trunk/doc/_build/html/_images/math/978f7246aecfe9c9b3177e08f89fbc4d432d407d.png

/trunk/doc/_build/html/_images/math/97a034a346a13ec0a32eb72a1a4e2af8df4a2bf3.png

/trunk/doc/_build/html/_images/math/9848b4ee4fab67fff836cc47d90bb8bc8d09633a.png

/trunk/doc/_build/html/_images/math/9866e3a998d628ba0941eb4fea0666ac391d149a.png

/trunk/doc/_build/html/_images/math/989587c7e2c0eec1235d485552fa2ca115860e97.png

/trunk/doc/_build/html/_images/math/98bc0f0c3f819260ad0ee942d6e190a7690dfc7b.png

/trunk/doc/_build/html/_images/math/98bdba074d91bed934098c97cdd3bed607d9a02a.png

/trunk/doc/_build/html/_images/math/98e97423400c5f7068672ed053eb94a04324ffef.png

/trunk/doc/_build/html/_images/math/991eab2f36efc3413a2114c78ede7dea643a675d.png

/trunk/doc/_build/html/_images/math/99a43db79e7ea5abd0478c141516e437ab9906d6.png

/trunk/doc/_build/html/_images/math/99aa3d80b39fbabf8a6fcdd3067aeb27181b6faf.png

/trunk/doc/_build/html/_images/math/9a02dedf142dfbb0101c93e6aa1f45b3fbe46d22.png

/trunk/doc/_build/html/_images/math/9a1efe88cc2f4b3be342e4ce3e57f8f4b2297b8b.png

/trunk/doc/_build/html/_images/math/9ac1ae316de090a0a7dd43aed00f3d3d829bee93.png

/trunk/doc/_build/html/_images/math/9b07c69b8f9bda68bf950585a116379ef671bd4b.png

/trunk/doc/_build/html/_images/math/9b58315bbb7d93ca561f75aaca8f8769328a0953.png

/trunk/doc/_build/html/_images/math/9b9988a4879048e3095278449aed753504099b84.png

/trunk/doc/_build/html/_images/math/9c6b6e3411fe8fb81cae8159e683fa6a3347d73f.png

/trunk/doc/_build/html/_images/math/9c7f4f6974e643e3e2707f4e64304ccfd02ff7e5.png

/trunk/doc/_build/html/_images/math/9c7fc5e1889c42d251d52284ef794edabc9af066.png

/trunk/doc/_build/html/_images/math/9cfd7cc884ddf9e7b9d34795c8cd6ab315ad64b2.png

/trunk/doc/_build/html/_images/math/9d404d92b318a1f9085fe646972e13f01e554ebe.png

/trunk/doc/_build/html/_images/math/9d71230623b6d55323c4dff964f53c3ec6d00739.png

/trunk/doc/_build/html/_images/math/9dcf65b34c9b6571c83e870b229364b7513df564.png

/trunk/doc/_build/html/_images/math/9e0ec34cd8860ceb97113f81ba768ba739ad5166.png

/trunk/doc/_build/html/_images/math/9eb64b702fe24f660e2444967bd846b7dab309a6.png

/trunk/doc/_build/html/_images/math/9edbb67b3beacb59a37ab9ab9149bb0e6e62b342.png

/trunk/doc/_build/html/_images/math/9ef4ba40b296e5f5580db88dc9ad4e01b9450313.png

/trunk/doc/_build/html/_images/math/9efc7d05188900cd4c67c89f3bde58dd41071cfc.png

/trunk/doc/_build/html/_images/math/9f160899477b4c01e00b65fbc49546eeceea6e06.png

/trunk/doc/_build/html/_images/math/9f4466da59af1dc2b89d500c396a7e75d625f1e1.png

/trunk/doc/_build/html/_images/math/9ffb448918db29f2a72f8f87f421b3b3cad18f95.png
/trunk/doc/_build/html/_images/math/Thumbs.db

/trunk/doc/_build/html/_images/math/a0552947ec005fb9471cf25cf3b187b67e0bba1a.png

/trunk/doc/_build/html/_images/math/a06be760b912d731c54b62451bbcdf9d000e4db2.png

/trunk/doc/_build/html/_images/math/a07db88b8564a8e6419836a9e3ef0fffa5cce9a8.png

/trunk/doc/_build/html/_images/math/a0b040babf1e916fd89b63a7d1ce5d7a1a61e907.png

/trunk/doc/_build/html/_images/math/a1062fcc8473fb7421323f2b926c485e48337e78.png

/trunk/doc/_build/html/_images/math/a1a60d72293886a86d97110ef0f9554352c8123c.png

/trunk/doc/_build/html/_images/math/a1c4282ba153b9007e5704a7844b6b912c3cefa4.png

/trunk/doc/_build/html/_images/math/a1c8f457ec7ed2e61744755f49bc5e80c495bbd6.png

/trunk/doc/_build/html/_images/math/a27869b9b49cef957925e4de4af37b9e24ae2d58.png

/trunk/doc/_build/html/_images/math/a351f605045834958437fa694984c043cb23547f.png

/trunk/doc/_build/html/_images/math/a35714268b61ac980283474ed5dcc3a2d069626f.png

/trunk/doc/_build/html/_images/math/a382495e202a1b34e33e489f3219651f351ff526.png

/trunk/doc/_build/html/_images/math/a3aabd2381990060bf40eb923028279849d1cf5f.png

/trunk/doc/_build/html/_images/math/a3ef75cc31c88a4eb1c121de7a914b0d73882ee2.png

/trunk/doc/_build/html/_images/math/a504a8aea7683f7176c45787b5048d916d623af4.png

/trunk/doc/_build/html/_images/math/a5c14c3879b117925fb31d46861cde93fb8181bb.png

/trunk/doc/_build/html/_images/math/a5d0a76f62ca1acdb1000a63660be39e7d0281e4.png

/trunk/doc/_build/html/_images/math/a628f0c440e7cacb1c8702c60c24aa2d0584599a.png

/trunk/doc/_build/html/_images/math/a663db97beba72ef60f4ca802cae575c6409eb8f.png

/trunk/doc/_build/html/_images/math/a78eaedc43faf86647d85ba58be66d49fa5b11d0.png

/trunk/doc/_build/html/_images/math/a7dae3c6d0b19ebb250e94feee943509666d83d4.png

/trunk/doc/_build/html/_images/math/a87b80f9c19a0f7d192ef4e5ccfb4692ea5469d8.png

/trunk/doc/_build/html/_images/math/a99420d44217c70d97d6a101fc86e0a4cc39c391.png

/trunk/doc/_build/html/_images/math/a9d6137062c23d367d64e918d66059511726c3e8.png

/trunk/doc/_build/html/_images/math/a9f23bf124b6b2b2a993eb313c72e678664ac74a.png

/trunk/doc/_build/html/_images/math/aad09e3e5b88cdefa4907761de5ced0271af74d4.png

/trunk/doc/_build/html/_images/math/ab5251439ecc70cee3e15e6288ea2c7ca840e025.png

/trunk/doc/_build/html/_images/math/ab5e7f4081a910e8f204940ccd985972fc8ea58c.png

/trunk/doc/_build/html/_images/math/ab7ed77843bb59354a4a55db1eb75375256fa9d1.png

/trunk/doc/_build/html/_images/math/abfa77d99a295cfdec300683a437f78b84152501.png

/trunk/doc/_build/html/_images/math/ac03112d81b92ce6eab79afa40e03ebedb8628f1.png

/trunk/doc/_build/html/_images/math/ac048a8b5260ddfbdad1e440eaaeab55ce448685.png

/trunk/doc/_build/html/_images/math/adfb1664e96f4db080fddaaa86fc3123855be8b0.png

/trunk/doc/_build/html/_images/math/ae67ee47c6c7e0b6dcc2d2e36d30f0b2b00655ad.png

/trunk/doc/_build/html/_images/math/af044877adb9f0742be0181232cd7503d496dcea.png

/trunk/doc/_build/html/_images/math/af24b4257394a743dab72223af20554984cffa99.png

/trunk/doc/_build/html/_images/math/af2cf4c2914ed95be700b0ac1b519385e8de6716.png

/trunk/doc/_build/html/_images/math/af36faec8fe9f30065aa2bd1cc4c000f7efa1b7c.png

/trunk/doc/_build/html/_images/math/af9c2f37040450ab12f7f40cf17114a96aae2b02.png

/trunk/doc/_build/html/_images/math/b030cd493cf47cb7ba11af2031b2dbd94459e8f8.png

/trunk/doc/_build/html/_images/math/b193c42ad634cfeaa2142c4b590e3ffbafd82a19.png

/trunk/doc/_build/html/_images/math/b1a0cc16a655bd9b0fc6dee82cca9c38f2c210c0.png

/trunk/doc/_build/html/_images/math/b1f2c8bed9f4455e07e18f5bde82d6039e6ea9dd.png

/trunk/doc/_build/html/_images/math/b3222df82f335ae3c13b3bc410b20f191706382f.png

/trunk/doc/_build/html/_images/math/b3911b40f8b909842d24b7d89020040d1afb8cbc.png

/trunk/doc/_build/html/_images/math/b432ca7ef7f5085b555d79d4a7190fd951a9c1bb.png

/trunk/doc/_build/html/_images/math/b55ca7a0aa88ab7d58f4fc035317fdac39b17861.png

/trunk/doc/_build/html/_images/math/b5695495d2d339517497d94a81558300a82f054c.png

/trunk/doc/_build/html/_images/math/b5c7e4a0ea338caa9b6fa7ef4fd31ce8bec5da50.png

/trunk/doc/_build/html/_images/math/b65e6facfe122c182fe14d503aeace2c52a9739d.png

/trunk/doc/_build/html/_images/math/b671f1bb7e4ee86584347d5d22f1dc8abdb5bef2.png

/trunk/doc/_build/html/_images/math/b6de6728d21cf8c1d44a29107c68cf8e95081b04.png

/trunk/doc/_build/html/_images/math/b7585008f0f54f5ccddb78aa4c40194c26db3520.png

/trunk/doc/_build/html/_images/math/b7b6154b1b249806be929c57a4a66bb864455e6b.png

/trunk/doc/_build/html/_images/math/b7ba4ccd31cc16807035190d40c846bc450b6213.png

/trunk/doc/_build/html/_images/math/b839a34dccb12db9fde040cb49a9ee28f52b0f2c.png

/trunk/doc/_build/html/_images/math/b8f653df0b5080df4f9b612416fb9b1218719566.png

/trunk/doc/_build/html/_images/math/b8fd8ec4de863e538933814f8119653f05957963.png

/trunk/doc/_build/html/_images/math/b99b700b5de044fa889a1298e884bf5d0872f3c5.png

/trunk/doc/_build/html/_images/math/ba36465f80659e02db6d1fc06dc138954c5ff94c.png

/trunk/doc/_build/html/_images/math/bab8161dcd9106bd9811b988df2903e348f0d2b2.png

/trunk/doc/_build/html/_images/math/bac0ae63aec09971dd9b5d57245fb790377c8e10.png

/trunk/doc/_build/html/_images/math/bac4dbe1c696d11e8dc43dd7f613199b2120daa1.png

/trunk/doc/_build/html/_images/math/bae5aba07d37ff6ff813107e76260fb31ad5794e.png

/trunk/doc/_build/html/_images/math/bb26083a167e5bd142ee8954a3647b09633f91b4.png

/trunk/doc/_build/html/_images/math/bb2c93730dbb48558bb3c4738c956c4e8f816437.png

/trunk/doc/_build/html/_images/math/bb5fa23edd2754dda88386b5c2f48e26b6d994da.png

/trunk/doc/_build/html/_images/math/bb9a6f9a1c40ef877e03efc9f258bd9e26344877.png

/trunk/doc/_build/html/_images/math/bba93d24bd1133965590d5dd5390897f12bfdd39.png

/trunk/doc/_build/html/_images/math/bbb1bd4a96b3f75d677187d678e52f67af3338a5.png

/trunk/doc/_build/html/_images/math/bc84f023e1c67c07ea9a2ea4729a9cf7e64dff41.png

/trunk/doc/_build/html/_images/math/bd1c31a6d2b5c7595dcca4648e06fd2dd1a2b6a4.png

/trunk/doc/_build/html/_images/math/bd592756af7f9948048ca313b4d195268ae78f09.png

/trunk/doc/_build/html/_images/math/bd59cd068d766e594478ad09e423d6fb398c63e1.png

/trunk/doc/_build/html/_images/math/bde4a0fa62e8151878615f926c15315366dd1d2f.png

/trunk/doc/_build/html/_images/math/be50c695bad673ab59b9a1562db4305f20d575ba.png

/trunk/doc/_build/html/_images/math/be5c023aff92e6173fea63995f6a126af6e9a6cf.png

/trunk/doc/_build/html/_images/math/bed6aa0e1d5ee31b81d55d174ee68924bbe53efe.png

/trunk/doc/_build/html/_images/math/bfb532e561f10458258d619de1c2f1d9bb83aaf1.png

/trunk/doc/_build/html/_images/math/bfc9604c1bcb2121a81d0af9f7d682220444800b.png

/trunk/doc/_build/html/_images/math/c024e9431691f3c7010972dec7ac5027ae24798a.png

/trunk/doc/_build/html/_images/math/c1227487309701214e481605448487c1731f52ce.png

/trunk/doc/_build/html/_images/math/c16e423c8f499e0bef8c20078b04126aeb9417bc.png

/trunk/doc/_build/html/_images/math/c1783c816b02e354608317b04b77604cacfa44a8.png

/trunk/doc/_build/html/_images/math/c192001b77e5c23e7cb3542269ac22c480bcf6e5.png

/trunk/doc/_build/html/_images/math/c1bc083425137f9fe84652c8635a605daa5d7063.png

/trunk/doc/_build/html/_images/math/c1bd4118e76dd37ecddf43e977ebd420fc8ba1ea.png

/trunk/doc/_build/html/_images/math/c2155302f7dec28f85733e766cfb37ca2ca9e329.png

/trunk/doc/_build/html/_images/math/c21842169a32af4ec52d3c3e708e5c7ea7808b26.png

/trunk/doc/_build/html/_images/math/c2ad91891f8b89f9b21bdd650bef4119448b29e2.png

/trunk/doc/_build/html/_images/math/c3355896da590fc491a10150a50416687626d7cc.png

/trunk/doc/_build/html/_images/math/c3563f03f3e8adac231b8f2cf4b1662d62c5228f.png

/trunk/doc/_build/html/_images/math/c385e2f68f0a5bbaaccf181e3ed8d8ad860627ea.png

/trunk/doc/_build/html/_images/math/c3b5ec5263738d8823c3f32b1fa3913518aeff22.png

/trunk/doc/_build/html/_images/math/c423abe4177f5500008b5c37ae42a61c0296740c.png

/trunk/doc/_build/html/_images/math/c4b627e644a8293c07e69bba06fc492853fc260e.png

/trunk/doc/_build/html/_images/math/c4c90c13fe1f3e0aab2e9b3cb569889010f9b1fc.png

/trunk/doc/_build/html/_images/math/c4e20bb3a2240c28a54a23fef1ce607a16963f8d.png

/trunk/doc/_build/html/_images/math/c51a6915bac1a64c7f08a3f6e2934e6fc79ba764.png

/trunk/doc/_build/html/_images/math/c5c8d19800a0b2f2d789c84ca70888923dc54f93.png

/trunk/doc/_build/html/_images/math/c609adabab2b99c660ee04eb21bf0cef10f5b06d.png

/trunk/doc/_build/html/_images/math/c679b5dadbc4e753a6971567b360896886ea7f88.png

/trunk/doc/_build/html/_images/math/c6ac73b524d3caadd8af57a8f7f97ed9de81a50b.png

/trunk/doc/_build/html/_images/math/c70a0fcf951da1989574d835398818c55c7010a7.png

/trunk/doc/_build/html/_images/math/c713b0b6d5da75b26a866fe68378d6d0ca6cff7a.png

/trunk/doc/_build/html/_images/math/c74e8bf7eda725dd9ab93a4f70f6ee8927790f5b.png

/trunk/doc/_build/html/_images/math/c7bbac03a0aa8b672607f5c390070ac0b4b4ba77.png

/trunk/doc/_build/html/_images/math/c7c30e2dd5f3258c685f0f36043a32320d7601f2.png

/trunk/doc/_build/html/_images/math/c7ca3edf641e50e137c1abfdd50dd6ff51c8d7ae.png

/trunk/doc/_build/html/_images/math/c7d457e388298246adb06c587bccd419ea67f7e8.png

/trunk/doc/_build/html/_images/math/c7e1267b0cd5ebe33335a922923dd866c20add77.png

/trunk/doc/_build/html/_images/math/c7e77feae9e86880d314fe3a51f4e851d78e25e9.png

/trunk/doc/_build/html/_images/math/c87b45bc6bca9fe02f09d8904daf864331a394a2.png

/trunk/doc/_build/html/_images/math/c8c00b61dc9f5899edcc6e869710149ab4cda213.png

/trunk/doc/_build/html/_images/math/c8d28fbb5121a9141fb66ccb45c3439d1706b10b.png

/trunk/doc/_build/html/_images/math/ca2711a2fff533ee6c5e947f21868eecdeb81a27.png

/trunk/doc/_build/html/_images/math/ca2daf2e20f673b2640c6e7dc320ca876788504f.png

/trunk/doc/_build/html/_images/math/ca4197f531cc684e5df7e43051f370569f8da334.png

/trunk/doc/_build/html/_images/math/ca5f6500d904b18c0eaf34da49a31bd3fb72d7f8.png

/trunk/doc/_build/html/_images/math/ca65a051666ebc1dd07a9fd4bbe2a7e082ecd0aa.png

/trunk/doc/_build/html/_images/math/caa75cd3c3d042f89f0a13f8e5a46481d6b93e65.png

/trunk/doc/_build/html/_images/math/caaa846680256b3e4de4329214b92089a991575e.png

/trunk/doc/_build/html/_images/math/cac076d0e08f51690a253b3723f04d4aa4b1b326.png

/trunk/doc/_build/html/_images/math/cacb608f7e428f64c8e4dbffdb5dd69848201f7c.png

/trunk/doc/_build/html/_images/math/cb0db0dbdc5a4fb4c145e30a737d8d2e3a0c0665.png

/trunk/doc/_build/html/_images/math/cb753a435fadf80a28b138e9e9e5a82d135085b4.png

/trunk/doc/_build/html/_images/math/cb9ef13ed977539cc82153a8dfdfd9f2b7d2662b.png

/trunk/doc/_build/html/_images/math/cba637903bd5dcc4222a25e52741e6c439d3ebeb.png

/trunk/doc/_build/html/_images/math/cbce10734fe2ac631593711f047d4a810d54fe33.png

/trunk/doc/_build/html/_images/math/cbdf9dec8c202a386e6d79c7c70c6023d0a1edd9.png

/trunk/doc/_build/html/_images/math/cc0e0f6c3a62dc6a8c8c6ff02f31dffd2b36fb12.png

/trunk/doc/_build/html/_images/math/cc8f0e3cc28cf5f84cafbe8b9674a3fc67f0a866.png

/trunk/doc/_build/html/_images/math/cc97b1305f6fb943238db2dee972b4e9f2c612e4.png

/trunk/doc/_build/html/_images/math/ccada11db7b2b90693e2fac4f887a57fce6f96bf.png

/trunk/doc/_build/html/_images/math/cd24775d43d17ae8df736ba8d1aa6785677f4b10.png

/trunk/doc/_build/html/_images/math/cd6263916b4b7d5650057a657775fd73484e9fd5.png

/trunk/doc/_build/html/_images/math/cd820e0ffa361e49ddb20b48c10ef28e71eb33bd.png

/trunk/doc/_build/html/_images/math/cf22ccb564d6f9393afb0a4bd5c1bd489bd28626.png

/trunk/doc/_build/html/_images/math/cf52b153335f5ac797121010c7c860e58bba8126.png

/trunk/doc/_build/html/_images/math/cf9b457145afdb53006860945864f00accd1c618.png

/trunk/doc/_build/html/_images/math/d061cb3b492a21e780cf1172609ed9f9b4928115.png

/trunk/doc/_build/html/_images/math/d0e4aa8a9554e0263d03709e33156cd55a79d81e.png

/trunk/doc/_build/html/_images/math/d15c498a846f205d2ab161542b48aa976c5de32d.png

/trunk/doc/_build/html/_images/math/d2741c359cf1a5d475e858b730de4f7b2d8b8b37.png

/trunk/doc/_build/html/_images/math/d28baf36d64d534be2a46540921dbc5f635c7b83.png

/trunk/doc/_build/html/_images/math/d2c743e3ea95a31aaf2d6a3c27d4856c6b9d3803.png

/trunk/doc/_build/html/_images/math/d2fc65f335c98b0be9643e1a3450db6736dcb20d.png

/trunk/doc/_build/html/_images/math/d3973d5287abfa00000abf576d60e778c2480de6.png

/trunk/doc/_build/html/_images/math/d49118ee57fdc9d8e6ebf39c7d488a9db8e3bf78.png

/trunk/doc/_build/html/_images/math/d4efe488ff686c6c5f80caa0a0f1e20108747ff9.png

/trunk/doc/_build/html/_images/math/d54b6f079584d8766776a78beefe25872871ffd7.png

/trunk/doc/_build/html/_images/math/d56d2ec9628e7c1d3266d3e28682887dddb8b8b8.png

/trunk/doc/_build/html/_images/math/d5bd0c58db744683f21ef68d1fa0b9f92f2362a2.png

/trunk/doc/_build/html/_images/math/d5eb8726a34932d28103ce7ce17456421222603f.png

/trunk/doc/_build/html/_images/math/d7babe857990f25b6e8e194e18d5e952be43e9e5.png

/trunk/doc/_build/html/_images/math/d88091f900f387f89e493cae7fcdf94b2ec91dea.png

/trunk/doc/_build/html/_images/math/d89c46304fa27f54fcb98b16a8e15b7a544495c0.png

/trunk/doc/_build/html/_images/math/d8da1db395f6bf29f89a517a8aa1db11c090ed8f.png

/trunk/doc/_build/html/_images/math/d96c74c9bc0fb66e58c330206de56f8f2c0c2965.png

/trunk/doc/_build/html/_images/math/d9aeb6c07d787c9b9804e791983ad7d491c07dd2.png

/trunk/doc/_build/html/_images/math/d9fd78829732e9b6f9383a6900af90b61c00fe1e.png

/trunk/doc/_build/html/_images/math/db099b63bb605cd0784d06062609d4b78658990d.png

/trunk/doc/_build/html/_images/math/db216a9ff941d9b1ff9d3314b645b28e9130f1d1.png

/trunk/doc/_build/html/_images/math/db7841801641b00ea2e820839aa5ac4392fbde0a.png

/trunk/doc/_build/html/_images/math/db857027076b91652b7bac6974e038e8975cb8f4.png

/trunk/doc/_build/html/_images/math/dbcf9b3b0920456799e924d31b743cb2a7662433.png

/trunk/doc/_build/html/_images/math/dbf1237726889bb1c003a859c455ede1e20e5381.png

/trunk/doc/_build/html/_images/math/dc0048e7fd0d92df650c03fb6192c2081843201f.png

/trunk/doc/_build/html/_images/math/dc3e664754cab6f673bb05f27c253088b4a2acb0.png

/trunk/doc/_build/html/_images/math/dcb33e573bbcc6504dbcd3ec509b6fca823dbef8.png

/trunk/doc/_build/html/_images/math/dcc08c03357e86d9c437af5d5417ac893d86e6cd.png

/trunk/doc/_build/html/_images/math/dce332cba90a1411dc2b4411f6845273bdca8373.png

/trunk/doc/_build/html/_images/math/dce34f4dfb2406144304ad0d6106c5382ddd1446.png

/trunk/doc/_build/html/_images/math/dd1db9b867873cfdf5dd990e6ced72d221eb0b94.png

/trunk/doc/_build/html/_images/math/dd793f4a85c802cf2686d6478cbdae7840742456.png

/trunk/doc/_build/html/_images/math/dda3f476724e7da2c022de7bbeb0fecb8b61385a.png

/trunk/doc/_build/html/_images/math/de3147d93dbea5a33a7a66c8ba2d0049c92a5b96.png

/trunk/doc/_build/html/_images/math/de6040a2794dfff5ea1ebef5b939911fbf2cfd21.png

/trunk/doc/_build/html/_images/math/dee3d34368b4ff037cfb9a60bee42c69520bc5db.png

/trunk/doc/_build/html/_images/math/df1105d596aa4698e00d8b52d11657b969238b73.png

/trunk/doc/_build/html/_images/math/e0062ef633b8d4f46c81b8d3f27160acf9cef4fa.png

/trunk/doc/_build/html/_images/math/e07b93040aa134160480f9bc8607c2ee0b5a0588.png

/trunk/doc/_build/html/_images/math/e0d2bf360290fd61d1c1557e763f2622363b3d35.png

/trunk/doc/_build/html/_images/math/e0fb4159ce4f04a245c6e36293493696c0820967.png

/trunk/doc/_build/html/_images/math/e12e26bb03985dbe5008e8262f91a3ba187ff3d8.png

/trunk/doc/_build/html/_images/math/e18445de298a486382153595e8dda5384999c8b9.png

/trunk/doc/_build/html/_images/math/e1ce5f2fe06e7d9e7623337c1b7e0b94c9ba7cff.png

/trunk/doc/_build/html/_images/math/e24ce2723f8de5c2119f2296e313e52882f01777.png

/trunk/doc/_build/html/_images/math/e2920db0a28ff2f90a17eef4a42ed9d2e6f66081.png

/trunk/doc/_build/html/_images/math/e2a4206b0fc420afa156e56f648b0700ce6fbf8e.png

/trunk/doc/_build/html/_images/math/e2ac8a7ecd2133ff7e7a64bdb511658417f9b9f2.png

/trunk/doc/_build/html/_images/math/e2bbebb3bd73f1ae5c64098ab0244f739abf7ca4.png

/trunk/doc/_build/html/_images/math/e2ccef1306540c26c31d39e3dbde5b930efe468d.png

/trunk/doc/_build/html/_images/math/e35ccb2407ac3d3308fbf9889afc5d2193f76838.png

/trunk/doc/_build/html/_images/math/e3914c1a355de428a321ac2d20044b1586a1539e.png

/trunk/doc/_build/html/_images/math/e3c09383f52ff7db11358e4aa6ca6c0307b02d76.png

/trunk/doc/_build/html/_images/math/e3dc7d72356fe189fa74a5f69b4281aa7c9b83fc.png

/trunk/doc/_build/html/_images/math/e3f84cb70f5968a9273be1ddd6e93aca6e0cb7f3.png

/trunk/doc/_build/html/_images/math/e462977a99202c493ba3c4eb9e062b2ce8fe0e49.png

/trunk/doc/_build/html/_images/math/e55d64d8461a89a3fff9c1950936db9230db320f.png

/trunk/doc/_build/html/_images/math/e5908582078e69c6be80476164a5ad1904e0877c.png

/trunk/doc/_build/html/_images/math/e604f4bdaf5c77e742d293d39c74e9c0c29d4a56.png

/trunk/doc/_build/html/_images/math/e63caa96be87c8447a6385452f4a56cc2cd88d3b.png

/trunk/doc/_build/html/_images/math/e67bbf83c80ccc2a0ff79a279e1f7b0857715050.png

/trunk/doc/_build/html/_images/math/e6890120143ffa063f687bd2e9d65f58163abfcb.png

/trunk/doc/_build/html/_images/math/e6a70802f10ac1eb9ca48e196d2cefb83a3c0ce1.png

/trunk/doc/_build/html/_images/math/e80537cc01216a5e46cf07c0582bbe355c80f43b.png

/trunk/doc/_build/html/_images/math/e85f92fe1925b42b86da50a31d00b47850b2305f.png

/trunk/doc/_build/html/_images/math/e861e10e1c19918756b9c8b7717684593c63aeb8.png

/trunk/doc/_build/html/_images/math/e8c3c4bdc6098ca9596103e8b5d8548b105c7d1f.png

/trunk/doc/_build/html/_images/math/e923683d85eb163281b77dbfc1a1dcee7e1344bb.png

/trunk/doc/_build/html/_images/math/e92b0a26229a4346959b0fcf78aa756f44da588b.png

/trunk/doc/_build/html/_images/math/e9968a16fb90aa2d8126384a4b1af47870fd12a6.png

/trunk/doc/_build/html/_images/math/ea744f811759be7c88b5262e9d0a740984c595a0.png

/trunk/doc/_build/html/_images/math/ea92bf13f3bda814ce7a63203cb91447f9ed1ef0.png

/trunk/doc/_build/html/_images/math/eb0c57e987cefca1e577531c850c5fecdc043a19.png

/trunk/doc/_build/html/_images/math/eb0f7e54017c17167f35d464e817527b82c710a8.png

/trunk/doc/_build/html/_images/math/eb2bd2c948217fc8b2eeb7ee523076542cf52b7f.png

/trunk/doc/_build/html/_images/math/eb74c07d43b16703bf293b0e775ab87dad27705f.png

/trunk/doc/_build/html/_images/math/ebe8b756479a6dde4744b780515397b140d3caed.png

/trunk/doc/_build/html/_images/math/ec4e1b80a56dd9005e2bc69462cd5ed53390d5a9.png

/trunk/doc/_build/html/_images/math/ec9f18d1b9a069bea5d37bda316c1352ca9a5739.png

/trunk/doc/_build/html/_images/math/ece677c3e222c005b94cb718eaa118d6923d8c56.png

/trunk/doc/_build/html/_images/math/ed4ec478f97383d654190be07156789d9c49f8e8.png

/trunk/doc/_build/html/_images/math/ed6f641b4dee90f1f8d45a15e454ad085e7691d4.png

/trunk/doc/_build/html/_images/math/ed7095a991ca0515145d3c4bb10a75c16ee0789a.png

/trunk/doc/_build/html/_images/math/edf789924f2480ed06b4966e254d2bab89a81b15.png

/trunk/doc/_build/html/_images/math/ee072882ded5c004d089ab985f862477ae646af1.png

/trunk/doc/_build/html/_images/math/ee54e8432d4a60984309e86f32931b04c8e2f1da.png

/trunk/doc/_build/html/_images/math/ee60922c5fc5ee1941df04f838cdae71fbc29d6f.png

/trunk/doc/_build/html/_images/math/ee7c4356b5cf1f8dda2ae13f831577457739e4be.png

/trunk/doc/_build/html/_images/math/ef3352551ab7454916a9027b365041143dd2d423.png

/trunk/doc/_build/html/_images/math/ef823851cbbb81a24a7a49f418daa505b600a5fd.png

/trunk/doc/_build/html/_images/math/efaa2f210aa07e2e2a4863aadd9b250c31529351.png

/trunk/doc/_build/html/_images/math/f03683f25fabcc8423d6b65a29cf2ba0bd9b5e8d.png

/trunk/doc/_build/html/_images/math/f1e9a53a34c33b6aa1c85b8e0fc10c33805f5e2e.png

/trunk/doc/_build/html/_images/math/f1ff206ea244a14735a602e5212cfe96f0589f26.png

/trunk/doc/_build/html/_images/math/f2037876b576b9abbb0e8f4e47b33bcc4217bec8.png

/trunk/doc/_build/html/_images/math/f26eef1760d960eb46a9f56bde4103cf5a508bfe.png

/trunk/doc/_build/html/_images/math/f2c9870b218b1980b93893245c464155abb0008f.png

/trunk/doc/_build/html/_images/math/f2ca003a7da0de4994b4733e203b74ff52d42553.png

/trunk/doc/_build/html/_images/math/f30ea039d8e119a8a8c97c182c9c9d8f12fb5db1.png

/trunk/doc/_build/html/_images/math/f352f0a9cf84f2ede9c8f28215158008cae11ee2.png

/trunk/doc/_build/html/_images/math/f3b77bcc82b17c583ed6df127d3266460c8d0f43.png

/trunk/doc/_build/html/_images/math/f3f4a28e9213efe66147dc752631677d61411e9a.png

/trunk/doc/_build/html/_images/math/f420790dc001fa2c5fff0ee3086eb2c8d599bc3f.png

/trunk/doc/_build/html/_images/math/f4210e602219466412939d694d96625d6364ebf1.png

/trunk/doc/_build/html/_images/math/f473344b7a2074772465305139d5e52356bbc691.png

/trunk/doc/_build/html/_images/math/f49c05dd72e90f33cb56d34b8cfd030be5795c5d.png

/trunk/doc/_build/html/_images/math/f55ed67a8bdd8cfa80a4d9fb01c31dd322b1bd94.png

/trunk/doc/_build/html/_images/math/f5cc1545b6c15c1781d2b6ab2dbb62df29e2d6dc.png

/trunk/doc/_build/html/_images/math/f5d58d6e153ef8a2b1cd480d85e91a6fe5565198.png

/trunk/doc/_build/html/_images/math/f5f5185b36251ec182e491c4426666d2571552e9.png

/trunk/doc/_build/html/_images/math/f63632e06efb8dad4a366dbf88b04a0f4b0e44e9.png

/trunk/doc/_build/html/_images/math/f6ecdb1fe1d0d5df703e422d4fca78d0c0556445.png

/trunk/doc/_build/html/_images/math/f71c7ba166b0aed1265d134baf256a71de71b358.png

/trunk/doc/_build/html/_images/math/f71e4a98ac552649614e93ace2f7ef8d74f74c80.png

/trunk/doc/_build/html/_images/math/f7310db1c9f2d781f689a4a2a7e82e7f9e465d17.png

/trunk/doc/_build/html/_images/math/f74a7347e6be4d33a85d97b0457ecd5b4d19f304.png

/trunk/doc/_build/html/_images/math/f7bf92e6253e44b00475b7a2cb18ff6f712f5211.png

/trunk/doc/_build/html/_images/math/f7c581af3f7cf7ed3abe62da090534eb4d1bd00f.png

/trunk/doc/_build/html/_images/math/f81ac810bd3ecbb6ae23756422a958a454fc2beb.png

/trunk/doc/_build/html/_images/math/f8ba265e6f08a7ae35cbae8aec9f39518239c6ce.png

/trunk/doc/_build/html/_images/math/f9c09343107ce98fcf364ac4a6974ec24212ba2f.png

/trunk/doc/_build/html/_images/math/fa7306baf69bb692361ac93e38f294cecfb99ba3.png

/trunk/doc/_build/html/_images/math/fa8d62c5c25dddb9f5ee0f2d640ac3bc21690f38.png

/trunk/doc/_build/html/_images/math/fc43f0ea59e862d7db01586894e9eea730d427b7.png

/trunk/doc/_build/html/_images/math/fc606f7f1e530731ab4f1cc364c01dc64a4455ee.png

/trunk/doc/_build/html/_images/math/fc9516c891e2fff82100c9bc658cdff497c0d775.png

/trunk/doc/_build/html/_images/math/fc97ef67268cd4e91bacdf12b8901d7036c9a056.png

/trunk/doc/_build/html/_images/math/fce912a0ad9e9d6cab93289db73fe702ea56b18f.png

/trunk/doc/_build/html/_images/math/fdbc229b9b971eb53ccdf1a8f1af1c29f89a159c.png

/trunk/doc/_build/html/_images/math/fe6a61c0adf995408d4c70c51d35f9798bc472c6.png

/trunk/doc/_build/html/_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png

/trunk/doc/_build/html/_images/math/ff6016cfce91aa1670049cae29415d01c6a62052.png
/trunk/doc/_build/html/_sources/chap_acknowledge.txt
/trunk/doc/_build/html/_sources/chap_ellcalc.txt
/trunk/doc/_build/html/_sources/chap_examples.txt
/trunk/doc/_build/html/_sources/chap_functions.txt
/trunk/doc/_build/html/_sources/chap_implement.txt
/trunk/doc/_build/html/_sources/chap_install.txt
/trunk/doc/_build/html/_sources/chap_intro.txt
/trunk/doc/_build/html/_sources/chap_reach.txt
/trunk/doc/_build/html/_sources/chap_summary.txt
/trunk/doc/_build/html/_sources/main_manual.txt
/trunk/doc/_build/html/_static/basic.css
/trunk/doc/_build/html/_static/doctools.js
/trunk/doc/_build/html/_static/searchtools.js
/trunk/doc/_build/html/chap_acknowledge.html
/trunk/doc/_build/html/chap_ellcalc.html
/trunk/doc/_build/html/chap_examples.html
/trunk/doc/_build/html/chap_functions.html
/trunk/doc/_build/html/chap_implement.html
/trunk/doc/_build/html/chap_install.html
/trunk/doc/_build/html/chap_intro.html
/trunk/doc/_build/html/chap_reach.html
/trunk/doc/_build/html/chap_summary.html
/trunk/doc/_build/html/genindex.html
/trunk/doc/_build/html/main_manual.html
/trunk/doc/_build/html/objects.inv
/trunk/doc/_build/html/search.html
/trunk/doc/_build/html/searchindex.js
/trunk/doc/_build/latex/elltool_manual.tex
/trunk/doc/_build/latex/sphinx.sty
/trunk/doc/_build/latex/sphinxmanual.cls
/trunk/doc/_build/latex/tabulary.sty
/trunk/doc/chap_functions.rst
/trunk/doc/chap_implement.rst
/trunk/doc/chap_reach.rst
/trunk/doc/conf.py
/trunk/doc/main_manual.rst
/trunk/products/+elltool/+doc/+picgen/+test
/trunk/products/+elltool/+doc/+picgen/@PicGenController
/trunk/products/+elltool/+doc/+picgen/chapter05_section01_minkdiff_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter05_section01_minkmp_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter05_section01_minkpm_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter05_section01_minksum_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter05_section03_dispPic_gen.m

/trunk/products/+elltool/+doc/+picgen/chapter05_section03_reachTubeDynProj_gen.m

/trunk/products/+elltool/+doc/+picgen/chapter05_section03_reachTubeStatProj_gen.m

/trunk/products/+elltool/+doc/+picgen/chapter05_section03_unionTubeStatProj_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter06_section02_reachmech_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter06_section03_rlcreach_gen.m
/trunk/products/+elltool/+doc/+picgen/chapter06_section04_hwreach_gen.m
/trunk/products/+elltool/+doc/+snip/s_chapter04_section01_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter04_section01_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter04_section01_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter04_section01_snippet04.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet04.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet05.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet06.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet07.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet08.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet09.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet10.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet11.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet12.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet13.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet14.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet15.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet16.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet17.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet18.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet19.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section01_snippet20.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet04.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet05.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet06.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet07.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet08.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet09.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet10.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet11.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet12.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section02_snippet13.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet04.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet05.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet06.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet07.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet08.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet09.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section03_snippet10.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet04.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet05.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet06.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet07.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet08.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet09.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet10.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet11.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet12.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet13.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet14.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet15.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet16.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet17.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section04_snippet18.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section05_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section05_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section05_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section06_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter05_section06_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section01_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section02_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section02_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section03_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section03_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section04_snippet01.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section04_snippet02.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section04_snippet03.m
/trunk/products/+elltool/+doc/+snip/s_chapter06_section04_snippet04.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/AEllTubeProjectable.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/ATypifiedAdjustedRel.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTube.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTubeBasic.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTubeProj.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTubeProjBasic.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTubeTouchCurveBasic.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllTubeTouchCurveProjBasic.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllUnionTube.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllUnionTubeBasic.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/EllUnionTubeStaticProj.m
/trunk/products/+gras/+ellapx/+smartdb/+rels/TypifiedByFieldCodeRel.m
/trunk/products/+gras/+ellapx/+smartdb/+test/run_tests.m

=======================================
--- /dev/null
+++ /trunk/doc/_build/html/_sources/chap_ellTube.txt Sat Mar 8 15:21:43
2014 UTC
@@ -0,0 +1,312 @@
+Ellipsoid tubes, tubes by instant of time and their projections
+===================================================================
+
+**Definition.** For any regularization matrix :math:`M(\cdot)` the
quadratically regularized alternated reach set of system with uncertainty is
+
+.. math::
+ {\mathcal X}^{q}_{U}(t,t_0,{\mathcal X}^{0},M(\cdot)) =
+ \underset{t_0\leq\tau\leq t}{\bigcup}{\mathcal
X}^{q}_{U}(\tau,t_0,{\mathcal X}^{0},M (\cdot)).
+
+Note that if system doesn't have uncertainty then :math:`M(\cdot)=0`.
+
+By :math:`{\mathcal E}(\overline{x}(t),X_{+}(t,l))` and :math:`{\mathcal
E}(\overline{x}(t),X_{-}(t,l))` denote tight external and internal
approximations along :math:`l(\cdot)` good direction such
as :math:`l(t_0)=l`. Then the reach set by instant of time can be described
as
+
+.. math::
+ {\mathcal X}^{q}_{U}[t]=\underset{\tau}{\bigcup}\underset{l}{\bigcap}\{
+ {\mathcal E}(\overline{x}(\tau),X_{+}(\tau,l)) |l\in {\mathcal
S}_1(0), \tau\leq t\}\subseteq\underset{l} {\bigcap}\{{\mathcal
E}^{U}_{+}[t,l]) |l\in {\mathcal S}_1(0)\},
+
+where :math:`{\mathcal E}^{U}_{+}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{+}(\tau,l))|t_0\leq\tau\leq t\}` is the external
ellipsoidal tube by instant of time.
+
+Similar approxiamtion can be calculated with the internal ellipsoidal tube
by instant of time :math:`{\mathcal
E}^{U}_{-}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{-}(\tau,l))|t_0\leq\tau\leq t\}`:
+
+.. math::
+ {\mathcal X}^{U}[t]\supseteq\underset{l}{\bigcup}\{{\mathcal
E}^{U}_{-}[t,l]) |l\in {\mathcal S}_1(0)\}.
+
+Note that in general case ellipsoidal tube :math:`{\mathcal
E}^{U}_{+}[t,l]` is not tight approximation. For more information see
[GAG2012]_.
+
+So, all in all, there are two types of ellipsoid tube objects that we can
work with using *Ellipsoidal Toolbox*:
+
+- ellipsoidal tubes that are described in
*gras.ellapx.smartdb.rels.EllTube* class;
+
+- tubes by instant of time described in
*gras.ellapx.smartdb.rels.EllUnionTube* class
+ (see :ref:`formula <union-label>`).
+
+These two type of objects can be projected on specified subspaces. The
projections of ellipsoid tubes can be either static or dynamic. The are
described in gras.ellapx.smartdb.rels.EllTubeProj class. As for the tubes
by instant of time, they can only be projected on static subspaces. These
projections are described in
gras.ellapx.smartdb.rels.EllUnionTubeStaticProj class. For more information
about these types of projections and their differences and for examples see
this :ref:`link <section-label>`.
+
+Ellipsoid tubes
+---------------
+There is a whole variety of operations upon ellipsoid tubes in
*Ellipsoidal Toolbox*. We can, of course, create them. When the ellipsoid
tube object is created, we can cut them, concatenate, interpolate, plot and
project them and so on.
+
+The instruments to create ellipsoid tube objects are several functions:
+
+- *fromQArrays* method creates nEllTubes ellipsoid tube objects using an
array of ellipsoid matrices and an array of ellipsoid centers specified at
any point of time from timeVec;
+
+- *fromQMArrays* method acts the same way as *fromQArrays* method, except
for this one requires to specify an array of regularization marices
specified at any point of time from timeVec;
+
+- *fromQMScaledArrays* method acts the same way as *fromQMArrays* method,
except for this one requires to also specify a vector of scale factors
specified for every created ellipsoid tube;
+
+- *fromEllArray* method creates ellipsoid tube object using an array of
ellipsoids;
+
+- *fromEllMArray* method creates ellipsoid tube object using an array of
ellipsoids and an array of regularisation matrices.
+
+Basically we can divide these methods into two groups, based od what
objects they are using to create ellipsoid tube: an array of ellipsoid
matrices with an array of ellipsoid centers (by using these methods we can
create an ellipsoid tube object containing several ellipsoid tubes) or an
array of ellipsoids (by using these methods we can create an ellipsoid tube
object containing one ellipsoid tube). To illustrate the usage of these
methods we have to describe several functions, that will be used in the
process. Below are their descriptions.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getData.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getSameApprox.m
+ :language: matlab
+ :linenos:
+
+Using the three above mentioned functions we can describe an examples of
*fromQArrays*, *fromQMArrays* and *fromQMScaledArrays* methods' usage.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQArrays1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQArrays2.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMArrays1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMArrays2.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMScaledArrays.m
+ :language: matlab
+ :linenos:
+
+To use *fromEllArray* and *fromEllMArray* methods we nave to describe one
more auxiliary function (as these methods create an ellipsoid tube object
containing only one ellipsoid tube and we can not use *getData* function,
because it returns data for crating random number of ellipsoid tubes).
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getDataForOneTube.m
+ :language: matlab
+ :linenos:
+
+Now we can write examples of these methods' usage.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllArray.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllMArray.m
+ :language: matlab
+ :linenos:
+
+As we can see in all these examples, we can specify how many ellipsoid
tubes we want to create, which type of arrpoximation to use. Also we can
create ellipsoid tube objects, which will contain several ellipsoid tubes
with different types of approximation.
+
+After creation of ellipsoid tube objects we can do several operations with
them. Below is the *getEllTube* function that create an ellipsoid tube
object containing one or several ellipsoid tubes with specified type of
approximation, on specified time vector with specified time points. This
function will be used further down to illustrate other methods that we can
use while working with ellipsoid tube objects.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getEllTube.m
+ :language: matlab
+ :linenos:
+
+As we have created an ellipsoid tube object, we can get all the types of
differet data about it. There is a set of methods that can give information
about the data stored in the object and give access to it.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataTube.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayTube.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoTube.m
+ :language: matlab
+ :linenos:
+
+Also we can copy the object, clear all the data, save it in a file:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveTubes.m
+ :language: matlab
+ :linenos:
+
+As we have created the object, we can work with it. Below is the example
of concatenating ellipsoid tube objects. We can concatenate objects
containing one or several ellipsoid tubes with the same type of
approximation.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cat.m
+ :language: matlab
+ :linenos:
+
+As we can concatenate ellipsoid tubes, it is logical to be possible to cut
ellipsoid tubes, leaving only part of it at specified vector of time or
point of time. Below are the exmples:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cut1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cut2.m
+ :language: matlab
+ :linenos:
+
+After cutting, we can interpolate the resulting tube, using new time
vector. Take notice that we have to make sure that the first and the last
elements in old and new vectors of time are the same.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_interp.m
+ :language: matlab
+ :linenos:
+
+After that we can thin out the new ellipsoid tube, removing ellipsoids at
sertain points of time.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_thinOutTuples.m
+ :language: matlab
+ :linenos:
+
+Then we can also calculate new scale factor for specified fields:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_scale.m
+ :language: matlab
+ :linenos:
+
+Also we can compare objects using method *isEqual*.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqual1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqual2.m
+ :language: matlab
+ :linenos:
+
+At last there are several methods for projecting ellipsoid tubes on the
specified spaces. The first method projects the ellipsoid tube on specified
space creating the specified type of projection.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectTube.m
+ :language: matlab
+ :linenos:
+
+The second method projects the ellipsoid tube onto subspace defined by
vectors of standart basis with indices specified in indVec.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectToOrths1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectToOrths2.m
+ :language: matlab
+ :linenos:
+
+Also there is a method for calculating only static projections.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectStaticTube.m
+ :language: matlab
+ :linenos:
+
+For creating the projection matrix a special function is used in all of
these examples.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//fGetProjMat.m
+ :language: matlab
+ :linenos:
+
+Tubes by instant of time
+------------------------
+
+As with ellipsoid tube objects, there are several methods that we can use
while working with tubes by instant of time. First of all we can create
tubes by instant of time using *fromEllTubes* method:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllTubes.m
+ :language: matlab
+ :linenos:
+
+From here on we will use the *getUnion* function so we can get a tube by
instant of time and work with it further on. As we have created a tubes by
instant of time object, we can get all the types of differet data about it.
There is a set of methods that can give information about the data stored
in the object and give access to it.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataUnion.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayUnion.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoUnion.m
+ :language: matlab
+ :linenos:
+
+
+Also we can copy the object, clear all the data, save it in a file.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveUnion.m
+ :language: matlab
+ :linenos:
+
+Also we can compare tubes by instant of time using *isEqual* method.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqualUnion.m
+ :language: matlab
+ :linenos:
+
+At last, as it has already been said tubes by instant of time can be
projected only on static subspaces. It can be done in two ways.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_project.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectStatic.m
+ :language: matlab
+ :linenos:
+
+As for ellipsoid tube projections, a special function is used to create
the projection matrix for tubes by instant of time:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//fGetProjMat.m
+ :language: matlab
+ :linenos:
+
+Projections of ellipsoid tubes and tubes by instant of time
+-----------------------------------------------------------
+
+As it has already been said we can create either static or dynamic
projections for ellipsoid tubes and only static projections for tubes by
instant of time. There are several methods in *Ellipsoidal Toolbox* for
that. Most of them has already been described:
+
+- *project*, *projectStatic* and *projectToOrths* for ellipsoid tubes;
+
+- *project* and *projectStatic* for tubes by instant of time.
+
+It should be mentioned that from here on all the examples are written for
ellipsoid tube projections, but their usage is the same for the projections
of tubes by instant of time. We wiil use *getProj* function to create
ellipsoid tube projection that we will work with.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getProj.m
+ :language: matlab
+ :linenos:
+
+As with ellipsoid tubes and tubes by instant of time we can get all the
types of differet data about projections. There is a set of methods that
can give information about the data stored in the object and give access to
it.
+
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataProj.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayProj.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoProj.m
+ :language: matlab
+ :linenos:
+
+Also we can copy the object, clear all the data, save it in a file.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveProj.m
+ :language: matlab
+ :linenos:
+
+Also we can compare ellipsoid tube projections using *isEqual* method.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqualProj.m
+ :language: matlab
+ :linenos:
+
+And finally we can plot out results using one of three methods: *plot*,
*plotExt* (for external approximation) or *plotInt* (for internal
approximation).
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plot.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plotInt.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plotExt.m
+ :language: matlab
+ :linenos:
+
+All the three methods have several properties connected to the properties
of the image, for example: transparency, color, line width and so on.
+
+To read more about the differences of these projections :ref:`goto
<goto-label>`. Also there you can find some illustrations for both ellTube
projections and ellUnionTube projections.
+
+.. [GAG2012] Gagarinov P.V. 2012. Computation of Alternated Reachability
Tubes for Linear Control Systems under Uncertainty. *Moscow University
Computational Mathematics and Cybernetics*, 2012, Vol. 36, No. 4, pp. 169-
177.
=======================================
--- /dev/null
+++ /trunk/doc/_build/html/chap_ellTube.html Sat Mar 8 15:21:43 2014 UTC
@@ -0,0 +1,2066 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Ellipsoid tubes, tubes by instant of time and their projections
&mdash; Ellipsoidal Toolbox 2.0.1 documentation</title>
+
+ <link rel="stylesheet" href="_static/default.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: './',
+ VERSION: '2.0.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <link rel="top" title="Ellipsoidal Toolbox 2.0.1 documentation"
href="index.html" />
+ <link rel="next" title="Summary and Outlook" href="chap_summary.html"
/>
+ <link rel="prev" title="Examples" href="chap_examples.html" />
+ </head>
+ <body>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="chap_summary.html" title="Summary and Outlook"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="chap_examples.html" title="Examples"
+ accesskey="P">previous</a> |</li>
+ <li><a href="main_manual.html">Ellipsoidal Toolbox 2.0.1
documentation</a> &raquo;</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section"
id="ellipsoid-tubes-tubes-by-instant-of-time-and-their-projections">
+<h1>Ellipsoid tubes, tubes by instant of time and their projections<a
class="headerlink"
href="#ellipsoid-tubes-tubes-by-instant-of-time-and-their-projections"
title="Permalink to this headline">¶</a></h1>
+<p><strong>Definition.</strong> For any regularization matrix <img
class="math"
src="_images/math/2e573bfe03a50bdd1738c6cf4dc80d417afd1c05.png"
alt="M(\cdot)"/> the quadratically regularized alternated reach set of
system with uncertainty is</p>
+<div class="math">
+<p><img src="_images/math/512c3855253a9608744f87b71998cc4099031188.png"
alt="{\mathcal X}^{q}_{U}(t,t_0,{\mathcal X}^{0},M(\cdot)) =
+\underset{t_0\leq\tau\leq t}{\bigcup}{\mathcal
X}^{q}_{U}(\tau,t_0,{\mathcal X}^{0},M (\cdot))."/></p>
+</div><p>Note that if system doesn&#8217;t have uncertainty then <img
class="math"
src="_images/math/0ab9370bf1570c1658bf09d2d6ff6a8ecda75db8.png"
alt="M(\cdot)=0"/>.</p>
+<p>By <img class="math"
src="_images/math/06b60d0d7214d59442d08b7e393336ceb6c7f87e.png"
alt="{\mathcal E}(\overline{x}(t),X_{+}(t,l))"/> and <img class="math"
src="_images/math/8186d35faf6b4d13f95ad584cf4f1ac0b930749d.png"
alt="{\mathcal E}(\overline{x}(t),X_{-}(t,l))"/> denote tight external and
internal approximations along <img class="math"
src="_images/math/28c7cde33aa87f676e28cc8f7c2c65e61783f595.png"
alt="l(\cdot)"/> good direction such as <img class="math"
src="_images/math/0c7534cf3930d33d9e93b380d3282a37068e1ce1.png"
alt="l(t_0)=l"/>. Then the reach set by instant of time can be described
as</p>
+<div class="math">
+<p><img src="_images/math/957b5c775a16f08451308745dc2dae9e86f82ee9.png"
alt="{\mathcal X}^{q}_{U}[t]=\underset{\tau}{\bigcup}\underset{l}{\bigcap}\{
+{\mathcal E}(\overline{x}(\tau),X_{+}(\tau,l)) |l\in {\mathcal S}_1(0),
\tau\leq t\}\subseteq\underset{l} {\bigcap}\{{\mathcal E}^{U}_{+}[t,l]) |
l\in {\mathcal S}_1(0)\},"/></p>
+</div><p>where <img class="math"
src="_images/math/cca4a283614b3ed693d0ae8c1a86c2486bf69dbb.png"
alt="{\mathcal E}^{U}_{+}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{+}(\tau,l))|t_0\leq\tau\leq t\}"/> is the external
ellipsoidal tube by instant of time.</p>
+<p>Similar approxiamtion can be calculated with the internal ellipsoidal
tube by instant of time <img class="math"
src="_images/math/1798176817126eb51cd40d65d0242caea8004c97.png"
alt="{\mathcal E}^{U}_{-}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{-}(\tau,l))|t_0\leq\tau\leq t\}"/>:</p>
+<div class="math">
+<p><img src="_images/math/1b65b4393db2e5450f682d2d746f10f530d5f150.png"
alt="{\mathcal X}^{U}[t]\supseteq\underset{l}{\bigcup}\{{\mathcal
E}^{U}_{-}[t,l]) |l\in {\mathcal S}_1(0)\}."/></p>
+</div><p>Note that in general case ellipsoidal tube <img class="math"
src="_images/math/d9a7eb7a9cae035a5c7359576b38ab00c902054e.png"
alt="{\mathcal E}^{U}_{+}[t,l]"/> is not tight approximation. For more
information see <a class="reference internal" href="#gag2012"
id="id1">[GAG2012]</a>.</p>
+<p>So, all in all, there are two types of ellipsoid tube objects that we
can work with using <em>Ellipsoidal Toolbox</em>:</p>
+<ul class="simple">
+<li>ellipsoidal tubes that are described in
<em>gras.ellapx.smartdb.rels.EllTube</em> class;</li>
+<li>tubes by instant of time described in
<em>gras.ellapx.smartdb.rels.EllUnionTube</em> class
+(see <a class="reference internal"
href="chap_implement.html#union-label"><em>formula</em></a>).</li>
+</ul>
+<p>These two type of objects can be projected on specified subspaces. The
projections of ellipsoid tubes can be either static or dynamic. The are
described in gras.ellapx.smartdb.rels.EllTubeProj class. As for the tubes
by instant of time, they can only be projected on static subspaces. These
projections are described in
gras.ellapx.smartdb.rels.EllUnionTubeStaticProj class. For more information
about these types of projections and their differences and for examples see
this <a class="reference internal"
href="chap_implement.html#section-label"><em>link</em></a>.</p>
+<div class="section" id="ellipsoid-tubes">
+<h2>Ellipsoid tubes<a class="headerlink" href="#ellipsoid-tubes"
title="Permalink to this headline">¶</a></h2>
+<p>There is a whole variety of operations upon ellipsoid tubes in
<em>Ellipsoidal Toolbox</em>. We can, of course, create them. When the
ellipsoid tube object is created, we can cut them, concatenate,
interpolate, plot and project them and so on.</p>
+<p>The instruments to create ellipsoid tube objects are several
functions:</p>
+<ul class="simple">
+<li><em>fromQArrays</em> method creates nEllTubes ellipsoid tube objects
using an array of ellipsoid matrices and an array of ellipsoid centers
specified at any point of time from timeVec;</li>
+<li><em>fromQMArrays</em> method acts the same way as <em>fromQArrays</em>
method, except for this one requires to specify an array of regularization
marices specified at any point of time from timeVec;</li>
+<li><em>fromQMScaledArrays</em> method acts the same way as
<em>fromQMArrays</em> method, except for this one requires to also specify
a vector of scale factors specified for every created ellipsoid tube;</li>
+<li><em>fromEllArray</em> method creates ellipsoid tube object using an
array of ellipsoids;</li>
+<li><em>fromEllMArray</em> method creates ellipsoid tube object using an
array of ellipsoids and an array of regularisation matrices.</li>
+</ul>
+<p>Basically we can divide these methods into two groups, based od what
objects they are using to create ellipsoid tube: an array of ellipsoid
matrices with an array of ellipsoid centers (by using these methods we can
create an ellipsoid tube object containing several ellipsoid tubes) or an
array of ellipsoids (by using these methods we can create an ellipsoid tube
object containing one ellipsoid tube). To illustrate the usage of these
methods we have to describe several functions, that will be used in the
process. Below are their descriptions.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21</pre></div></td><td class="code"><div class="highlight"><pre>% This
function returns the values of arguments, that are the same for
+% FROMQARRAYS, FROMQMARRAYS and FROMQMSCALEDARRAYS methods of creating an
+% ellipsoid tube object. Basically, this function creates a set of
+% arguments nessesary for creating an ellipsoid tube object containing
+% nTubes ellipsoid tubes. Here nTubes is a random natural number in the
+% range from one to ten.
+%
+function [nTubes, nPoints, nDims, absTol, relTol, timeVec,...
+ sTime, lsGoodDirVec, ltGoodDirArray, aMat, qArrayList] = getData()
+nTubes=randi(10,1);
+nPoints=20;
+nDims=3;
+absTol=0.001;
+relTol=0.001;
+timeVec=(1/nPoints):(1/nPoints):1;
+sTime=timeVec(randi(nPoints,1));
+lsGoodDirVec=[1;0;0];
+ltGoodDirArray=repmat(lsGoodDirVec,[1,nTubes,nPoints]);
+aMat=zeros(nDims,nPoints);
+qArrayList=repmat({repmat(diag([0.1 0.2 0.3]),[1,1,nPoints])},1,nTubes);
+end
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% This function returns the values of arguments, that specify the
type of</span>
+<span class="c">% approximation that will be used to create an ellipsoid
tube object. It</span>
+<span class="c">% will be a random type of approximation (Internal or
External). These</span>
+<span class="c">% arguments can be used while creating an ellipsoid tube
object containing</span>
+<span class="c">% one ellipsoid tube or several ellipsoid tubes with the
same type of</span>
+<span class="c">% approximation.</span>
+<span class="c">%</span>
+<span class="k">function</span><span class="w"> </span>[approxSchemaDescr,
approxSchemaName, approxType] <span class="p">=</span><span class="w">
</span><span class="nf">getSameApprox</span><span class="p">()</span><span
class="w"></span>
+<span class="w"> </span><span class="n">type</span> <span
class="p">=</span> <span class="n">randi</span><span
class="p">(</span><span class="mi">2</span><span class="p">,</span><span
class="mi">1</span><span class="p">);</span>
+ <span class="k">if</span> <span class="n">type</span> <span
class="o">==</span> <span class="mi">1</span>
+ <span class="n">approxSchemaDescr</span><span
class="p">=</span><span class="s">&#39;Internal&#39;</span><span
class="p">;</span>
+ <span class="n">approxSchemaName</span><span
class="p">=</span><span class="s">&#39;Internal&#39;</span><span
class="p">;</span>
+ <span class="n">approxType</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">Internal</span><span class="p">;</span>
+ <span class="k">else</span>
+ <span class="n">approxSchemaDescr</span><span
class="p">=</span><span class="s">&#39;External&#39;</span><span
class="p">;</span>
+ <span class="n">approxSchemaName</span><span
class="p">=</span><span class="s">&#39;External&#39;</span><span
class="p">;</span>
+ <span class="n">approxType</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">;</span>
+ <span class="k">end</span>
+<span class="k">end</span>
+</pre></div>
+</td></tr></table></div>
+<p>Using the three above mentioned functions we can describe an examples
of <em>fromQArrays</em>, <em>fromQMArrays</em> and
<em>fromQMScaledArrays</em> methods&#8217; usage.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
fromQArrays</span>
+<span class="c">% function with the same type of approximation.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getData</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">fromMatEllTubeObj</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span> <span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
fromQArrays</span>
+<span class="c">% function with different types of approximation.</span>
+<span class="n">nPoints</span><span class="p">=</span><span
class="mi">10</span><span class="p">;</span>
+<span class="n">absTol</span><span class="p">=</span><span
class="mf">0.01</span><span class="p">;</span>
+<span class="n">relTol</span><span class="p">=</span><span
class="mf">0.01</span><span class="p">;</span>
+<span class="n">approxSchemaDescr</span><span class="p">={</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">};</span>
+<span class="n">approxSchemaName</span><span class="p">={</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">};</span>
+<span class="n">nDims</span><span class="p">=</span><span
class="mi">3</span><span class="p">;</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">3</span><span class="p">;</span>
+<span class="n">lsGoodDirVec</span><span class="p">=[</span><span
class="mi">1</span><span class="p">;</span><span class="mi">0</span><span
class="p">;</span><span class="mi">1</span><span class="p">];</span>
+<span class="n">aMat</span><span class="p">=</span><span
class="nb">zeros</span><span class="p">(</span><span
class="n">nDims</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">timeVec</span><span class="p">=(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">sTime</span><span class="p">=</span><span
class="n">timeVec</span><span class="p">(</span><span
class="n">randi</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">,</span><span
class="mi">1</span><span class="p">));</span>
+<span class="n">approxType</span><span class="p">=[</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">Internal</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">]</span><span
class="o">&#39;</span><span class="p">;</span>
+<span class="n">qArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mi">1</span>
<span class="mi">2</span> <span class="mi">3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">ltGoodDirArray</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">(</span><span
class="n">lsGoodDirVec</span><span class="p">,[</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">]);</span>
+<span class="n">fromMatEllTubeObj</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span> <span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
fromQMArrays</span>
+<span class="c">% function with the same type of approximation.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getData</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">mArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mf">0.1</span>
<span class="mf">0.2</span> <span class="mf">0.3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">fromMatMEllTubeObj</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQMArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">mArrayList</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span> <span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
fromQMArrays</span>
+<span class="c">% function with different types of approximation.</span>
+<span class="n">nPoints</span><span class="p">=</span><span
class="mi">10</span><span class="p">;</span>
+<span class="n">absTol</span><span class="p">=</span><span
class="mf">0.01</span><span class="p">;</span>
+<span class="n">relTol</span><span class="p">=</span><span
class="mf">0.01</span><span class="p">;</span>
+<span class="n">approxSchemaDescr</span><span class="p">={</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">};</span>
+<span class="n">approxSchemaName</span><span class="p">={</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">;</span> <span
class="s">&#39;External&#39;</span><span class="p">};</span>
+<span class="n">nDims</span><span class="p">=</span><span
class="mi">3</span><span class="p">;</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">3</span><span class="p">;</span>
+<span class="n">lsGoodDirVec</span><span class="p">=[</span><span
class="mi">1</span><span class="p">;</span><span class="mi">0</span><span
class="p">;</span><span class="mi">1</span><span class="p">];</span>
+<span class="n">aMat</span><span class="p">=</span><span
class="nb">zeros</span><span class="p">(</span><span
class="n">nDims</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">timeVec</span><span class="p">=(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">sTime</span><span class="p">=</span><span
class="n">timeVec</span><span class="p">(</span><span
class="n">randi</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">,</span><span
class="mi">1</span><span class="p">));</span>
+<span class="n">approxType</span><span class="p">=[</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">Internal</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">]</span><span
class="o">&#39;</span><span class="p">;</span>
+<span class="n">mArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mf">0.1</span>
<span class="mf">0.2</span> <span class="mf">0.3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">qArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mi">1</span>
<span class="mi">2</span> <span class="mi">3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">ltGoodDirArray</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">(</span><span
class="n">lsGoodDirVec</span><span class="p">,[</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">]);</span>
+<span class="n">fromMatMEllTubeObj</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQMArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">mArrayList</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span> <span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
fromQMScaledArrays</span>
+<span class="c">% function with the same type of approximation.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getData</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">mArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mf">0.1</span>
<span class="mf">0.2</span> <span class="mf">0.3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">scaleFactor</span> <span class="p">=</span> <span
class="nb">ones</span><span class="p">(</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">fromQMScaledArraysEllTubeObj</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQMScaledArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span><span
class="n">aMat</span><span class="p">,</span><span
class="n">mArrayList</span><span class="p">,</span><span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span><span
class="n">sTime</span><span class="p">,</span><span
class="n">approxType</span><span class="p">,</span><span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span><span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">scaleFactor</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<p>To use <em>fromEllArray</em> and <em>fromEllMArray</em> methods we nave
to describe one more auxiliary function (as these methods create an
ellipsoid tube object containing only one ellipsoid tube and we can not use
<em>getData</em> function, because it returns data for crating random
number of ellipsoid tubes).</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19</pre></div></td><td class="code"><div class="highlight"><pre>% This
function returns the values of arguments, that are needed to use
+% FROMELLARRAY and FROMELLMARRAY methods of creating an ellipsoid tube
+% object. Basically, this function creates a set of arguments nessesary for
+% creating an ellipsoid tube object containing one ellipsoid tube.
+%
+function [nTubes, nPoints, nDims, absTol, relTol, timeVec,...
+ sTime, lsGoodDirVec, ltGoodDirArray, aMat, qArrayList] =
getDataForOneTube()
+nTubes=1;
+nPoints=20;
+nDims=3;
+absTol=0.001;
+relTol=0.001;
+timeVec=(1/nPoints):(1/nPoints):1;
+sTime=timeVec(randi(nPoints,1));
+lsGoodDirVec=[1;0;0];
+ltGoodDirArray=repmat(lsGoodDirVec,[1,nTubes,nPoints]);
+aMat=zeros(nDims,nPoints);
+qArrayList=repmat({repmat(diag([1 2 3]),[1,1,nPoints])},1,nTubes);
+end
+</pre></div>
+</td></tr></table></div>
+<p>Now we can write examples of these methods&#8217; usage.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
FROMELLARRAY</span>
+<span class="c">% method.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getDataForOneTube</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">ellArray</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">();</span>
+<span class="k">for</span> <span class="n">iElem</span> <span
class="p">=</span> <span class="mi">1</span><span class="p">:</span><span
class="n">nPoints</span>
+ <span class="n">ellArray</span><span class="p">(</span><span
class="n">iElem</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">(</span><span
class="n">aMat</span><span class="p">(:,</span><span
class="n">iElem</span><span class="p">),</span> <span
class="n">qArrayList</span><span class="p">{</span><span
class="mi">1</span><span class="p">}(:,:,</span><span
class="n">iElem</span><span class="p">));</span>
+<span class="k">end</span><span class="p">;</span>
+<span class="n">fromEllArrayEllTubeObj</span> <span class="p">=</span>
<span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromEllArray</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">ellArray</span><span class="p">,</span><span
class="n">timeVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaName</span><span class="p">,</span><span
class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating nTubes ellipsoid tube objects using
FROMELLMARRAY.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getDataForOneTube</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">ellArray</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">();</span>
+<span class="k">for</span> <span class="n">iElem</span> <span
class="p">=</span> <span class="mi">1</span><span class="p">:</span><span
class="n">nPoints</span>
+ <span class="n">ellArray</span><span class="p">(</span><span
class="n">iElem</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">(</span><span
class="n">aMat</span><span class="p">(:,</span><span
class="n">iElem</span><span class="p">),</span> <span
class="n">qArrayList</span><span class="p">{</span><span
class="mi">1</span><span class="p">}(:,:,</span><span
class="n">iElem</span><span class="p">));</span>
+<span class="k">end</span><span class="p">;</span>
+<span class="n">mArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mf">0.1</span>
<span class="mf">0.2</span> <span class="mf">0.3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="c">...</span>
+ <span class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="n">fromEllArrayEllTubeObj</span> <span class="p">=</span>
<span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromEllArray</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">ellArray</span><span class="p">,</span><span
class="n">timeVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaName</span><span class="p">,</span><span
class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<p>As we can see in all these examples, we can specify how many ellipsoid
tubes we want to create, which type of arrpoximation to use. Also we can
create ellipsoid tube objects, which will contain several ellipsoid tubes
with different types of approximation.</p>
+<p>After creation of ellipsoid tube objects we can do several operations
with them. Below is the <em>getEllTube</em> function that create an
ellipsoid tube object containing one or several ellipsoid tubes with
specified type of approximation, on specified time vector with specified
time points. This function will be used further down to illustrate other
methods that we can use while working with ellipsoid tube objects.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of creating an ellipsoid tube object containing
nTubes</span>
+<span class="c">% ellipsoid tubes from timeBegin to timeEnd time with
specified type of</span>
+<span class="c">% approximation.</span>
+<span class="c">%</span>
+<span class="k">function</span><span class="w"> </span>ellTubeObj <span
class="p">=</span><span class="w"> </span><span
class="nf">getEllTube</span><span
class="p">(</span>nTubes,timeBeg,timeEnd,type,nPoints<span
class="p">)</span><span class="w"></span>
+<span class="n">nDims</span><span class="p">=</span><span
class="mi">3</span><span class="p">;</span>
+<span class="n">absTol</span><span class="p">=</span><span
class="mf">0.001</span><span class="p">;</span>
+<span class="n">relTol</span><span class="p">=</span><span
class="mf">0.001</span><span class="p">;</span>
+<span class="n">timeVec</span><span class="p">=(</span><span
class="n">timeBeg</span><span class="o">+</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):</span><span
class="n">timeEnd</span><span class="p">;</span>
+<span class="n">sTime</span><span class="p">=</span><span
class="n">timeVec</span><span class="p">(</span><span
class="n">randi</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">,</span><span
class="mi">1</span><span class="p">));</span>
+<span class="n">lsGoodDirVec</span><span class="p">=[</span><span
class="mi">1</span><span class="p">;</span><span class="mi">0</span><span
class="p">;</span><span class="mi">0</span><span class="p">];</span>
+<span class="n">ltGoodDirArray</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">(</span><span
class="n">lsGoodDirVec</span><span class="p">,[</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">]);</span>
+<span class="n">aMat</span><span class="p">=</span><span
class="nb">zeros</span><span class="p">(</span><span
class="n">nDims</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">qArrayList</span><span class="p">=</span><span
class="nb">repmat</span><span class="p">({</span><span
class="nb">repmat</span><span class="p">(</span><span
class="nb">diag</span><span class="p">([</span><span class="mi">1</span>
<span class="mi">2</span> <span class="mi">3</span><span
class="p">]),[</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">])},</span><span
class="mi">1</span><span class="p">,</span><span
class="n">nTubes</span><span class="p">);</span>
+<span class="k">if</span> <span class="n">type</span> <span
class="o">==</span> <span class="mi">1</span>
+ <span class="n">approxSchemaDescr</span><span class="p">=</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span>
+ <span class="n">approxSchemaName</span><span class="p">=</span><span
class="s">&#39;Internal&#39;</span><span class="p">;</span>
+ <span class="n">approxType</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">Internal</span><span class="p">;</span>
+<span class="k">else</span>
+ <span class="n">approxSchemaDescr</span><span class="p">=</span><span
class="s">&#39;External&#39;</span><span class="p">;</span>
+ <span class="n">approxSchemaName</span><span class="p">=</span><span
class="s">&#39;External&#39;</span><span class="p">;</span>
+ <span class="n">approxType</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">enums</span><span class="p">.</span><span
class="n">EApproxType</span><span class="p">.</span><span
class="n">External</span><span class="p">;</span>
+<span class="k">end</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromQArrays</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">qArrayList</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span> <span
class="n">approxSchemaName</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+<span class="k">end</span>
+</pre></div>
+</td></tr></table></div>
+<p>As we have created an ellipsoid tube object, we can get all the types
of differet data about it. There is a set of methods that can give
information about the data stored in the object and give access to it.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of GETDATA method&#39;s usage.</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">5</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">100</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">2</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">data</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getData</span><span class="p">();</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of GETELLARRAY method&#39;s usage.</span>
+<span class="p">[</span><span class="n">nTubes</span><span
class="p">,</span> <span class="n">nPoints</span><span class="p">,</span>
<span class="n">nDims</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">,</span> <span
class="n">timeVec</span><span class="p">,</span><span class="c">...</span>
+ <span class="n">sTime</span><span class="p">,</span> <span
class="n">lsGoodDirVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">aMat</span><span class="p">,</span> <span
class="n">qArrayList</span><span class="p">]</span> <span
class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getDataForOneTube</span><span class="p">();</span>
+<span class="p">[</span><span class="n">approxSchemaDescr</span><span
class="p">,</span> <span class="n">approxSchemaName</span><span
class="p">,</span> <span class="n">approxType</span><span
class="p">]</span> <span class="p">=</span> <span class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getSameApprox</span><span class="p">();</span>
+<span class="n">ellArray</span><span class="p">(</span><span
class="n">nPoints</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">();</span>
+<span class="k">for</span> <span class="n">iElem</span> <span
class="p">=</span> <span class="mi">1</span><span class="p">:</span><span
class="n">nPoints</span>
+ <span class="n">ellArray</span><span class="p">(</span><span
class="n">iElem</span><span class="p">)</span> <span class="p">=</span>
<span class="n">ellipsoid</span><span class="p">(</span><span
class="n">aMat</span><span class="p">(:,</span><span
class="n">iElem</span><span class="p">),</span> <span
class="n">qArrayList</span><span class="p">{</span><span
class="mi">1</span><span class="p">}(:,:,</span><span
class="n">iElem</span><span class="p">));</span>
+<span class="k">end</span><span class="p">;</span>
+<span class="n">fromEllArrayEllTubeObj</span> <span class="p">=</span>
<span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">rels</span><span class="p">.</span><span
class="n">EllTube</span><span class="p">.</span><span
class="n">fromEllArray</span><span class="p">(</span><span
class="c">...</span>
+ <span class="n">ellArray</span><span class="p">,</span><span
class="n">timeVec</span><span class="p">,</span> <span
class="n">ltGoodDirArray</span><span class="p">,</span> <span
class="n">sTime</span><span class="p">,</span> <span
class="n">approxType</span><span class="p">,</span><span
class="c">...</span>
+ <span class="n">approxSchemaName</span><span class="p">,</span><span
class="n">approxSchemaDescr</span><span class="p">,</span> <span
class="n">absTol</span><span class="p">,</span> <span
class="n">relTol</span><span class="p">);</span>
+<span class="n">data</span> <span class="p">=</span> <span
class="n">fromEllArrayEllTubeObj</span><span class="p">.</span><span
class="n">getEllArray</span><span class="p">(</span><span
class="n">approxType</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98</pre></div></td><td class="code"><div class="highlight"><pre><span
class="n">nTubes</span><span class="p">=</span><span
class="mi">5</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">100</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">2</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get the list of field descriptions</span>
+<span class="c">%</span>
+<span class="n">descr</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldDescrList</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get for given field a nested logical/cell array
containing is-null </span>
+<span class="c">% indicators for cell content. For example, for
approxSchemaName field.</span>
+<span class="c">%</span>
+<span class="n">isNull</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldIsNull</span><span class="p">(</span><span
class="s">&#39;approxSchemaName&#39;</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get for given field logical vector determining whether
value of this </span>
+<span class="c">% field in each cell is null or not. For example, for
approxSchemaName field.</span>
+<span class="c">%</span>
+<span class="n">valueIsNull</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldIsValueNull</span><span class="p">(</span><span
class="s">&#39;approxSchemaName&#39;</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get the list of field names</span>
+<span class="c">%</span>
+<span class="n">name</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldNameList</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% project object with specified fields. For example, with
fields that are</span>
+<span class="c">% not to be cut or concatenated.</span>
+<span class="c">%</span>
+<span class="n">nameList</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getNoCatOrCutFieldsList</span><span class="p">();</span>
+<span class="n">proj</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldProjection</span><span class="p">(</span><span
class="n">nameList</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get the list of field types</span>
+<span class="c">%</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldTypeList</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get the list of field type specifications. Field type
specification is a </span>
+<span class="c">% sequence of type names corresponding to field value
types starting with </span>
+<span class="c">% the top level and going down into the nested content of
a field (for a </span>
+<span class="c">% field having a complex type).</span>
+<span class="c">%</span>
+<span class="n">typeSpec</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldTypeSpecList</span><span class="p">();</span>
+<span class="c">% or</span>
+<span class="n">typeSpec</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldTypeSpecList</span><span class="p">(</span><span
class="n">nameList</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get a matrix composed from the size vectorsfor the
specified fields</span>
+<span class="c">%</span>
+<span class="n">valueSizeMat</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getFieldValueSizeMat</span><span class="p">(</span><span
class="n">nameList</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get a vector indicating whether a particular field is
composed of null </span>
+<span class="c">% values completely</span>
+<span class="c">%</span>
+<span class="n">valueNull</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getIsFieldValueNull</span><span class="p">(</span><span
class="n">nameList</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get a size vector for the specified dimensions. If no
dimensions are </span>
+<span class="c">% specified, a size vector for all dimensions up to
minimum dimension is </span>
+<span class="c">% returned</span>
+<span class="n">minDimensionSize</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getMinDimensionSize</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get a minimum dimensionality for a given object</span>
+<span class="c">%</span>
+<span class="n">minDimensionality</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getMinDimensionality</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get a number of elements in a given object</span>
+<span class="c">%</span>
+<span class="n">nElems</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getNElems</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get a number of fields in a given object</span>
+<span class="c">%</span>
+<span class="n">nFiedls</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getNFields</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get a number of tuples in a given object</span>
+<span class="c">%</span>
+<span class="n">nTuples</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getNTuples</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get sort index for all tuples of given relation with
respect to some of </span>
+<span class="c">% its fields</span>
+<span class="c">%</span>
+<span class="n">sortIndex</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getSortIndex</span><span class="p">(</span><span
class="n">nameList</span><span class="p">);</span>
+<span class="c">% also we can specify the direction of sorting
(&#39;asc&#39; or &#39;desc&#39;)</span>
+<span class="n">sortIndex</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getSortIndex</span><span class="p">(</span><span
class="n">nameList</span><span class="p">,</span><span
class="s">&#39;Direction&#39;</span><span class="p">,</span><span
class="s">&#39;asc&#39;</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get tuples with given indices from given relation</span>
+<span class="c">%</span>
+<span class="n">tuples</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getTuples</span><span class="p">([</span><span
class="mi">1</span><span class="p">,</span><span class="mi">2</span><span
class="p">,</span><span class="mi">3</span><span class="p">]);</span>
+<span class="c">%</span>
+<span class="c">% get tuples from given relation such that afixed index
field contains </span>
+<span class="c">% values from a given set of value</span>
+<span class="c">%</span>
+<span class="n">filteredTuples</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getTuplesFilteredBy</span><span class="p">(</span><span
class="s">&#39;sTime&#39;</span><span class="p">,</span> <span
class="mi">1</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get internal representation for a set of unique tuples
for given relation</span>
+<span class="c">%</span>
+<span class="n">uniqueData</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getUniqueData</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% get a relation containing the unique tuples from the
original relation</span>
+<span class="c">%</span>
+<span class="n">uniqueTuples</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getUniqueTuples</span><span class="p">();</span>
+</pre></div>
+</td></tr></table></div>
+<p>Also we can copy the object, clear all the data, save it in a file:</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42</pre></div></td><td class="code"><div class="highlight"><pre><span
class="n">nTubes</span><span class="p">=</span><span
class="mi">5</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">100</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">2</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% get a copy of the object</span>
+<span class="c">%</span>
+<span class="n">ellCopy</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">getCopy</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% delete all the data from the object</span>
+<span class="c">%</span>
+<span class="n">ellTubeObj</span><span class="p">.</span><span
class="n">clearData</span><span class="p">();</span>
+<span class="n">ellTubeObj</span> <span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% create a copy of a specified object via calling a copy
constructor for </span>
+<span class="c">% the object class</span>
+<span class="c">%</span>
+<span class="n">cloneObj</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">clone</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% remove all duplicate tuples from the relation</span>
+<span class="c">%</span>
+<span class="n">noDuplicate</span> <span class="p">=</span> <span
class="n">cloneObj</span><span class="p">.</span><span
class="n">removeDuplicateTuples</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% write a content of relation into Excel spreadsheet
file</span>
+<span class="c">%</span>
+<span class="n">ellTubeObj</span><span class="p">.</span><span
class="n">writeToCSV</span><span class="p">(</span><span
class="s">&#39;path&#39;</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% write a content of relation into Excel spreadsheet
file</span>
+<span class="c">%</span>
+<span class="n">fileName</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">writeToXLS</span><span class="p">(</span><span
class="s">&#39;path&#39;</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% display a content of the given relation as a data grid
UI component</span>
+<span class="c">%</span>
+<span class="n">ellTubeObj</span><span class="p">.</span><span
class="n">dispOnUI</span><span class="p">();</span>
+<span class="c">%</span>
+<span class="c">% put some textual information about object in
screen</span>
+<span class="c">%</span>
+<span class="n">ellTubeObj</span><span class="p">.</span><span
class="n">display</span><span class="p">();</span>
+</pre></div>
+</td></tr></table></div>
+<p>As we have created the object, we can work with it. Below is the
example of concatenating ellipsoid tube objects. We can concatenate objects
containing one or several ellipsoid tubes with the same type of
approximation.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of concatenating ellipsoid tube objects containing
random </span>
+<span class="c">% number of ellipsoid tubes (from one to ten tubes).</span>
+<span class="c">%</span>
+<span class="n">nTubes</span> <span class="p">=</span> <span
class="n">randi</span><span class="p">(</span><span
class="mi">10</span><span class="p">,</span><span class="mi">1</span><span
class="p">);</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">20</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">timeBeg1</span> <span class="p">=</span> <span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd1</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">firstEllTubeObj</span> <span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg1</span><span class="p">,</span><span
class="n">timeEnd1</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">timeBeg2</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">timeEnd2</span> <span class="p">=</span> <span
class="mi">2</span><span class="p">;</span>
+<span class="n">secondEllTubeObj</span> <span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg2</span><span class="p">,</span><span
class="n">timeEnd2</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% Concatenating firstEllTube and secondEllTube on
[timeBeg1, timeEnd2]</span>
+<span class="c">% vector of time.</span>
+<span class="c">%</span>
+<span class="n">resEllTubeObj</span> <span class="p">=</span> <span
class="n">firstEllTubeObj</span><span class="p">.</span><span
class="nb">cat</span><span class="p">(</span><span
class="n">secondEllTubeObj</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% Concatenating the same firstEllTube and secondEllTube on
[timeBeg1,timeEnd2]</span>
+<span class="c">% vector of time, but the sTime and values of properties
corresponding to </span>
+<span class="c">% sTime are taken from secondEllTube.</span>
+<span class="c">%</span>
+<span class="n">resEllTubeObj</span> <span class="p">=</span> <span
class="n">firstEllTubeObj</span><span class="p">.</span><span
class="nb">cat</span><span class="p">(</span><span
class="n">secondEllTubeObj</span><span class="p">,</span><span
class="s">&#39;isReplacedByNew&#39;</span><span class="p">,</span><span
class="n">true</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% Concatenating the same firstEllTube and secondEllTube on
[timeBeg1,timeEnd2]</span>
+<span class="c">% vector of time, but the sTime and values of properties
corresponding to </span>
+<span class="c">% sTime are taken from firstEllTube.</span>
+<span class="c">%</span>
+<span class="n">resEllTubeObj</span> <span class="p">=</span> <span
class="n">firstEllTubeObj</span><span class="p">.</span><span
class="nb">cat</span><span class="p">(</span><span
class="n">secondEllTubeObj</span><span class="p">,</span><span
class="s">&#39;isReplacedByNew&#39;</span><span class="p">,</span><span
class="n">false</span><span class="p">);</span>
+<span class="c">%</span>
+<span class="c">% Note that we cannot concatenate ellipsoid tubes with
overlapping time</span>
+<span class="c">% limits.</span>
+<span class="c">%</span>
+</pre></div>
+</td></tr></table></div>
+<p>As we can concatenate ellipsoid tubes, it is logical to be possible to
cut ellipsoid tubes, leaving only part of it at specified vector of time or
point of time. Below are the exmples:</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of usage of CUT function from EllTubeBasic class.
In</span>
+<span class="c">% this example an ellipsoid tube object is created, using
TimeVec time</span>
+<span class="c">% vector. Then it is cut using cutTimeVec time
vector.</span>
+<span class="c">%</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">20</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">timeVec</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">timeVec</span><span class="p">{</span><span
class="mi">1</span><span class="p">,:};</span>
+<span class="n">cutTimeVec</span> <span class="p">=</span> <span
class="p">[</span><span class="n">timeVec</span><span
class="p">(</span><span class="mi">2</span><span class="p">)</span> <span
class="n">timeVec</span><span class="p">(</span><span
class="mi">7</span><span class="p">)];</span>
+<span class="n">cutVecEllTubeObj</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">cut</span><span class="p">(</span><span
class="n">cutTimeVec</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of usage of CUT function from EllTubeBasic class.
In</span>
+<span class="c">% this example an ellipsoid tube object is created, using
TimeVec time</span>
+<span class="c">% vector. Then it is cut using cutTimePoint point</span>
+<span class="c">% of time.</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">20</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">timeVec</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">timeVec</span><span class="p">{</span><span
class="mi">1</span><span class="p">,:};</span>
+<span class="n">cutTimePoint</span> <span class="p">=</span> <span
class="n">timeVec</span><span class="p">(</span><span
class="n">randi</span><span class="p">(</span><span
class="nb">size</span><span class="p">(</span><span
class="n">timeVec</span><span class="p">,</span><span
class="mi">2</span><span class="p">),</span><span class="mi">1</span><span
class="p">));</span>
+<span class="n">cutPointEllTubeObj</span> <span class="p">=</span> <span
class="n">ellTubeObj</span><span class="p">.</span><span
class="n">cut</span><span class="p">(</span><span
class="n">cutTimePoint</span><span class="p">);</span>
+</pre></div>
+</td></tr></table></div>
+<p>After cutting, we can interpolate the resulting tube, using new time
vector. Take notice that we have to make sure that the first and the last
elements in old and new vectors of time are the same.</p>
+<div class="highlight-matlab"><table class="highlighttable"><tr><td
class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13</pre></div></td><td class="code"><div class="highlight"><pre><span
class="c">% An example of usage of INTERP function. In this example an
ellipsoid tube</span>
+<span class="c">% object is created, using oldTimeVec time vector. Then it
is interpolated </span>
+<span class="c">% on newTimeVec time vector.</span>
+<span class="n">nTubes</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">nPoints</span> <span class="p">=</span> <span
class="mi">20</span><span class="p">;</span>
+<span class="n">timeBeg</span><span class="p">=</span><span
class="mi">0</span><span class="p">;</span>
+<span class="n">timeEnd</span><span class="p">=</span><span
class="mi">1</span><span class="p">;</span>
+<span class="n">type</span> <span class="p">=</span> <span
class="mi">1</span><span class="p">;</span>
+<span class="n">ellTubeObj</span><span class="p">=</span><span
class="c">...</span>
+ <span class="n">gras</span><span class="p">.</span><span
class="n">ellapx</span><span class="p">.</span><span
class="n">smartdb</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">examples</span><span class="p">.</span><span
class="n">getEllTube</span><span class="p">(</span><span
class="n">nTubes</span><span class="p">,</span><span
class="n">timeBeg</span><span class="p">,</span><span
class="n">timeEnd</span><span class="p">,</span><span
class="n">type</span><span class="p">,</span><span
class="n">nPoints</span><span class="p">);</span>
+<span class="n">newNPoints</span><span class="p">=</span><span
class="mi">50</span><span class="p">;</span>
+<span class="n">newTimeVec</span> <span class="p">=</span> <span
class="p">(</span><span class="mi">1</span><span class="o">/</span><span
class="n">nPoints</span><span class="p">):(</span><span
class="mi">1</span><span class="o">/</span><span
class="n">newNPoints</span><span class="p">):</span><span
class="mi">1</span><span class="p">;</span>
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/doc/chap_ellTube.rst Sat Mar 8 15:21:43 2014 UTC
@@ -0,0 +1,312 @@
+Ellipsoid tubes, tubes by instant of time and their projections
+===================================================================
+
+**Definition.** For any regularization matrix :math:`M(\cdot)` the
quadratically regularized alternated reach set of system with uncertainty is
+
+.. math::
+ {\mathcal X}^{q}_{U}(t,t_0,{\mathcal X}^{0},M(\cdot)) =
+ \underset{t_0\leq\tau\leq t}{\bigcup}{\mathcal
X}^{q}_{U}(\tau,t_0,{\mathcal X}^{0},M (\cdot)).
+
+Note that if system doesn't have uncertainty then :math:`M(\cdot)=0`.
+
+By :math:`{\mathcal E}(\overline{x}(t),X_{+}(t,l))` and :math:`{\mathcal
E}(\overline{x}(t),X_{-}(t,l))` denote tight external and internal
approximations along :math:`l(\cdot)` good direction such
as :math:`l(t_0)=l`. Then the reach set by instant of time can be described
as
+
+.. math::
+ {\mathcal X}^{q}_{U}[t]=\underset{\tau}{\bigcup}\underset{l}{\bigcap}\{
+ {\mathcal E}(\overline{x}(\tau),X_{+}(\tau,l)) |l\in {\mathcal
S}_1(0), \tau\leq t\}\subseteq\underset{l} {\bigcap}\{{\mathcal
E}^{U}_{+}[t,l]) |l\in {\mathcal S}_1(0)\},
+
+where :math:`{\mathcal E}^{U}_{+}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{+}(\tau,l))|t_0\leq\tau\leq t\}` is the external
ellipsoidal tube by instant of time.
+
+Similar approxiamtion can be calculated with the internal ellipsoidal tube
by instant of time :math:`{\mathcal
E}^{U}_{-}[t,l]=\underset{\tau}{\bigcup}\{{\mathcal
E}(\overline{x}(\tau),X_{-}(\tau,l))|t_0\leq\tau\leq t\}`:
+
+.. math::
+ {\mathcal X}^{U}[t]\supseteq\underset{l}{\bigcup}\{{\mathcal
E}^{U}_{-}[t,l]) |l\in {\mathcal S}_1(0)\}.
+
+Note that in general case ellipsoidal tube :math:`{\mathcal
E}^{U}_{+}[t,l]` is not tight approximation. For more information see
[GAG2012]_.
+
+So, all in all, there are two types of ellipsoid tube objects that we can
work with using *Ellipsoidal Toolbox*:
+
+- ellipsoidal tubes that are described in
*gras.ellapx.smartdb.rels.EllTube* class;
+
+- tubes by instant of time described in
*gras.ellapx.smartdb.rels.EllUnionTube* class
+ (see :ref:`formula <union-label>`).
+
+These two type of objects can be projected on specified subspaces. The
projections of ellipsoid tubes can be either static or dynamic. The are
described in gras.ellapx.smartdb.rels.EllTubeProj class. As for the tubes
by instant of time, they can only be projected on static subspaces. These
projections are described in
gras.ellapx.smartdb.rels.EllUnionTubeStaticProj class. For more information
about these types of projections and their differences and for examples see
this :ref:`link <section-label>`.
+
+Ellipsoid tubes
+---------------
+There is a whole variety of operations upon ellipsoid tubes in
*Ellipsoidal Toolbox*. We can, of course, create them. When the ellipsoid
tube object is created, we can cut them, concatenate, interpolate, plot and
project them and so on.
+
+The instruments to create ellipsoid tube objects are several functions:
+
+- *fromQArrays* method creates nEllTubes ellipsoid tube objects using an
array of ellipsoid matrices and an array of ellipsoid centers specified at
any point of time from timeVec;
+
+- *fromQMArrays* method acts the same way as *fromQArrays* method, except
for this one requires to specify an array of regularization marices
specified at any point of time from timeVec;
+
+- *fromQMScaledArrays* method acts the same way as *fromQMArrays* method,
except for this one requires to also specify a vector of scale factors
specified for every created ellipsoid tube;
+
+- *fromEllArray* method creates ellipsoid tube object using an array of
ellipsoids;
+
+- *fromEllMArray* method creates ellipsoid tube object using an array of
ellipsoids and an array of regularisation matrices.
+
+Basically we can divide these methods into two groups, based od what
objects they are using to create ellipsoid tube: an array of ellipsoid
matrices with an array of ellipsoid centers (by using these methods we can
create an ellipsoid tube object containing several ellipsoid tubes) or an
array of ellipsoids (by using these methods we can create an ellipsoid tube
object containing one ellipsoid tube). To illustrate the usage of these
methods we have to describe several functions, that will be used in the
process. Below are their descriptions.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getData.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getSameApprox.m
+ :language: matlab
+ :linenos:
+
+Using the three above mentioned functions we can describe an examples of
*fromQArrays*, *fromQMArrays* and *fromQMScaledArrays* methods' usage.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQArrays1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQArrays2.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMArrays1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMArrays2.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromQMScaledArrays.m
+ :language: matlab
+ :linenos:
+
+To use *fromEllArray* and *fromEllMArray* methods we nave to describe one
more auxiliary function (as these methods create an ellipsoid tube object
containing only one ellipsoid tube and we can not use *getData* function,
because it returns data for crating random number of ellipsoid tubes).
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getDataForOneTube.m
+ :language: matlab
+ :linenos:
+
+Now we can write examples of these methods' usage.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllArray.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllMArray.m
+ :language: matlab
+ :linenos:
+
+As we can see in all these examples, we can specify how many ellipsoid
tubes we want to create, which type of arrpoximation to use. Also we can
create ellipsoid tube objects, which will contain several ellipsoid tubes
with different types of approximation.
+
+After creation of ellipsoid tube objects we can do several operations with
them. Below is the *getEllTube* function that create an ellipsoid tube
object containing one or several ellipsoid tubes with specified type of
approximation, on specified time vector with specified time points. This
function will be used further down to illustrate other methods that we can
use while working with ellipsoid tube objects.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//getEllTube.m
+ :language: matlab
+ :linenos:
+
+As we have created an ellipsoid tube object, we can get all the types of
differet data about it. There is a set of methods that can give information
about the data stored in the object and give access to it.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataTube.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayTube.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoTube.m
+ :language: matlab
+ :linenos:
+
+Also we can copy the object, clear all the data, save it in a file:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveTubes.m
+ :language: matlab
+ :linenos:
+
+As we have created the object, we can work with it. Below is the example
of concatenating ellipsoid tube objects. We can concatenate objects
containing one or several ellipsoid tubes with the same type of
approximation.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cat.m
+ :language: matlab
+ :linenos:
+
+As we can concatenate ellipsoid tubes, it is logical to be possible to cut
ellipsoid tubes, leaving only part of it at specified vector of time or
point of time. Below are the exmples:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cut1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_cut2.m
+ :language: matlab
+ :linenos:
+
+After cutting, we can interpolate the resulting tube, using new time
vector. Take notice that we have to make sure that the first and the last
elements in old and new vectors of time are the same.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_interp.m
+ :language: matlab
+ :linenos:
+
+After that we can thin out the new ellipsoid tube, removing ellipsoids at
sertain points of time.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_thinOutTuples.m
+ :language: matlab
+ :linenos:
+
+Then we can also calculate new scale factor for specified fields:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_scale.m
+ :language: matlab
+ :linenos:
+
+Also we can compare objects using method *isEqual*.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqual1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqual2.m
+ :language: matlab
+ :linenos:
+
+At last there are several methods for projecting ellipsoid tubes on the
specified spaces. The first method projects the ellipsoid tube on specified
space creating the specified type of projection.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectTube.m
+ :language: matlab
+ :linenos:
+
+The second method projects the ellipsoid tube onto subspace defined by
vectors of standart basis with indices specified in indVec.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectToOrths1.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectToOrths2.m
+ :language: matlab
+ :linenos:
+
+Also there is a method for calculating only static projections.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectStaticTube.m
+ :language: matlab
+ :linenos:
+
+For creating the projection matrix a special function is used in all of
these examples.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//fGetProjMat.m
+ :language: matlab
+ :linenos:
+
+Tubes by instant of time
+------------------------
+
+As with ellipsoid tube objects, there are several methods that we can use
while working with tubes by instant of time. First of all we can create
tubes by instant of time using *fromEllTubes* method:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_fromEllTubes.m
+ :language: matlab
+ :linenos:
+
+From here on we will use the *getUnion* function so we can get a tube by
instant of time and work with it further on. As we have created a tubes by
instant of time object, we can get all the types of differet data about it.
There is a set of methods that can give information about the data stored
in the object and give access to it.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataUnion.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayUnion.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoUnion.m
+ :language: matlab
+ :linenos:
+
+
+Also we can copy the object, clear all the data, save it in a file.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveUnion.m
+ :language: matlab
+ :linenos:
+
+Also we can compare tubes by instant of time using *isEqual* method.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqualUnion.m
+ :language: matlab
+ :linenos:
+
+At last, as it has already been said tubes by instant of time can be
projected only on static subspaces. It can be done in two ways.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_project.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_projectStatic.m
+ :language: matlab
+ :linenos:
+
+As for ellipsoid tube projections, a special function is used to create
the projection matrix for tubes by instant of time:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//fGetProjMat.m
+ :language: matlab
+ :linenos:
+
+Projections of ellipsoid tubes and tubes by instant of time
+-----------------------------------------------------------
+
+As it has already been said we can create either static or dynamic
projections for ellipsoid tubes and only static projections for tubes by
instant of time. There are several methods in *Ellipsoidal Toolbox* for
that. Most of them has already been described:
+
+- *project*, *projectStatic* and *projectToOrths* for ellipsoid tubes;
+
+- *project* and *projectStatic* for tubes by instant of time.
+
+It should be mentioned that from here on all the examples are written for
ellipsoid tube projections, but their usage is the same for the projections
of tubes by instant of time. We wiil use *getProj* function to create
ellipsoid tube projection that we will work with.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getProj.m
+ :language: matlab
+ :linenos:
+
+As with ellipsoid tubes and tubes by instant of time we can get all the
types of differet data about projections. There is a set of methods that
can give information about the data stored in the object and give access to
it.
+
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getDataProj.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getEllArrayProj.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_getInfoProj.m
+ :language: matlab
+ :linenos:
+
+Also we can copy the object, clear all the data, save it in a file.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_CopySaveProj.m
+ :language: matlab
+ :linenos:
+
+Also we can compare ellipsoid tube projections using *isEqual* method.
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_isEqualProj.m
+ :language: matlab
+ :linenos:
+
+And finally we can plot out results using one of three methods: *plot*,
*plotExt* (for external approximation) or *plotInt* (for internal
approximation).
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plot.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plotInt.m
+ :language: matlab
+ :linenos:
+
+..
literalinclude:: ../products/+gras/+ellapx/+smartdb/+test/+examples//example_plotExt.m
+ :language: matlab
+ :linenos:
+
+All the three methods have several properties connected to the properties
of the image, for example: transparency, color, line width and so on.
+
+To read more about the differences of these projections :ref:`goto
<goto-label>`. Also there you can find some illustrations for both ellTube
projections and ellUnionTube projections.
+
+.. [GAG2012] Gagarinov P.V. 2012. Computation of Alternated Reachability
Tubes for Linear Control Systems under Uncertainty. *Moscow University
Computational Mathematics and Cybernetics*, 2012, Vol. 36, No. 4, pp. 169-
177.
=======================================
--- /dev/null
+++ /trunk/doc/main_elltoolmanual.tex Sat Mar 8 15:21:43 2014 UTC
@@ -0,0 +1,83 @@
+\documentclass{report}
+\usepackage{config}
+\oddsidemargin 0.25in
+\evensidemargin 0.25in
+\textheight 8.5in
+\textwidth 6.0in
+\parskip 0.0675in
+\parindent 0.0in
+\hfuzz=300pt
+
+\fontfamily{pcr}
+\makeatletter
+\@addtoreset{equation}{section}
+\renewcommand{\theequation}{\arabic{chapter}.\arabic{section}.\arabic{equation}}
+\makeatother
+\tolerance = 5000
+\hbadness = 5000
+
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{\bigskipamount}
+
+\title{
+\easyfigure[ht][0.7\textwidth]{logo.eps}{}{}
+ELLIPSOIDAL TOOLBOX%\thanks{Research supported by NSF Grant CCR-00225610.}
+\\
+%Manual DRAFT\\
+\normalsize{ver. 2.0.1}
+\author{Peter Gagarinov, Alex A. Kurzhanskiy,}
+\date{2013}
+}
+%%Path to figures
+\graphicspath{{./pic/}}
+
+\renewcommand{\includegraphics}[2][]{%
+ \fbox{#2}% print file name in a small box
+}
+
+
+\begin{document}
+\maketitle
+\tableofcontents
+
+\chapter{Introduction}\label{ch_intro}
+\input{chap_intro}
+
+\chapter{Ellipsoidal Calculus}\label{ch_ellcalc}
+\input{chap_ellcalc}
+
+\chapter{Reachability}\label{ch_reachability}
+\input{chap_reachability}
+
+\chapter{Installation}\label{ch_install}
+\input{chap_install}
+
+\chapter{Implementation}\label{ch_implementation}
+\todo[inline]{Merged this section with section objects}
+\input{chap_implementation}
+
+\chapter{Examples}\label{ch_examples}
+\input{chap_examples}
+
+\chapter{Summary and Outlook}\label{ch_summary}
+\input{chap_summary}
+
+\chapter{gras.ellapx.smartdb.rels}\label{ch_ellTube}
+\input{chap_ellTube}
+
+\chapter*{Acknowledgement}
+\addcontentsline{toc}{chapter}{Acknowledgement}
+The authors would like to thank Alexander B. Kurzhanski,
+Manfred Morari, Johan L{\"o}fberg, Michal Kvasnica and Goran Frehse
+for their support of this work by useful advice and encouragement.
+
+
+\addcontentsline{toc}{chapter}{Bibliography}
+\bibliography{et}
+\todo[inline]{Added bib file}
+\appendix
+\chapter{Function Reference}\label{appendix_a}
+\input{chap_functions}
+
+\end{document}
+
=======================================
--- /dev/null
+++ /trunk/products/+gras/+ellapx/+smartdb/+test/+mlunit/ExamplesTC.m Sat
Mar 8 15:21:43 2014 UTC
@@ -0,0 +1,55 @@
+classdef ExamplesTC < mlunitext.test_case
+ %
+ methods
+ function self = ExamplesTC(varargin)
+ self = se...@mlunitext.test_case(varargin{:});
+ end
+ %
+ function tear_down(~)
+ close all;
+ end
+ %
+ function test_examples(~)
+ gras.ellapx.smartdb.test.examples.example_cat();
+ gras.ellapx.smartdb.test.examples.example_CopySaveProj();
+ gras.ellapx.smartdb.test.examples.example_CopySaveTubes();
+ gras.ellapx.smartdb.test.examples.example_CopySaveUnion();
+ gras.ellapx.smartdb.test.examples.example_cut1();
+ gras.ellapx.smartdb.test.examples.example_cut2();
+ gras.ellapx.smartdb.test.examples.example_fromEllArray();
+ gras.ellapx.smartdb.test.examples.example_fromEllMArray();
+ gras.ellapx.smartdb.test.examples.example_fromEllTubes();
+ gras.ellapx.smartdb.test.examples.example_fromQArrays1();
+ gras.ellapx.smartdb.test.examples.example_fromQArrays2();
+ gras.ellapx.smartdb.test.examples.example_fromQMArrays1();
+ gras.ellapx.smartdb.test.examples.example_fromQMArrays2();
+ gras.ellapx.smartdb.test.examples.example_fromQMScaledArrays();
+ gras.ellapx.smartdb.test.examples.example_getDataProj();
+ gras.ellapx.smartdb.test.examples.example_getDataTube();
+ gras.ellapx.smartdb.test.examples.example_getDataUnion();
+ gras.ellapx.smartdb.test.examples.example_getEllArrayProj();
+ gras.ellapx.smartdb.test.examples.example_getEllArrayTube();
+ gras.ellapx.smartdb.test.examples.example_getEllArrayUnion();
+ gras.ellapx.smartdb.test.examples.example_getInfoProj();
+ gras.ellapx.smartdb.test.examples.example_getInfoTube();
+ gras.ellapx.smartdb.test.examples.example_getInfoUnion();
+ gras.ellapx.smartdb.test.examples.example_interp();
+ gras.ellapx.smartdb.test.examples.example_isEqual1();
+ gras.ellapx.smartdb.test.examples.example_isEqual2();
+ gras.ellapx.smartdb.test.examples.example_isEqualProj();
+ gras.ellapx.smartdb.test.examples.example_isEqualUnion();
+ gras.ellapx.smartdb.test.examples.example_plot();
+ gras.ellapx.smartdb.test.examples.example_plotExt();
+ gras.ellapx.smartdb.test.examples.example_plotInt();
+ gras.ellapx.smartdb.test.examples.example_project();
+ gras.ellapx.smartdb.test.examples.example_projectStatic();
+ gras.ellapx.smartdb.test.examples.example_projectStaticTube();
+ gras.ellapx.smartdb.test.examples.example_projectToOrths1();
+ gras.ellapx.smartdb.test.examples.example_projectToOrths2();
+ gras.ellapx.smartdb.test.examples.example_projectTube();
+ gras.ellapx.smartdb.test.examples.example_scale();
+ gras.ellapx.smartdb.test.examples.example_thinOutTuples();
+ end
+ end
+end
+
=======================================
--- /trunk/doc/_build/html/.buildinfo Sat Dec 28 23:47:06 2013 UTC
+++ /trunk/doc/_build/html/.buildinfo Sat Mar 8 15:21:43 2014 UTC
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When
it is not found, a full rebuild will be done.
-config: d4b8e9fef3e78eaf6907d4b8005f1492
+config: 9cb5c1e55f016cf97bb882dc74d49254
tags: 645f666f9bcd5a90fca523b33c5a78b7
=======================================
---
/trunk/doc/_build/html/_images/math/90951d353747c0fed5fd2adeed6258718e7ba7f4.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/90951d353747c0fed5fd2adeed6258718e7ba7f4.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/91449f289ad84516746f338180521c05b5925a83.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/91449f289ad84516746f338180521c05b5925a83.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/91ba0e3d9086b30bf8ad68ed37a5a85d0f095bfb.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/91ba0e3d9086b30bf8ad68ed37a5a85d0f095bfb.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/92cad30470cce7e86b5489d31e58224ca05dbeea.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/92cad30470cce7e86b5489d31e58224ca05dbeea.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/93259bb673a9821191d02b44e1696aa54d8ef32d.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/93259bb673a9821191d02b44e1696aa54d8ef32d.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/9385b7a27e79a1d0b5dab8b1bcec110322a82b17.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/9385b7a27e79a1d0b5dab8b1bcec110322a82b17.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/949f15c17c06ce267d7e29d4899999e171533283.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/949f15c17c06ce267d7e29d4899999e171533283.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/94e6930643fa109366fdebf264472c0fe36f8607.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/94e6930643fa109366fdebf264472c0fe36f8607.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/950705e531b7ae94269ec795fdfed484858f73f1.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/950705e531b7ae94269ec795fdfed484858f73f1.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/955e5adf6b441bec4019ff381ff77f3b1061cae2.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/955e5adf6b441bec4019ff381ff77f3b1061cae2.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/9601bfdb03a243b97f39ab40b3979d6912c3798b.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/9601bfdb03a243b97f39ab40b3979d6912c3798b.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/9618579f2b911a58a71f1b4c5985f9399149842a.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/9618579f2b911a58a71f1b4c5985f9399149842a.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/961e976eb912f0968f18ad08470000292503ce75.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/961e976eb912f0968f18ad08470000292503ce75.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/96ea731969af14f82ceb2689e8818b70ddfa93c8.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/96ea731969af14f82ceb2689e8818b70ddfa93c8.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/9848b4ee4fab67fff836cc47d90bb8bc8d09633a.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/9848b4ee4fab67fff836cc47d90bb8bc8d09633a.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/989587c7e2c0eec1235d485552fa2ca115860e97.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/989587c7e2c0eec1235d485552fa2ca115860e97.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/98bc0f0c3f819260ad0ee942d6e190a7690dfc7b.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/98bc0f0c3f819260ad0ee942d6e190a7690dfc7b.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/98bdba074d91bed934098c97cdd3bed607d9a02a.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/98bdba074d91bed934098c97cdd3bed607d9a02a.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/991eab2f36efc3413a2114c78ede7dea643a675d.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/991eab2f36efc3413a2114c78ede7dea643a675d.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/99a43db79e7ea5abd0478c141516e437ab9906d6.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/99a43db79e7ea5abd0478c141516e437ab9906d6.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
---
/trunk/doc/_build/html/_images/math/99aa3d80b39fbabf8a6fcdd3067aeb27181b6faf.png
Fri Mar 7 07:45:26 2014 UTC
+++
/trunk/doc/_build/html/_images/math/99aa3d80b39fbabf8a6fcdd3067aeb27181b6faf.png
Sat Mar 8 15:21:43 2014 UTC
Binary file, no diff available.
=======================================
***Additional files exist in this changeset.***
Reply all
Reply to author
Forward
0 new messages