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

Variable aus einem Skript mit einem anderen Skript veränder

 

Matlabinator
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 15:27     Titel: Variable aus einem Skript mit einem anderen Skript veränder
  Antworten mit Zitat      
Hallo,

vielleicht ist das Problem trivial, aber ich komme einfach auf keine Lösung.

Ich habe ein Skript mit
Code:
a=1
b=2
c=3

namens beispiel.m

Jetzt möchte ich aus einem anderen Skript heraus b=2 in b=4 in beispiel.m ändern.

Wie macht man das am besten?
Private Nachricht senden Benutzer-Profile anzeigen


Peter_G

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 16:04     Titel:
  Antworten mit Zitat      
Ich bin zwar selber noch absoluter Newbie, aber ich denke es sollte so klappen:

Code:

load 'beispiel.m'
b=4
save 'beispiel.m'  %keine Ahnung ob das passt, aber du musst es halt speichern
 
 
Matlabinator
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 16:09     Titel:
  Antworten mit Zitat      
Danke für deine Antwort. So habe ich es auch schon probiert, aber ein .m file kann man nicht so leicht laden und speichern.


Code:
??? Error using ==> beispiel
Too many output arguments.
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 16:19     Titel:
  Antworten mit Zitat      
mach eine Funktion aus Deinem Script und über gebe die Daten als Parameter
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabinator
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 17:00     Titel:
  Antworten mit Zitat      
Nein, das geht leider nicht. Das Skript muss ein Skript bleiben.
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 17:35     Titel:
  Antworten mit Zitat      
Wo ist der Unterschied von
Code:

a = 1;
b = 2;
c = a * b;
 


und

Code:

function beispiel(varargin)
    a = 1;
    b = 2;
    if nargin > 0
       a = varargin{1};
    end
    if nargin > 1
       b = varargin{2};
    end

    c = a*b;
 


Der einzige Unterschied besteht darin, dass die Variablen innerhalb eines lokalen Scopes liegen und nicht im Workspace. Benötigt man die Variablen im Workspace kann man sie mit Hilfe von assignin dort ablegen. In beiden Fällen ist der Aufruf identisch, wobei der zweite es eben ermöglicht zusätzlich Werte für die Variablen zu übergeben.

Da Du hier in keiner Weise dar legst, warum das nicht geht sollte, würde ich sagen, dass Deine Aussage so falsch ist, denn ich kann ohne Probleme ein Script in eine Funktion umwandeln (vice versa) ohne dass sich die Funktionalität verändert.

Zuletzt bearbeitet von flashpixx am 09.08.2012, 18:15, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabinator
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 18:05     Titel:
  Antworten mit Zitat      
Achso, assignin kannte ich nicht. Vielen Dank flashpixx, das hat mir weiter geholfen.
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 - 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.