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

📄 demo_linclass.html

📁 很好的matlab模式识别工具箱
💻 HTML
📖 第 1 页 / 共 5 页
字号:
&nbsp;&nbsp;&nbsp;<span class=comment>%%%</span><br>&nbsp;&nbsp;&nbsp;sets.I=sets.y;<br>&nbsp;&nbsp;&nbsp;sets.N=2;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>for</span>&nbsp;ii=1:max(sets.y),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sets.K(ii)=length(find(sets.y==ii));<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;store&nbsp;loaded&nbsp;sets</span><br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.axes1,<span class=quotes>'UserData'</span>,sets);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;set&nbsp;axes&nbsp;according&nbsp;to&nbsp;current&nbsp;point&nbsp;set</span><br>&nbsp;&nbsp;&nbsp;win=cmpwin(min(sets.X<span class=quotes>'),max(sets.X'</span>),BORDER,BORDER);<br>&nbsp;&nbsp;&nbsp;setaxis(h.axes1,win);<br><br>&nbsp;&nbsp;&nbsp;<span class=graph>axes</span>(h.axes1);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;plots&nbsp;points</span><br><span class=comment>%%&nbsp;&nbsp;&nbsp;ppoints(sets.X,sets.I);</span><br>&nbsp;&nbsp;&nbsp;ppatterns(sets);<br><br>&nbsp;&nbsp;&nbsp;drawnow;<br>&nbsp;&nbsp;&nbsp;<br><span class=label>case</span>&nbsp;<span class=quotes>'play'</span><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;==&nbsp;Start&nbsp;up&nbsp;the&nbsp;adaptation&nbsp;process&nbsp;============================</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Get&nbsp;handle&nbsp;to&nbsp;data.</span><br>&nbsp;&nbsp;&nbsp;h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;h.<span class=graph>line</span>.handler==-1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=jump>return</span>;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Check&nbsp;if&nbsp;data&nbsp;are&nbsp;loaded.</span><br>&nbsp;&nbsp;&nbsp;sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);<br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;isempty(sets)==1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=jump>return</span>;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Disable&nbsp;and&nbsp;enable&nbsp;buttons.</span><br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>([h.btinfo&nbsp;h.btstep&nbsp;h.btclose&nbsp;h.btplay&nbsp;h.btreset&nbsp;h.btload&nbsp;h.btcreat&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.pualgo&nbsp;h.editer],<span class=quotes>'Enable'</span>,<span class=quotes>'off'</span>);<br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.btstop,<span class=quotes>'Enable'</span>,<span class=quotes>'on'</span>);<br><br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.btstop,<span class=quotes>'UserData'</span>,0);<br><br>&nbsp;&nbsp;&nbsp;h.stop&nbsp;=&nbsp;0;<br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Play&nbsp;-&nbsp;adaptation&nbsp;process</span><br>&nbsp;&nbsp;&nbsp;<span class=keyword>while</span>&nbsp;h.stop==0&nbsp;&&nbsp;<span class=graph>get</span>(h.btstop,<span class=quotes>'UserData'</span>)==0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'step'</span>,hfigure);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Enable&nbsp;and&nbsp;dissable&nbsp;buttons.</span><br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>([h.btinfo&nbsp;h.btstep&nbsp;h.btclose&nbsp;h.btplay&nbsp;h.btreset&nbsp;h.pualgo&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.editer&nbsp;h.btload&nbsp;h.btcreat],<span class=quotes>'Enable'</span>,<span class=quotes>'on'</span>);<br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.btstop,<span class=quotes>'Enable'</span>,<span class=quotes>'off'</span>);<br><br><br><span class=label>case</span>&nbsp;<span class=quotes>'step'</span><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;==&nbsp;Perform&nbsp;one&nbsp;adaptation&nbsp;step&nbsp;======================================</span><br>&nbsp;&nbsp;&nbsp;h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;handlers&nbsp;we&nbsp;will&nbsp;need...</span><br><br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;h.<span class=graph>line</span>.handler==-1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=jump>return</span>;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;sets</span><br>&nbsp;&nbsp;&nbsp;sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;no&nbsp;data&nbsp;set&nbsp;loaded</span><br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;isempty(sets)==1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=jump>return</span>;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;[alpha,theta,solution,t]=exec(hfigure);<br><br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;mod(h.stepcnt,2)==1&nbsp;&&nbsp;h.<span class=graph>line</span>.t&nbsp;&gt;0,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;solution&nbsp;~=&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'drawline'</span>,hfigure,theta,alpha);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text=makeinfo(t,alpha,theta,solution);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.console,<span class=quotes>'String'</span>,text&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span>&nbsp;<br>&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;<span class=graph>get</span>(h.xbanim,<span class=quotes>'Value'</span>)==0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'drawline'</span>,hfigure,theta,alpha);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'animline'</span>,hfigure,theta,alpha);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;solution==1&nbsp;|&nbsp;solution==-1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.stop=1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.<span class=graph>line</span>.alpha&nbsp;=&nbsp;alpha;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.<span class=graph>line</span>.theta&nbsp;=&nbsp;theta;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.<span class=graph>line</span>.t&nbsp;=&nbsp;t;<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;solution==0&nbsp;|&nbsp;solution&nbsp;==1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;appear&nbsp;time&nbsp;and&nbsp;line&nbsp;parameters</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text=makeinfo(t,alpha,theta,solution);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>elseif</span>&nbsp;solution==-1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text=<span class=io>sprintf</span>(<span class=quotes>'Solution&nbsp;does&nbsp;not&nbsp;exist.\n'</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(h.console,<span class=quotes>'String'</span>,text&nbsp;);<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;&nbsp;store&nbsp;new&nbsp;solution</span><br>&nbsp;&nbsp;&nbsp;h.stepcnt=h.stepcnt+1;<br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);<br><br><br><span class=label>case</span>&nbsp;<span class=quotes>'animline'</span><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;==&nbsp;Smooth&nbsp;transition&nbsp;of&nbsp;line&nbsp;from&nbsp;old&nbsp;to&nbsp;new&nbsp;position&nbsp;===============</span><br><br>&nbsp;&nbsp;&nbsp;h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;handlers</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;old&nbsp;position&nbsp;of&nbsp;line&nbsp;is...</span><br>&nbsp;&nbsp;&nbsp;alpha2=h.<span class=graph>line</span>.alpha;<br>&nbsp;&nbsp;&nbsp;theta2=h.<span class=graph>line</span>.theta;<br>&nbsp;&nbsp;&nbsp;t2=h.<span class=graph>line</span>.t;<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;New&nbsp;position&nbsp;get&nbsp;from&nbsp;input&nbsp;arguments</span><br>&nbsp;&nbsp;&nbsp;theta1=<span class=stack>varargin</span>{1};<br>&nbsp;&nbsp;&nbsp;alpha1=<span class=stack>varargin</span>{2};<br><br>&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;t2~=0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;move&nbsp;line</span><br>&nbsp;&nbsp;&nbsp;&nbsp;step=1/ANIM_STEPS;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>for</span>&nbsp;k=0:step:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alpha=(1-k)*alpha2+k*alpha1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;smooth&nbsp;transition&nbsp;of&nbsp;alpha</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theta=(1-k)*theta2+k*theta1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;--//--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theta</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'drawline'</span>,hfigure,theta,alpha);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;it&nbsp;is&nbsp;first&nbsp;step</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demo_linclass(<span class=quotes>'drawline'</span>,hfigure,theta1,alpha1);&nbsp;<span class=comment>%&nbsp;first&nbsp;step</span><br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span>&nbsp;<span class=comment>%&nbsp;if&nbsp;t2~=0</span><br><br><br><span class=label>case</span>&nbsp;<span class=quotes>'reset'</span><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;==&nbsp;Reset&nbsp;adaptation&nbsp;process,&nbsp;set&nbsp;up&nbsp;zero&nbsp;step&nbsp;================</span><br><br>&nbsp;&nbsp;&nbsp;h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;handlers</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;data&nbsp;set</span><br>&nbsp;&nbsp;&nbsp;sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;get&nbsp;file</span><br>&nbsp;&nbsp;&nbsp;file=<span class=graph>get</span>(h.btload,<span class=quotes>'UserData'</span>);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;zeroize&nbsp;parameters&nbsp;of&nbsp;the&nbsp;separation&nbsp;line</span><br>

⌨️ 快捷键说明

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