THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Matlab, Mathematica, Octave, EngLab κλπ => Topic started by: madleine on September 13, 2011, 09:47:03 am



Title: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 09:47:03 am
Καλημέρα! Πώς μπορώ να δημιουργήσω μια συνάρτηση που θα αποφασίζει αν μια λέξη περιέχει είτε ως 5 γράμματα είτε 5 και περισσότερα? Το input δηλαδή θέλω να είναι λέξη κ το output να μου λέει τον αριθμό των γραμμάτων της! (πρώτη φορά ασχολούμαι με matlab :P)


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: fugiFOX on September 13, 2011, 10:15:58 am
σε τι μορφή εισάγεται η λέξη σου;


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 10:20:43 am
κανονικά με γράμματα, πχ να βάζω hello κ να μου βγάζει ότι έχει 5 ή περισσότερα γράμματα...


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: fugiFOX on September 13, 2011, 10:46:51 am
ναι αυτό ρωτάω.
Πώς το βάζεις το hello.
από το πληκτρολόγιο, από κάποιο αρχείο;


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 10:50:18 am
a sorry, από το πληκτρολόγιο  :)


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: fugiFOX on September 13, 2011, 10:53:18 am
α τοτε τα πράγματα είναι πολύ εύκολα
str = 'hello';
length(str)

Δες και εδώ
http://www.mathworks.com/help/techdoc/ref/strings.html


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 11:00:28 am
χμ...δε θέλω ακριβώς αυτό  :(

πρέπει να το έχω σε συνάρτηση στην οποία θα καθορίσω πχ με if/elseif ότι αν η λέξη έχει κάτω από 5 γράμματα θα μου βγάζει μήνυμα 'less than 5 letters' και αν έχει 5 ή περισσότερα θα βγάζει '5 or more letters'...


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 11:01:53 am
αν κ τώρα που το σκέφτομαι νομίζω ότι αν το συνδυάσω με την πληροφορία που μου έδωσες, κάτι μπορεί να βγει...


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 11:26:03 am
function [out] = numberofletters(x)

if length(x) > 5
         out = '5 or more letters'

elseif length(x) < 5
          out = 'less than 5 letters'

else
         out = 'wrong input'

end;

Θα δούλευε αυτό? (δεν έχω το πρόγραμμα εδώ για να το δοκιμάσω...) Και επίσης δεν ξέρω πώς να συμπεριλάβω και το ίσον στο πρώτο if, να είναι δηλαδή "if μεγαλύτερο ή ίσο"


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: fugiFOX on September 13, 2011, 11:30:25 am
το τελευταίο else δεν εχει νόημα.
Εάν θες να κάνεις έλεγχο δεδομένων δες συναρτήσεις τύπου is~ p.x. isnum, isstring ktl.

check argument here

if length(x) >= 5
         out = '5 or more letters'

else
          out = 'less than 5 letters'

end


Title: Re: συνάρτηση για αριθμό γραμμάτων των λέξεων (matlab)
Post by: madleine on September 13, 2011, 11:33:55 am
οκ ευχαριστώ!  :)