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

Embedded Matlab Function

 

konsum
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2010, 20:31     Titel: Embedded Matlab Function
  Antworten mit Zitat      
Hallo Zusammen,

In Simulink lese ich als input eine 5*5 Matrix in einen Embedded-Matlab-Function ein. Als Ausgang möchte kontinuierlich die Werte (1,1) der Matrix dann (1,2) bis (5,5) ausgeben lassen. Jetzt habe ich folgende Funktion geschrieben:


Habe jedoch folgendes Problem: Am Ausgang output erhalte ich ständig nur den (5,5) Wert der Matrix.

Hat jemand einen Tip wie ich die kontinuierlich ausgeben lassen kann.
Wäre für jeden Tip dankbar.
Code:
function output = fcn(in)

persistent out;
if isempty(out)
    out =0;
end


for z = 1:5
    for s = 1:5
        out = in(z,s);
    end
    s = 1;
end
output = out
Private Nachricht senden Benutzer-Profile anzeigen


Baernhard
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 25.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2010, 08:06     Titel:
  Antworten mit Zitat      
Vllt sollte die Schleife so aussehen? bin nicht sicher, was du da genau machen willst ...
Code:

for z = 1:5
    for s = 1:5
        out(z,s) = in(z,s);
        a = out(z,s);
        disp(a);
    end
end
 


Gruß Jan

edit by denny: Bitte Codeumgebung verwenden.Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
konsum
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2010, 12:23     Titel:
  Antworten mit Zitat      
Hi Jan,
Danke für deinen Tipp. Habe es auf diese Weise auch schon probiert. Es funkt. jedoch nur in m-file. In Simulink mittels embedded Function wird folgende Fehlermeldung ausgegeben:

Embedded MATLAB Interface Error: Simulation stopped due to out of bounds error.

Mein Ziel ist es, In Simulink jeden Wert der Matrix einzeln ausgeben zulassen. Jedoch ohne die Werte in einen Puffer zu schreiben.

Besten Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
konsum
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2010, 16:45     Titel:
  Antworten mit Zitat      
Hallo Zusammen,

out liefert zwar das richtige Ergebnis, das Problem ist jedoch, dass ich den Ausgang (output) nicht in die Schleife einbinden kann.

Code:

function output   = fcn(in)


persistent out;
if isempty(out)
    out = 0;
end


for z = 1:5
    for s = 1:5
        out = in(z,s);
    end
end

output = out;


Wäre für jede Hilfe Dankbar.

test.mdl
 Beschreibung:

Download
 Dateiname:  test.mdl
 Dateigröße:  29.06 KB
 Heruntergeladen:  586 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
konsum
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2010, 17:39     Titel:
  Antworten mit Zitat      
Hat keiner einen Tipp wie ich es anders lösen kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
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.