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 © 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> > <a href="index.html">dcpr</a> > dpPathPlot4strMatch.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td><td align="right"><a href="index.html">Index for dcpr <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 "lcs" or "editDistance".</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 "lcs" or "editDistance".</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)>0 & prevy(i,j)>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> © 2003</address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?