|
|
Stringfunktion mit zwei Parametern |
|
matlabnoob40 |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 26.02.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2018, 15:32
Titel: Stringfunktion mit zwei Parametern
|
|
Hallo,
ich muss folgende Aufgabe bearbeiten: Schreibe eine Matlab Funktion, die zählt wie oft ein als erster Parameter übergebenes Zeichen c in einer als zweitem Parameter übergebenen Zeichenkette s enthalten ist.
Mein Ansatz:
function anzahl = zaehle (c,s)
anzahl=0
for i=1:length(c);
if x(c) = x(s)
anzahl=anzahl+1
end
end
end
Ich wäre dankbar wenn jemand mir helfen könnte
Zuletzt bearbeitet von matlabnoob40 am 26.02.2018, 16:33, insgesamt einmal bearbeitet
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.02.2018, 15:37
Titel:
|
|
Hallo,
und was funktioniert an deinem Ansatz nicht wie gewünscht?
Ich sehe zwei Probleme: du verwendest i nicht in der Schleife, und Testen auf Gleichheit ist ==.
Ich würde bei der Abfrage eher denken
... und length sollte sich doch auch eher auf s beziehen?
Grüße,
Harald
|
|
|
matlabnoob40 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 26.02.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2018, 15:42
Titel:
|
|
Guten Tag Harald,
vielen Dank für deine Antwort!
Irgendwie läuft meine Schleife nicht fehlerfrei, es erscheint eine Fehlmeldung.
Ich habe die Schleife jetzt mit deinen Tipps modifiziert, allerdings hakt es immernoch:
function anzahl = zaehle (c,s)
anzahl=0
for i=1:length(c);
if s(i) == c
anzahl=anzahl+1
end
end
end
|
|
|
matlabnoob40 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 26.02.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2018, 15:43
Titel:
|
|
Sobald ich Zeichen und Zeichenkette als Parameter eingebe und die Funktion laufen lasse, erhalte ich kein Ergebnis.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.02.2018, 15:55
Titel:
|
|
Hallo,
wie gesagt:
Zitat: |
length sollte sich doch auch eher auf s beziehen? |
Wenn du das anpasst und dann noch an den richtigen Stellen (im Editor orange unterlegt) Strichpunkte setzt, kommt z.B.
Grüße,
Harald
|
|
|
matlabnoob40 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 26.02.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2018, 16:08
Titel:
|
|
Vielen Dank Harald, hat geklappt! Eine Frage hätte ich noch.
Und zwar habe ich einer Variablen eine Zeichenkette zugeordnet (neues Skript).
z.B.: u = Heute ist Montag
Ich würde nun gerne die eben definierte Funktion laden und laufen lassen.
u='Heute ist Montag'
zaehle('e', u);
Was mache ich hierbei falsch?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.02.2018, 16:14
Titel:
|
|
Hallo,
den Strichpunkt weglassen und / oder das Ergebnis in eine Variable schreiben.
Grüße,
Harald
|
|
|
matlabnoob40 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 26.02.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2018, 16:21
Titel:
|
|
Ich bedanke mich ganz herzlich bei dir Harald!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|