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

Assignin Problem Aufruf in einer Funktion

 

patme

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.07.2012, 22:28     Titel: Assignin Problem Aufruf in einer Funktion
  Antworten mit Zitat      
Guten Abend !

Ich habe eine ziemlich kompliziertes Programm mal folgendermaßen vereinfacht(zuerst ein aufrufendes m-file und dann die passende Funktion):

Code:


assi=5;

testass(assi)
 


Code:
function testass(assi)

a=5;

assignin ('caller','fgt', a); % statt caller auch schon base versucht!

who
 


Das Programm ist sicher sinnfrei, die Variable assi brauche ich nicht.
Nun zum Problem:
Bei der who-Ausgabe des Workspaces wird mir die Variable fgt nicht angezeigt. Die brauche ich aber um in der Funktion weiterzuarbeiten. Ich brauche auch den assignin-befehl, weil die Variablen-Namen sich immer wieder verändern und ich sie teilweise aus dem Dateinamen auslese.

Ich hoffe ich habe mich verständlich ausgedrückt und ihr könnt mir helfen

Vielen Dank schon mal

Patme


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.07.2012, 19:20     Titel:
  Antworten mit Zitat      
Hallo,

wie soll die Variable in der Funktion angezeigt werden, wenn sie doch in einem anderen Workspace angelegt wird?

Verwende doch innerhalb der Funktion direkt a?

assignin, evalin und ähnliches sollte grundsätzlich vermieden werden. Ich würde auch behaupten, dass das wenn nicht immer, so fast immer möglich ist - siehe auch mein Beitrag hier:
http://www.gomatlab.de/eval-und-assignin-t21600.html
(21.12.2011, 14:07)

Variablennamen sollten jedenfalls nicht von Dateinamen abhängen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
patme

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2012, 23:01     Titel:
  Antworten mit Zitat      
Hallo Harald,
vielen Dank für deine Antwort. Sehr interessant zu lesen, die Hinweise zu assignin.
.
.
.
ca.10min zeit vergangen
.
.
.
Ich wollte dir gerade mein Problem schildern, wie sehr ich assignin doch benötige, und mein ganzes Programm näher erklären, doch dabei habe ich gemerkt, dass ich das ganze wirklich OHNE assignin schreiben kann und dadurch sogar noch ein weiteres Problem gelöst habe.

vielen dank also für deine stichhaltige, kurze, anregende Antwort.

Ich habe gerade so Lust drauf, vielleicht mach das jetzt schnell fertig(in 5-15 Stunden)Smile
Gruß
Patrick
 
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 - 2025 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.