Ich erstelle ein Netz, wie es in der Anleitung beschrieben ist. Nun will ich diesem Netz Wahrscheinlichkeiten anlernen. Dies funktioniert über folgenden Befehl, wenn in samples die anzulerndenden Daten enthalten sind und das Netz 'bnet_ueb' bereits erstellt ist.
Während dem Ausführend dieses Befehls kommt folgende Fehlermeldung:
??? Function 'adjustable_CPD' is not defined for values of class 'double'.
Error in ==> learn_params at 20
if adjustable_CPD(bnet.CPD{e})
Error in ==> Labeldaten_anlernen at 31
bnet3 = learn_params(bnet_ueb, samples);
Wenn ich das Anlernen in einem anderen Netz ausführe, habe ich keine Fehlermeldung. Ich habe bereits nachgeschaut, ob ich irgendwo 'double' übergebe, wo es nicht sein sollte, habe aber leider nichts gefunden.
Ist dieser Fehler jemanden bekannt? Ich bin euch sehr dankbar für jede Hilfe.
der Fehler sagt einfach aus, das Matlab adjustable_CPD M-File/Funktion nicht finden kann.
Das heißt, dass Funktion befindet sich nicht in Matlab-Search-Path.
Abhilfe: Funktion in Matlab-Search-Path einfügen, z.B
so:
Code:
% die Funktion befindet sich in BNT->CPDs addpath('c:\Temp\FullBNT-1.0.4\BNT\CPDs\')
führe noch test_BTN aus (liegt in FullBNT-1.0.4\BNT\), um zu schauen ob alles funktioniert.
Hans09
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.08.2009, 08:56
Titel:
Hi denny,
vielen Dank für die schnelle Antwort.
Ich habe jetzt 2 Netze erzeugt. Mit dem einen kann ich ohne
Probleme meine Daten anlernen. Bei dem anderen funktioniert das nicht
Der einzige Unterschied dabei ist, dass es bei dem zweiten Netz statt 2 Ausgängen 3 Ausgänge sind.
Ich habe es jetzt auch mit addpath() probiert und test_BNT ausgeführt. Aber es kommen immer noch die selben Fehlermeldungen, wie gesagt. Bei dem ersten Netz geht es einwandfrei.
Viele Grüße,
Hans
Hans09
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.08.2009, 10:04
Titel:
Hi,
hier noch der Code des Netzes.
Ich hab jetzt debugged und er fliegt immer beim fünften Knoten in der Funktion lern_params.m Und es kommt die obengenannte Fehlermeldung.
Der Code hierzu:
Code:
% Start Code
N_besch = 9;
dag_besch = false(N_besch,N_besch);
A = 1; T = 2; B = 3;U = 4; F = 5; O = 6; L = 7; R = 8;
E = 9;
Die Daten schreibe ich in eine Matrix und lasse sie dann anlernen mit learn_params.
Ich denke, dass es nur ein kleiner Fehler ist, aber ich seh ihn einfach nicht. Und irgendwie habe ich den Fehler jetzt auch im anderen Netz ... hat hierzu jemand eine Idee? Vielen Dank für eure Hilfe.
Viele Grüße,
Hans
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.