📄 demo_anderson.html
字号:
oldalpha=h.<span class=graph>line</span>.alpha;<br><br> <span class=comment>% call algorithm</span><br> [h,text,play,solution]=callalgo(h,sets);<br><br> <span class=comment>% appear result</span><br> <span class=graph>set</span>(h.console,<span class=quotes>'String'</span>,text );<br> drawnow;<br><br> <span class=keyword>if</span> play~=-1,<br> <span class=comment>% plot result</span><br> <span class=keyword>if</span> h.<span class=graph>line</span>.handler==-1,<br> <span class=graph>axes</span>(h.axes1);<br> h.<span class=graph>line</span>.handler=<span class=eval>feval</span>(PLOT_FCE,sets.MI,sets.SIGMA,sets.I,...<br> h.<span class=graph>line</span>.alpha,h.<span class=graph>line</span>.theta );<br> <span class=keyword>else</span><br> <span class=eval>feval</span>(PLOT_FCE,sets.MI,sets.SIGMA,sets.I,h.<span class=graph>line</span>.alpha,...<br> h.<span class=graph>line</span>.theta,h.<span class=graph>line</span>.handler,anim,oldalpha,oldtheta);<br> <span class=keyword>end</span><br> <span class=keyword>end</span><br><br> drawnow;<br><br> <span class=comment>% store data</span><br> <span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);<br><br> <span class=keyword>else</span> <span class=comment>% isempty(sets)==0,</span><br> <span class=comment>% write down description</span><br> text=<span class=io>sprintf</span>([<span class=quotes>'No data loaded.\nPress Load data or Create data button.\n'</span>, ...
<br> <span class=quotes>'Load sample data from ../toolboxroot/data/anderson_task/'</span> ] );<br> <span class=graph>set</span>(h.console,<span class=quotes>'String'</span>,text );<br> <span class=keyword>end</span><br><br><span class=label>case</span> <span class=quotes>'reset'</span><br> <span class=comment>% == Reset adaptation process ==================================</span><br> <span class=comment>% Sets t=0 and redraws axes.</span><br><br> h=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>); <span class=comment>% get handlers</span><br><br> <span class=comment>% zeroize all parameters of the solution</span><br> h.<span class=graph>line</span>.t=0;<br> h.<span class=graph>line</span>.theta=0;<br> h.<span class=graph>line</span>.alpha=[0;0];<br> h.<span class=graph>line</span>.alpha1=[0;0];<br> h.<span class=graph>line</span>.alpha2=[0;0];<br> h.<span class=graph>line</span>.lambda=0;<br> <span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);<br><br> <span class=comment>% No line</span><br> h.<span class=graph>line</span>.handler=-1;<br> <span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);<br> <span class=comment>%%% cla;</span><br> clrchild(h.axes1);<br> <span class=comment>%%% win=axis;</span><br> win=getaxis(h.axes1);<br> <span class=comment>%%% axis([0 1 0 1]);</span><br> setaxis(h.axes1,[0 1 0 1]);<br> <span class=comment>%%% axis(win);</span><br> setaxis(h.axes1,win);<br><br> <span class=comment>% Redraw points</span><br> sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);<br><br> <span class=comment>% if some points are loaded than appear it</span><br> <span class=keyword>if</span> isempty(sets)==0,<br><br> <span class=comment>% set axes according to current points MI</span><br><br> <span class=keyword>if</span> sum(sets.K) < 3,<br> win=cmpwin(min(sets.MI<span class=quotes>'),max(sets.MI'</span>),BORDER*2,BORDER*2);<br> <span class=keyword>else</span><br> win=cmpwin(min(sets.MI<span class=quotes>'),max(sets.MI'</span>),BORDER,BORDER);<br> <span class=keyword>end</span><br><br> <span class=comment>%%% axis(win);</span><br> setaxis(h.axes1,win);<br><br><span class=comment>%% pplot(sets.MI,sets.I);</span><br><span class=comment>%% ppoints(sets.MI,sets.I);</span><br> ppatterns(sets.MI,sets.I);<br><br> <span class=comment>% comment window text</span><br> consoletext=<span class=io>sprintf</span>(<span class=quotes>'Press Step button or Play button.\n'</span>);<br><br> file=<span class=graph>get</span>(h.btload,<span class=quotes>'UserData'</span>);<br> titletext=<span class=io>sprintf</span>(<span class=quotes>'File: %s, # of distributions K = %d'</span>,file.name,sum(sets.K));<br><br> <span class=keyword>else</span> <span class=comment>% if isempty(sets)==0,</span><br> <span class=comment>% comment window text</span><br><span class=comment>% consoletext=sprintf(['No data loaded.\n' ...</span><br><span class=comment>% 'Press Load button or Create data button.\n']);</span><br><span class=comment>% consoletext=sprintf('No data loaded.\nPress Load data button.\n');</span><br> consoletext=<span class=io>sprintf</span>([<span class=quotes>'No data loaded.\nPress Load data or Create data button.\n'</span>, ...
<br> <span class=quotes>'Load sample data from ../toolboxroot/data/anderson_task/'</span> ] );<br> titletext=<span class=quotes>''</span>;<br><br> pos=<span class=graph>get</span>(h.axes1,<span class=quotes>'Position'</span>);<br> fsize=min(pos(3),pos(4))/10;<br><br> <span class=comment>%%% axis([-1 1 -1 1]);</span><br> setaxis(h.axes1,[-1 1 -1 1]);<br> <span class=eval>builtin</span>(<span class=quotes>'text'</span>,0,0,<span class=quotes>'Press '</span><span class=quotes>'Load data'</span><span class=quotes>' button.'</span>,...<br> <span class=quotes>'HorizontalAlignment'</span>,<span class=quotes>'center'</span>,...<br> <span class=quotes>'FontUnits'</span>,<span class=quotes>'normalized'</span>,...<br> <span class=quotes>'Clipping'</span>,<span class=quotes>'on'</span>,...<br> <span class=quotes>'FontSize'</span>,fsize);<br> <span class=keyword>end</span><br><br> <span class=comment>% print comment</span><br> <span class=graph>set</span>(h.console,<span class=quotes>'String'</span>,consoletext );<br><br> <span class=comment>% print title</span><br> pos=<span class=graph>get</span>(h.axes1,<span class=quotes>'Position'</span>);<br> fsize=(1-pos(2)-pos(4))*1;<br> title(titletext,...<br> <span class=quotes>'VerticalAlignment'</span>,<span class=quotes>'bottom'</span>,...<br> <span class=quotes>'HorizontalAlignment'</span>,<span class=quotes>'left'</span>,...<br> <span class=quotes>'FontUnits'</span>,<span class=quotes>'normalized'</span>,...<br> <span class=quotes>'Units'</span>,<span class=quotes>'normalized'</span>,...<br> <span class=quotes>'Position'</span>,[0 1 0],...<br> <span class=quotes>'FontSize'</span>,fsize);<br><br><br><span class=label>case</span> <span class=quotes>'info'</span><br> <span class=comment>% == Call standard Matlab info box =========================================</span><br> helpwin(mfilename);<br><br><br><span class=keyword>end</span><br><br><br><span class=comment>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><br><span class=defun_kw>function</span> <span class=defun_out>[h,text,play,solution]</span>=<span class=defun_name>callalgo</span>(<span class=defun_in>h,sets</span>)<br><br><span class=comment>% get arguments from dialog</span><br>precision=str2num(<span class=graph>get</span>(h.edprec,<span class=quotes>'String'</span>));<br>iter=max([1,fix(str2num(<span class=graph>get</span>(h.editer,<span class=quotes>'String'</span>)))]);<br><br><span class=comment>% get parameters</span><br>t=h.<span class=graph>line</span>.t;<br>alpha=h.<span class=graph>line</span>.alpha;<br>alpha1=h.<span class=graph>line</span>.alpha1;<br>alpha2=h.<span class=graph>line</span>.alpha2;<br>lambda=h.<span clas
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -