2013-08-29 5 views
0

J'utilise Matlab2008. Il y a le fichier template_transfer.m et le renommer: fungsiku.m. J'écris ma fonction dans ce fichier et le mets dans mon répertoire de travail. J'ai modifié la fonction de transfert de la purelin. J'ai formé mon NN et j'ai obtenu les sorties. Mais j'ai reçu des messages comme celui-ciMatlab Comment utiliser une fonction de transfert personnalisée dans l'entraînement réseau neuronal

Exception dans le sujet "AWT-EventQue ...." at javax. swing .. à java.awt ...

quel est le problème avec ma fonction de transfert? ici est ma fonction de transfert « fungsiku »

function out1 = fungsiku(in1,in2,in3,in4) 
fn = mfilename; 
boiler_transfer 

function n = name 
    n = 'fungsiku'; 

function r = output_range(fp) 
    r = [-6 +5]; 

function r = active_input_range(fp) 
    r = [-10 +10]; 

function fp = param_defaults 
    fp = struct; 

function names = param_names 
    names = {}; 

function err = param_check(fp) 
    err = ''; 

function a = apply_transfer(n,fp) 
    a = 1.32*n + 0.73; 

function da_dn = derivative(n,a,fp) 
    da_dn = 1.32*ones(size(n)); 

Répondre

0

Je ne sais pas si les choses fonctionnent de la même façon Matlab 2008, mais dans une version plus récente, vous pouvez essayer de configurer votre fonction de transfert pour une couche directement dans les propriétés de l'objet réseau de neurones: net = <network creation code>; net.layers{1}.transferFcn = 'fungsiku'; Ceci devrait définir la fonction de transfert fungsiku pour la première couche.

+0

merci pour votre réponse et je vais l'essayer – Enny

Questions connexes