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

elemente erweitern im einem cell-array

 

Matze13

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2012, 12:02     Titel: elemente erweitern im einem cell-array
  Antworten mit Zitat      
Hallo,
gibt es die Möglichkeit Elemente aus einem Cell-Array zu erweitern bzw. die Einträge der Elemente umzusortieren?

Ich habe folgendes:
Code:
cell_orginal = {'MHz10';'MHz50';'MHz100';'MHz150';'MHz200';'MHz250';'MHz290'};

Den möchte ich so umschreiben das er am Ende die Form
Code:
cell_fertig = {'10 MHz';'50 MHz';'100 MHz';'150 MHz';'200 MHz';'250 MHz';'290 MHz'};
hat.

Mein Ansatz ist erstmal der:
Code:
% hiermit lösche ich die ersten drei Buchstaben, bzw. schreibe mir nur alle ab Position vier heraus
cell_2 = cellfun(@(x) x(4:end), cell, 'UniformOutput', false);
Aber ich finde nichts, wie man jetzt zu den einzelenen Elementen noch ' MHz' hinzufügen kann.
Gibt es da eine Lösung für?

Gruß, Matze


Harald
Forum-Meister

Forum-Meister


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

Code:
c2 = cellfun(@(x) [x(4:end), ' MHz'], c, 'UniformOutput', false);

cell solltest du als Variablennamen vermeiden, da du damit den Befehl cell überlagerst.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2012, 12:12     Titel:
  Antworten mit Zitat      
In meinem Programm heißt er auch anders. Trotzdem Danke für den Hinweis, werde ich mir merken.
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2012, 18:52     Titel:
  Antworten mit Zitat      
Hallo Matze,

oder über reguläre Ausdrücke:
Code:
cell_fertig = regexprep(cell_original,'(\D+)(\d+)','$2 $1');


Grüße
Sirius
Private Nachricht senden Benutzer-Profile anzeigen
 
Matze13

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2012, 16:11     Titel:
  Antworten mit Zitat      
Danke, das funktioniert wunderbar!
Kannst du mir vielleicht noch sagen, wo man das nach lesen kann, was genau (\D+) und (\d+) bedeutet. Vielleicht gibt es da irgendwo eine Tabelle in der auch noch andere Kürzel drin stehen. In der matlab-Hilfe habe ich nichts gefunden oder an der falschen Stelle gesucht.

Vielen Dank nochmal!
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2012, 18:20     Titel:
  Antworten mit Zitat      
Hallo Matze,

in der Matlab Hilfe (http://www.mathworks.de/help/techdoc/matlab_prog/f0-42649.html) sind reguläre Ausdrücke ausführlich erklärt.

Grüße
Sirius
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.