2016-02-21 1 views
0

Je voudrais savoir comment passer un graphique de matlab pour être affiché en tant que webfigure sur une page de servlet. Notez que j'utilise le MPS. Par conséquent, je ne suis pas en train d'empaqueter le code matlab en java mais en utilisant simplement un proxy client pour la fonction matlab.en utilisant matlab production server (MPS) et webfigure

Ma fonction par exemple Matlab:

function varargout = mymagicplot(in,displayPlot) 
    x = magic(in); 
    varargout{1} = x; 
    if (strcmp(displayPlot, 'Plot')) 
     varargout{2} = {plot(x)}; 
end 

Du côté de servlet:

interface MatlabMagic { 
    public Object[] mymagicplot(int num_outargs, int size, String plotOption) throws IOException, MATLABException; 
} 

La question est comment coder l'affichage de la parcelle en webfigure sur la page de servlet?

Répondre

0

J'ai essayé une solution de contournement en divisant mon code matlab en deux fonctions.

La première fonction est utilisée par le proxy client.

function m = mymagic(in) 
    m = magic(in); 
end 

La deuxième fonction est empaquetée dans les classes java par le compilateur de bibliothèque.

function returnfigure = mygetwebfiguremagicplot(in) 
    h = figure; 
    set(h, 'Visible', 'off'); 
    plot(in); 
    returnfigure = webfigure(h); 
    close(h); 
end 

De cette façon, je peux accéder à la fonction .ctf mymagic dans le MPS pour retourner les résultats au servlet et tracer comme un webfigure en utilisant les classes Java créées à partir du second code fonction Matlab.

Ceci est juste une solution réalisable possible que je peux penser.