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

Who Funktion verneinen

 

Zuendi90
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 14.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2018, 10:54     Titel: Who Funktion verneinen
  Antworten mit Zitat      
Hallo miteinander,

ich habe eine Code aus einem früheren Thread welchen ich abändern möchte. Jedoch komme ich nicht zum gewünschten Ergebnis. Bin Matlab Newie.

Code:
names = who('*_1FUL');
       for i=1:length(names)
        eval([names{i},'_1GK = eval(names{i})']);
        clear(names{i});
       end
      clear i names;


Hierbei ändert es die Namen der Vektoren, welche ich genau NICHT abgeändert haben möchte. Ich möchte also alle Vekoren die nicht die Endung "_1FUL" haben abändern in die Endung "_1GK". Kann mir jemand helfen diese wohl einfache Aufgabe zu meistern. Habe es mit NOT und ~= versucht. Bisher vergeblich Sad

Vielen Dank!!!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.07.2018, 11:23     Titel:
  Antworten mit Zitat      
Hallo,

Code:
names = setdiff(who, who('*_1FUL'))


Ich würde so ein Gefrickel mit Namensänderungen aber soweit irgendwie möglich vermeiden. Das verursacht in aller Regel mehr Probleme als es löst.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Zuendi90
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 14.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2018, 11:39     Titel:
  Antworten mit Zitat      
Vielen Dank Harald.

Ich kenn mich nur leider nicht mit MDF4 Import in Matlab aus, weshalb ich mir meine Signale über CANape ziehe und teilweise umbenenne. Für meine Anwendung im Augenblick noch überschaubar. Hast du mir einen Vorschlag bezüglich des Imports von .mdf4 - Dateien? Wollte es mir in naher Zukunft aneignen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.07.2018, 11:40     Titel:
  Antworten mit Zitat      
Hallo,

ich kenne mich mit MDF4 nicht aus. Da kann ich auch nur auf die File-Exchange - Einträge verweisen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.07.2018, 13:26     Titel: Re: Who Funktion verneinen
  Antworten mit Zitat      
Hallo Zuendi90,

Wie Harald schon meinte: Mit |eval| und |clear| bohrst Du Dir ein Loch ins Knie. Das ist für die Effizienz des Codes ein massiver Nachteil, den Matlab's JIT kann dann nicht mehr ordentlich optimieren. Das kann die Laufzeit um den Faktor 100 vergrößern.

Es ist immer deutlich sinnvoller und ordentlicher, die Inhalte von Files in einem Struct zu spreichern. Dann kann man ganz einfach und flüssig die Fieldnames bearbeiten.

Du findest hunderte Threads in diesem Forum, in denen von |eval| massiv abgeraten wird. In jedem einzelnen Fall gab es eine weit aus bessere Lösung als per |eval|.

Gruß, Jan
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.