dppathplot4strmatch.html

来自「一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有」· HTML 代码 · 共 104 行

HTML
104
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head>  <title>Description of dpPathPlot4strMatch</title>  <meta name="keywords" content="dpPathPlot4strMatch">  <meta name="description" content="dpPathPlot4strMatch: Plot the path of dynamic programming for string match.">  <meta http-equiv="Content-Type" content="text/html; charset=big5">  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">  <meta name="robots" content="index, follow">  <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> &gt;  <a href="index.html">dcpr</a> &gt; dpPathPlot4strMatch.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for dcpr&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>dpPathPlot4strMatch</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>dpPathPlot4strMatch: Plot the path of dynamic programming for string match.</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function dpPathPlot4strMatch(str1, str2, lcsPath, lcsTable, prevx, prevy) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"> dpPathPlot4strMatch: Plot the path of dynamic programming for string match.
    Usage: dpPathPlot4strMatch(str1, str2, lcsPath, lcsTable, prevx, prevy)

    This is primarily used in lcs.m and editDistance.m.
    To see the result, try &quot;lcs&quot; or &quot;editDistance&quot;.</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="editDistance.html" class="code" title="function [minDist, edPath, edTable] = editDistance(a, b, substituteCost, plotOpt)">editDistance</a>	editDistance: Edit distance (ED) via dynamic programming</li><li><a href="lcs.html" class="code" title="function [lcsCount, lcsPath, lcsStr, lcsTable] = lcs(a, b, plotOpt)">lcs</a>	lcs: Longest (maximum) common subsequence</li></ul><!-- crossreference --><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function dpPathPlot4strMatch(str1, str2, lcsPath, lcsTable, prevx, prevy)</a>0002 <span class="comment">% dpPathPlot4strMatch: Plot the path of dynamic programming for string match.</span>0003 <span class="comment">%    Usage: dpPathPlot4strMatch(str1, str2, lcsPath, lcsTable, prevx, prevy)</span>0004 <span class="comment">%</span>0005 <span class="comment">%    This is primarily used in lcs.m and editDistance.m.</span>0006 <span class="comment">%    To see the result, try &quot;lcs&quot; or &quot;editDistance&quot;.</span>0007 0008 <span class="comment">%    Roger Jang, 20081009</span>0009 0010 m = length(str1);0011 n = length(str2);0012 <span class="comment">%[xx, yy] = meshgrid(1:m, 1:n);</span>0013 <span class="comment">%plot(xx(:), yy(:), '.');</span>0014 plot(nan, nan); axis([0 m+1 0 n+1]); box on; axis image0015 set(gca, <span class="string">'xtick'</span>, 1:m);0016 set(gca, <span class="string">'ytick'</span>, 1:n);0017 set(gca, <span class="string">'xticklabel'</span>, str1(:));0018 set(gca, <span class="string">'yticklabel'</span>, str2(:));0019 xlabel([<span class="string">'String1 = '</span>, str1]);0020 ylabel([<span class="string">'String2 = '</span>, str2]);0021 <span class="comment">% === Plot bounding boxes for LCS table element</span>0022 <span class="keyword">for</span> i = 1:m0023     <span class="keyword">for</span> j = 1:n0024         line(i, j, <span class="string">'marker'</span>, <span class="string">'square'</span>, <span class="string">'markersize'</span>, 15, <span class="string">'color'</span>, <span class="string">'g'</span>, <span class="string">'linestyle'</span>, <span class="string">'none'</span>);0025     <span class="keyword">end</span>0026 <span class="keyword">end</span>0027 <span class="comment">% === Plot prevPos</span>0028 <span class="keyword">for</span> i=1:m0029     <span class="keyword">for</span> j=1:n0030         now=i+j*sqrt(-1);0031         next=prevx(i,j)+prevy(i,j)*sqrt(-1);0032         start=now+(next-now)*0.2;0033         stop =now+(next-now)*0.5;0034         <span class="keyword">if</span> prevx(i,j)&gt;0 &amp; prevy(i,j)&gt;00035             arrowPlot(start, stop, [0 0 1]);0036         <span class="keyword">end</span>0037     <span class="keyword">end</span>0038 <span class="keyword">end</span>0039 <span class="comment">% === Plot DP path</span>0040 <span class="keyword">for</span> i=1:size(lcsPath,1)-10041     line(lcsPath(i:i+1, 1), lcsPath(i:i+1, 2), <span class="string">'color'</span>, <span class="string">'m'</span>, <span class="string">'linewidth'</span>, 2);0042 <span class="keyword">end</span>0043 <span class="comment">% === Circle matched elements</span>0044 <span class="keyword">for</span> i=1:size(lcsPath,1)0045     <span class="keyword">if</span> str1(lcsPath(i,1))==str2(lcsPath(i,2))0046         line(lcsPath(i,1), lcsPath(i,2), <span class="string">'marker'</span>, <span class="string">'o'</span>, <span class="string">'markersize'</span>, 15, <span class="string">'color'</span>, <span class="string">'r'</span>, <span class="string">'linestyle'</span>, <span class="string">'none'</span>, <span class="string">'linewidth'</span>, 2);0047     <span class="keyword">end</span>0048 <span class="keyword">end</span>0049 <span class="comment">% === Plot LCS table element</span>0050 <span class="keyword">for</span> i = 1:m0051     <span class="keyword">for</span> j = 1:n0052         text(i, j, int2str(lcsTable(i,j)), <span class="string">'hori'</span>, <span class="string">'center'</span>);0053     <span class="keyword">end</span>0054 <span class="keyword">end</span></pre></div><hr><address>Generated on Thu 30-Oct-2008 12:53:56 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address></body></html>

⌨️ 快捷键说明

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