Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

MATLAB und Mathematik kompetent einsetzen

Studierende:
weitere Angebote

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Alle ersten Buchstaben der Wörter eines Satzes ausgeben

 

Number5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2013, 15:43     Titel: Alle ersten Buchstaben der Wörter eines Satzes ausgeben
  Antworten mit Zitat      
Hey Leute.
Wir hatte 4 stunden Matlab im Studium und haben nun folgende Aufgabe:
Beim ausführen des Skriptums soll eine Eingabeaufforderung eines Satzes erscheinen. nach dem der satz eingegeben wurde soll eine Tabelle erstellt werden die jedes wort einzeln in eine zelle schreibt und darunter in je eine zelle die anzahl der Buchstaben als zahl. soweit habe funktioniert schon alles.
nun soll aber noch am ende ein wort stehen, dass aus allen Anfangsbuchstaben des eingegebenen satzes besteht. bsp: "Ich verstehe es nicht" --> "Iven"
da hänge ich und komme nicht weiter, dazu kommt noch dass der Lektor meinte das ganze passt in 4-6 Zeilen.. war schon bei eineinhalb seiten Wink
vlt könnt ihr ja helfe,
lg


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 18.12.2013, 16:10     Titel:
  Antworten mit Zitat      
Hallo

wenn du die Wörter Einzeln hast, in vermute in einer Cell,
dann über einer for Schleife durch Wörter gehen und das erste Zeichen nehmen.

Zusammensetzen funktioniert über Eckigen Klammern, [], oder Funktion CAT, oder hier auch SPRINTF möglich

ohne Schleife muss man mühselig jedes Wortteil angeben, also muss man jedesmal anpassen, wenn der Satz sich ändert :
Code:

satz        = 'Ich verstehe es nicht'
woerter   = regexp(satz, '(\s+)?','split')

neuesWort = [woerter{1}(1), woerter{2}(1), woerter{3}(1),woerter{4}(1)]



mit Schleife geht es einfacher,
Code:

satz        = 'Ich verstehe es nicht'
woerter   = regexp(satz, '(\s+)?','split')

% wichtig vorinitialisieren:
neuesWort = '';
for k=1:length(woerter)
  % dann zusammensetzen an das Wort die Zeichen aus der Wörter
  neuesWort = [neuesWort , woerter{k}(1)]
end



hier noch mal mit sprintf:
Code:

satz        = 'Ich verstehe es nicht'
woerter   = regexp(satz, '(\s+)?','split')
neuesWort = '';
for k=1:length(woerter)
 neuesWort = sprintf('%s%s',neuesWort ,woerter{k}(1))
end
 



PS: Bitte keine Doppelpostings und kein Hijacking von fremden Beiträgen

Zuletzt bearbeitet von denny am 18.12.2013, 17:14, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
number 5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2013, 16:52     Titel:
  Antworten mit Zitat      
Ich habe es gerade mit den Codes versucht und wenn ich den String vorher definiere funktioniert es. Problem ist aber, dass wir lt. Aufgabenstellung einen Satz selber eingeben müssten via prompt.

D.h in der Variable steht dann kein wirklicher String weil die beiden ' fehlen. Er zeigt es dann als 1x1 Matrize an.

Gibt's evtl eine Möglichkeit, dass man zwei Variablen mit dem Inhalt ' definiert und davor sowie dahinter an den Inhalt der Variable anfügt?

lg & sry 4 doppelpost
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 18.12.2013, 17:13     Titel:
  Antworten mit Zitat      
number 5 hat Folgendes geschrieben:
Ich habe es gerade mit den Codes versucht und wenn ich den String vorher definiere funktioniert es. Problem ist aber, dass wir lt. Aufgabenstellung einen Satz selber eingeben müssten via prompt.
lg & sry 4 doppelpost


Du hast doch oben geschrieben, dass ihr das mit Eingabe und Tabelle bereits gelöst habt. Also wo ist dann das Problem, das anzupassen. Ihr musst halt die satz-Variable durch eure ersetzen.


Zitat:


D.h in der Variable steht dann kein wirklicher String weil die beiden ' fehlen. Er zeigt es dann als 1x1 Matrize an.

Gibt's evtl eine Möglichkeit, dass man zwei Variablen mit dem Inhalt ' definiert und davor sowie dahinter an den Inhalt der Variable anfügt



Das verstehe ich nicht, bitte ein Beispiel posten oder den Code oder den Inhalt deiner Variablen. Meine SATZ-Variable, durch deine Eingabe-Variable ersetzen.


PS: ich hatte einen Bug im zweiten Beispiel
Private Nachricht senden Benutzer-Profile anzeigen
 
number5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2013, 20:42     Titel:
  Antworten mit Zitat      
man hat uns aus dem EDV-raum geschmissen^^
zuhause hab ich das Programm leider nicht. am freitag bin ich nochmal auf da uni ,da schau ich mir das nochmal an, vielen dank auf jedenfall!!
 
jürgenwürgen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2017, 16:24     Titel: Gute frage
  Antworten mit Zitat      
Hast du mittlerweihle schon deinen Master?
 
HeyHilfePls

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2021, 20:28     Titel: Kann man das ganze auch umgekehrt machen?
  Antworten mit Zitat      
Hallo Zusammen,

ich suche nach einer Möglichkeit einen Satz zu entschlüsseln der zusammengefasst wurde. also das die ersten Buchstaben der Wörter zusammen ein Wort ergeben. Ist das möglich so etwas zu entschlüsseln?

Danke schon mal

Tobi
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 23.418
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.09.2021, 21:36     Titel:
  Antworten mit Zitat      
Hallo,

ich bezweifle es. "Iven" könnte ebenso gut "Ingrid verhandelt einfach nett" oder "Ines verhaut Ernst noch" heißen.

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
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2021 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.