⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faq.html

📁 模型参考自适应程序。用于无速度传感器
💻 HTML
字号:
<!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>    <link rel="stylesheet" type="text/css" href="style.css">    <title>MatlabBGL - FAQ</title></head><body>    <div id="wrapper-header">    <div id="header">     <div id="wrapper-header2">    <div id="wrapper-header3">    <img src="images/matlab-bgl-header.png"/>    <div id="wrapper-header4">        <h1>MatlabBGL</h1>        <h2>A Matlab Graph Library</h2>    </div>    </div>    </div>    </div>    </div>    <div id="wrapper-content">    <div id="wrapper-menu-page">	    <div id="menu-page">	    <h3>MatlabBGL</h3>	    <ul>	        <li><a href="index.html">Main</a></li>		    <li><a href="faq.html">FAQ</a></li>		    <li><a href="index.html#examples">Examples</a></li>		    <li><a href="changes.html">Change Log</a></li>		    <li><a href="matlab_bgl_v2.1.pdf">Documentation</a></li>          <li><a href="old.html">Older Versions</a></li>          <li><a href="http://launchpad.net/matlab-bgl/">Launchpad page</a></li>		    <li><a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=10922&objectType=file">Download</a></li>	    </ul>    		    <!-- <p><img src="images/logo.png" width="165" height="80" alt="" /></p> -->    </div><!--menu-page-->    </div>        <div id="content">        <h2>FAQ</h2>        <hr />        <ul>            <li><a href="#help">Help...?</a> (Something doesn't work.)</li>            <li><a href="#does">Does it work...?</a> (Platform Questions) </li>            <li><a href="#how">How do I...?</a> (Usage Questions)</li>            <li><a href="#what">What does...?</a> (Extra Help)</li>            <li><a href="#bugs">But what bugs...?</a> (Known Bugs)</li>        </ul>        <hr />        <a name="help"></a><h4>            Help...?</h4>        <ol>            <li>... Matlab just crashes when I try calling some of your routines!<p>                In general, this happens on Linux.&nbsp; One problem I've found is that the version                of gcc I compiled Matlab with is not always the best one.&nbsp; If you reliably                have this problem, I can look into using a new compiler, so please, let me know.&nbsp;                If you need a short term fix, I believe this page addresses the issue.&nbsp;</li>            </p>                <p>                    <a href="http://www.mathworks.com/support/solutions/data/1-QBCS1.html?solution=1-QBCS1">                        Mathworks Help page on mexErrMsgTxt</a></p>            </li>            <li>... Matlab gives me an error about 64-bit mex files and sparse matrix compatibility.            <p> The error I get from Matlab is                 <pre>??? Function "mxGetIr_700" is obsolete in file "compat32.cpp", line 246.(64-bit mex files using sparse matrices must be rebuilt with the "-largeArrayDims" option. ...)</pre>                The solution to this error is to update to Matlab BGL 2.1 which includes                precompiled files for 64-bit linux with support for largeArrayDims included.            </p>            </li>            <li><p>... I get an error about "undefined symbol: mxCreateDoubleMatrix_700."</p>            <p> This error results because I have compiled MatlabBGL for a more recent version of Matlab than                the one you are using.  The fix is straightforward: you need to recompile the library for                 your version of Matlab.                <pre>>> cd matlab_bgl % or switch to the directory with all the matlab_bgl files>> cd private>> compile      </pre></p>            <p>                If this solution does not work, please send me email with your error message as well                as the output of the <span class="matlab">ver</span> command from Matlab.            </p>            </li>            <li><p>... MatlabBGL crashes when I call "max_flow."</p>            <p>This error has been fixed as of MatlabBGL 3.0.  This fix applies to earlier versions.</p.            <p> With some combinations of Matlab and libc, there are bad interactions with the             free function used inside of a mex file.  The "private/max_flow_mex.c" file inadvertantly            used this function to release memory allocated by Matlab.  Again, the fix is             simple: replace the "free" call with "mxFree".                <pre>>> cd matlab_bgl % or switch to the directory with all the matlab_bgl files>> cd private>> edit max_flow_mex.c(in editor) ... Edit->Find and Replace...(in find/replace) ... Find what: free; Replace with: mxFree; Match case (on)(in find/replace) Replace All(in editor) ... File->Save>> compile      </pre></p>            <p>                If this solution does not work, please send me email with your error message as well                as the output of the <span class="matlab">ver</span> command from Matlab.            </p>            </li>        </ol>        <a name="does"></a><h4>            Does it work...?</h4>        <ol>            <li>... with Linux?                <p>                    It should!&nbsp; I've tested it on a few versions and it has worked assuming you                    have Matlab 7.0 or higher.  The code works on both 32-bit and 64-bit version                    of Linux.  The precompiled files for 64-bit Linux require Matlab 2006b                     because of a change in the sparse matrix data structure, however, you                    can recompile the files yourself for previous versions of Matlab.</p>            </li>            <li>... with Windows?<p>                Yes. I develop the software on Windows. You don't need to do anything (I hope!) to make                it work on 32-bit versions of Windows and Matlab.  For 64-bit versions, you will have to                 compile some things yourself because I don't have a 64-bit computer with Windows and                 Matlab installed.  Please email me if you have questions about a 64-bit version of                 Windows.</p>            </li>            <li>... with MacOS?<p>                Yes, as of version 2.1, it works!  For the Intel processor, you will have to compile                some things yourself because I don't have access to an Intel Mac with Matlab.</p>            </li>            <li>... with Sun?<p>                I have gotten this to work, you should be able to adapt the compile scripts to                 work for sun..</p>            </li>            <li>... on 64-bit Matlab?<p>                Yes!</p>            </li>        </ol>        <hr />        <a name="how"></a><h4>            How do I...?</h4>        <ol>            <li>... create a graph?<p>                Any Matlab sparse matrix is a MatlabBGL graph.&nbsp; See the Matlab document on                sparse matrices.&nbsp; The sparse matrix IS the adjacency matrix of the graph.</p>            </li>            <li>... add graph properties?<p>                MatlabBGL doesn't support graph propreties like Boost does.&nbsp; Instead, it allows                you to store separate arrays with data about each vertex.&nbsp; This technique is                how all the labels and coordinates are done in the examples.&nbsp; Eventually, I'll                put up a tutorial with more examples of how to use this idea.&nbsp; (Send me email                if you need it...)</p>            </li>            <li>... make the matrix/graph symmetric?<p>                If you have an undirected graph, then MatlabBGL needs both the forward and reverse                edge listed.&nbsp; This requirement means that the adjacency matrix must be symmetric.&nbsp;                The easiest way to make a sparse Matlab matrix symmetric is to call</p>                <pre>A = max(A,A');</pre>            </li>            <li>... make an unweighted graph?<p>                If you have a weighted graph and want to make an unweighted graph, there are two                options.&nbsp; First, for MatlabBGL calls that do not use graph weights, you do                not need to do anything!&nbsp; These algorithms (e.g. <span class="matlab">bfs</span>)                will not look at the weights on your graph so it will behave exactly like an unweighted                graph.&nbsp; If the algorithm does look at the weights (e.g. <span class="matlab">dijkstra_sp</span>)                then you can create an unweighted version with the following call</p>                <pre>A = spones(A);</pre>            </li>            <li>... use a dense graph<p>                Right now, you can't.&nbsp; All the MatlabBGL algorithms only work on sparse Matlab                matrices.&nbsp; You can convert your dense graph into a sparse matrix using the                command</p>                <pre>A = sparse(A);</pre>            </li>        </ol>        <hr />        <a name="what"></a><h4>            What does...?</h4>        <ol>            <li>... "the matrix A must..." mean?<p>                MatlabBGL errors are often in terms of "the matrix A."&nbsp; The matrix A is the                adjacency matrix for the graph.&nbsp; These errors mean that there is some problem                with your input matrix.&nbsp;            </p>            </li>            <li>... "the matrix A must be sparse" mean?<p>                MatlabBGL only uses sparse matrices by default.&nbsp; You can set an option to convert                all full matrices to sparse matrices.&nbsp;</p>            <pre>set_matlab_bgl_default('full2sparse',1);</pre>                                        <p>If you want to permanently set <span class="matlab">full2sparse</span> then            edit <span class="matlab">set_matlab_bgl_default.m</span> and change            <pre>default_options = struct('istrans', 0, 'nocheck', 0, 'full2sparse', 0);</pre>            to            <pre>default_options = struct('istrans', 0, 'nocheck', 0, 'full2sparse', 1);</pre>            </p>            </li>            <li>... "the matrix A must have double values" mean?<p>                For algorithms that use the weights on the graph edges, those weights must be double                values.&nbsp; Sometimes, you can inadvertently create a Matlab sparse matrix with                a different value type.&nbsp; To convert your graph to a double type, use the statement            <pre>A = double(A);</pre>                                </li>            <li>... "the matrix A must be symmetric" mean?<p>                Certain algorithms require undirected graphs.&nbsp; For these algorithms,&nbsp;                your adjacency matrix must be symmetric.&nbsp; See How do I make my matrix symmetric                in the "How do I...?" section.</p>            </li>            <li>... "the matrix A must be square" mean?<p>                The input to a MatlabBGL function is an adjacency matrix.&nbsp; By definition, an                adjacency matrix is square.&nbsp; This error probably means you are passing something                to a MatlabBGL call incorrectly.</p>            </li>        </ol>        <hr />        <a name="bugs"></a><h4>             What what bugs does the software have?</h4>        <ol>        <li><p>Presently, there are some problems with various calls on empty matrices with 64-bit matlab.              For example            <pre>T = mst(sparse([]));</pre>            will fail with an out of memory error.            These bugs will be fixed in the next version.  If you need a fix before then, contact me for            the lastest release.  You will likely need to recompile files for your system.</p>        </li>        </ol>    </div></div>        <div id="wrapper-footer"><div id="footer"><p><a href="faq.html">FAQ</a> | <a href="matlab_bgl_v2.1.pdf">Documentation</a> | <a href="old.html">Older Versions</a></p><p>... <a href="http://www.stanford.edu/~dgleich/">back to website</a>.</p><p>Copyright 2006-2007, <a href="mailto:mithandor+mbgl@gmail.com">David Gleich</a></p></div></div>    <!-- Start of StatCounter Code -->    <script type="text/javascript" language="javascript"><!-- var sc_project=1521328; var sc_invisible=1; var sc_partition=13; var sc_security="c102e412"; //-->    </script>    <script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script>    <noscript>        <a href="http://www.statcounter.com/" target="_blank">            <img src="http://c14.statcounter.com/counter.php?sc_project=1521328&java=0&security=c102e412&invisible=1"                alt="counter customizable free hit" border="0"></a>    </noscript>    <!-- End of StatCounter Code --></body></html>       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -