Projekt BAM in Matlab - Thomas Baumgartl 14.05.2016 Info zum BAM Matlab Programm 1. Programm starten Matlab starten ---> File ---> Open... ---> Hauptprogramm.m auswählen ---> F5 drücken ---> “Chance MATLAB current directory” Ok ---> das Programm müsste jetzt laufen. 2. Programm Kurzbeschreibung Das Programm ist im Allgemeinen selbsterklärend, deshalb werden nur auf die wichtigsten Funktionen eingegangen. Bei jedem Click auf den Button „Lernen“ wird die neu berechnete Gewichtsmatrix im Matlab Hauptfenster angezeigt. Bei jedem Click auf den Button „Test“ werden im Matlab Hauptfenster die benötigten Iterationsschritte des Erkennalgorithmus und die Energie angezeigt. Ab mehr als fünf gelernten Buchstaben wird das BAM Netz unstabil, d.h. die Erkennung von gelernten Mustern ist nicht mehr sichergestellt. 3. Funktionen - letters gibt die Variable Buchstaben zurück, in der die einzelnen Pixelwerte stehen. „1“ steht für Schwarz und „0“ für weiß. Die Buchstaben C,J,K,Q,S,T,V,X,Y,Z sind in diesen Format codiert. - LearnBAM(a,b,Walt) : a ist die binäre Eingabe und b ist die dazugehörige binäre Ausgabe. Walt ist die Gewichtsmatrix, die aus vorherigen Lernvorgängen entstanden ist. - TestBAM(aneu,W): aneu ist das zu testende Muster. W ist die Gewichtsmatrix des BAM – Netzes. 4. Erläuterungen zum Hauptprogramm Der folgende Befehl erstellt das Hauptfenster(Zeile 15): MainWindow = figure('MenuBar','none',... 'Name','BAM-Algorithmus',... 'ToolBar','none',... 'Position',[.2*scrsz(3),.2*scrsz(4),... winsize]); 1 Projekt BAM in Matlab - Thomas Baumgartl 14.05.2016 Die grafische Anzeige besteht aus Buttons die sich je nach gedrückten Buchstaben schwarz oder weiß färben. Ein Button entspricht einem Pixel. Die folgenden Befehlszeilen initialisieren die 49 Buttons, auf der linken Seite (Zeile 23): for i=1:7 for j=1:7 h((i-1)*7+j) = uicontrol('Style', 'ToggleButton', ... 'Position',[j*15 ,winsize(2)-i*15-20,15,15],... 'BackgroundColor','w',... 'CallBack', 'Hauptprogramm(''Pixel'',gco)'); end end Die Bedeutung der Eigenschaften ‚Position’, ‚Style’, ‚BackgroundColor’ und ‚CallBack’ sind in der Matlab Dokumentation beschrieben1. 1 http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/uicontro l_props.html&http://www.mathworks.com/access/helpdesk/help/techdoc/ref/uicontrol.html 2