WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Simulink Model exportieren

 

Christian
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.03.08
Wohnort: Dortmund
Version: 2008a
     Beitrag Verfasst am: 26.01.2009, 11:26     Titel: Simulink Model exportieren
  Antworten mit Zitat      
Hallo zusammen,

für die Dokumentation meiner Studienarbeit muss ich einige Simulink Modell in mein Latex-File einbinden. Am liebsten würde ich direkt mit Vektorgrafiken, also .eps arbeiten.
Gibt es also eine Möglichkeit, ein Simulink ins eps Format zu exportieren?
Oder kennt jemand eine qualitativ hochwertige Alternative?
Private Nachricht senden Benutzer-Profile anzeigen


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2009, 11:50     Titel:
  Antworten mit Zitat      
ich mache das immer mit dieser Funktion hier...
klappt super!
man kann die Blockbilder dann auch bei Bedarf noch nachbearbeiten mit Corel Draw o.ä.

Code:

function [] = Simulink_Modell_Prints(a,b)
%
% Plot von Simulink Modell nach eps
% eps wird im aktuellen Ordner gespeichert
% Parameter a   Filename als String
% Parameter b   entweder    "p"   Portrait
%               oder        "l"   Landscape
%
filename=[a];
if nargin==2
   if b=='p'
      % Set 'Paper orientation' 'Portrait'
      set_param(filename, 'PaperOrientation','Portrait');
   end;
   if b=='l'
      % Set 'Paper orientation' 'Landscape'
      set_param(filename, 'PaperOrientation','Landscape');
   end;
end;
if nargin==1
   set_param(filename, 'PaperOrientation','Portrait');
end;
eval(['print -deps -s ', filename]);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Christian
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.03.08
Wohnort: Dortmund
Version: 2008a
     Beitrag Verfasst am: 26.01.2009, 18:59     Titel:
  Antworten mit Zitat      
habs ausprobiert. Funktioniert wirklich gut! Vielen Dank.
Noch eine Frage zum eps export von figures.
Standardmäßig kann man die figures ja direkt als eps speichern. Jetzt habe ich im Fileexchange von Matlab ein relativ neues Skript bzw. Funktion gefunden, welche es angeblich noch besser machen soll...
Hat das zufällig schon mal jemand ausprobiert?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2009, 13:08     Titel:
  Antworten mit Zitat      
Funktioniert total super!!!

Danke Smile
 
SP

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2012, 16:50     Titel:
  Antworten mit Zitat      
Ist zwar schon unglaublich lang her, seit dem letzten Beitrag, aber:

DANKE

Grüße
 
knolledge
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 30.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2014, 14:12     Titel:
  Antworten mit Zitat      
Hallo,

das ist genau das was ich suche um für meine Diplomarbeit entsprechend bilder zu bekommen ohne pixel.

allerdings sagt mir Matlab ständig:

??? Input argument "a" is undefined.

Error in ==> Simulink_Modell_Prints at 9
filename=[a];

hab den code in ein m-file eingebunden aber es kommt immer der obengenannte fehler Sad

kann mir jemand helfen?

Danke und Gruß
knolledge
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2014, 15:26     Titel:
  Antworten mit Zitat      
Du musst denn Namen des Simulink-Modells mit angeben. Diese Funktion macht das gleiche nur ohne das unnötige eval:

Code:

function [] = print_mdl(varargin)
% print_mdl()
%
% Syntax:
% print_mdl(Properties)
% print_mdl('Propertyname',PropertyValue,...)
%
% Argumente:
% 'system'            - Name des Simulink-Modells (default = gcs)
% 'path'              - Ordner (default = aktueller Ordner)
% 'format'            - Format (default = 'eps')
% 'tag'               - alle Subsystems mit 'tag' im Namen werden gespeichert.
%                       Falls tag = 'all' werden alle Subsysteme gespeichert.
%
%     Notes:
%     1) System name must be given without extension, e.g. 'MySystem'.
%     2) Output directory must exist
%     3) When output directory is '', current working directory is used
%     4) Model is scanned recursively and goes under masks
%     5) When tag regexp is specified, only those of subsystems
%        which have property 'Tag' set to some non-empty value matching
%        the regular expression are considered.
%     6) Root system is always printed.
%     7) Output filenames are generated in two ways:
%        a) When no regexp is used, it is full pathname of the subsystem
%           within the model, with slashes replaced by underscores.
%        b) With regexp specified, tag values are used as filenames.
%     Cool After the printing, all subsystems are closed, root remains open.
%
%     Written by
%     Tomas Hajek
%     tomas.hajek@st.com
%     2006
%     Changed
%     Thomas Lehmann  
%     2012  

default.system = gcs;
default.path = cd;
default.format = 'eps';
default.tag = '';

if numel(varargin) == 1         % struct wird übergeben
    options = varargin{1};
else                            % PropertyName PropertyValue pairs
    param = {varargin{1:2:end}};
    value = {varargin{2:2:end}};
    options = cell2struct(value,param,2);
end

options = appendstruct(default,options);

f = ['-d',options.format];



% print the root system
open_system(options.system,'force');
print(f, ['-s' options.system], [options.path,'\',strrep(options.system,'/','_')]);

if nargin < 4
    return;
end


% print the subsystems
if strcmp(options.tag,'all')
    % print all of them, using their names as output filenames
    subsys=find_system(options.system,'RegExp','On','LookUnderMasks','All','BlockType','SubSystem');
    for i=1:length(subsys),
        tag = subsys{i};
        open_system(subsys{i},'force');
       
        name_temp = [options.path,'\',strrep(strrep(tag,'/','_'),' ','')];
        try
            print(f, ['-s' subsys{i}], name_temp);
        catch
            warning('MATLAB:cantprint',['can not print ',name_temp]);
        end
        close_system(subsys{i});
    end
else
    % print only tagged ones, using the Tag values as output filenames
    subsys=find_system(options.system,'RegExp','On','LookUnderMasks','All','BlockType','SubSystem','Tag',options.tag);
    for i=1:length(subsys),
        tag = get_param(subsys{i}, 'Tag');
        open_system(subsys{i},'force');
        print(f, ['-s' subsys{i}], [options.path,'/',tag]);
        close_system(subsys{i});
    end
end

end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2014, 07:56     Titel:
  Antworten mit Zitat      
Ich hatte nicht alle Funktionsabhängigkeiten geprüft. Hier ist jetzt eine geänderte Version:

Code:

function [] = print_mdl(varargin)
% print_mdl()
%
% Syntax:
% print_mdl(Properties)
% print_mdl('Propertyname',PropertyValue,...)
%
% Argumente:
% 'system'            - Name des Simulink-Modells                           (default = gcs)
% 'path'              - Ordner in dem die Grafik gespeichert werden soll    (default = aktueller Ordner)
% 'format'            - Format                                              (default = 'eps')
% 'tag'               - alle Subsystems mit 'tag' im Namen werden gespeichert.
%                       Falls tag = 'all' werden alle Subsysteme gespeichert.
%
% Beispiel:
% print_mdl('system','sldemo_househeat','format','eps');
%
%     Notes:
%     1) System name must be given without extension, e.g. 'MySystem'.
%     2) Output directory must exist
%     3) When output directory is '', current working directory is used
%     4) Model is scanned recursively and goes under masks
%     5) When tag regexp is specified, only those of subsystems
%        which have property 'Tag' set to some non-empty value matching
%        the regular expression are considered.
%     6) Root system is always printed.
%     7) Output filenames are generated in two ways:
%        a) When no regexp is used, it is full pathname of the subsystem
%           within the model, with slashes replaced by underscores.
%        b) With regexp specified, tag values are used as filenames.
%     Cool After the printing, all subsystems are closed, root remains open.
%
%     Written by
%     Tomas Hajek
%     tomas.hajek@st.com
%     2006
%     Changed
%     Thomas Lehmann  
%     2012  

default.system = gcs;
default.path = cd;
default.format = 'eps';
default.tag = '';

if numel(varargin) == 1         % struct wird übergeben
    options = varargin{1};
else                            % PropertyName PropertyValue pairs
    param = {varargin{1:2:end}};
    value = {varargin{2:2:end}};
    options = cell2struct(value,param,2);
end

fn = fieldnames(options);
for l = 1:numel(fn)
    default.(fn{l}) = options.(fn{l});
end
options = default;
f = ['-d',options.format];



% print the root system
open_system(options.system,'force');
print(f, ['-s' options.system], [options.path,'\',strrep(options.system,'/','_')]);

if nargin < 4
    return;
end


% print the subsystems
if strcmp(options.tag,'all')
    % print all of them, using their names as output filenames
    subsys=find_system(options.system,'RegExp','On','LookUnderMasks','All','BlockType','SubSystem');
    for i=1:length(subsys),
        tag = subsys{i};
        open_system(subsys{i},'force');
       
        name_temp = [options.path,'\',strrep(strrep(tag,'/','_'),' ','')];
        try
            print(f, ['-s' subsys{i}], name_temp);
        catch
            warning('MATLAB:cantprint',['can not print ',name_temp]);
        end
        close_system(subsys{i});
    end
else
    % print only tagged ones, using the Tag values as output filenames
    subsys=find_system(options.system,'RegExp','On','LookUnderMasks','All','BlockType','SubSystem','Tag',options.tag);
    for i=1:length(subsys),
        tag = get_param(subsys{i}, 'Tag');
        open_system(subsys{i},'force');
        print(f, ['-s' subsys{i}], [options.path,'/',tag]);
        close_system(subsys{i});
    end
end

end
 


viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Fieta

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2015, 09:41     Titel: Alternativen
  Antworten mit Zitat      
Super Tipp. Danke
Alternativ kann man auch
1. als PDF drucken und bearbeiten, falls Software zur Hand (In Hochschulen ja oft der Fall). PDFs sind auch Vektorgrafiken.

2. Über Edit>Copy to Clipboard lässt sich das Modell auch in der Folge in Visio einfügen, um es weiter zu bearbeiten.

Hoffentlich nützt es jemandem, beste Grüße
Fieta
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.