THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Matlab, Mathematica, Octave, EngLab κλπ => Topic started by: Aurelius on January 03, 2007, 01:31:07 am



Title: Cell arrays και συγκρισεις
Post by: Aurelius on January 03, 2007, 01:31:07 am
Οταν χρησιμοποιω cell array, π.χ.

α(1)={'ααα'}

μετα αν παω να κανω μια συγκριση οπως

if a(1)=={'aaa'}

μου λεει οτι δεν επιτρεπει αυτου του ειδους συγκρισεις. Τι να κανω; Υπαρχει καποια εναλλακτικη;


Title: Re: Cell arrays και συγκρισεις
Post by: Aurelius on January 03, 2007, 02:34:38 am
Το βρηκα. Χρησιμοποιεις την συναρτηση char(cell_array) και το περιεχομενο του μετατρεπεται σε κειμενο.


Title: Re: Cell arrays και συγκρισεις
Post by: JAs0n-X on January 03, 2007, 16:55:04 pm
παντως εγω βλεπω και μερικα συντακτικα ΝΟΜΙΖΩ:

α{1}='aaa';

if a{1}=='aaa'   ...


ετσι δεν δουλευει?


Title: Re: Cell arrays και συγκρισεις
Post by: poumpa on March 05, 2007, 15:33:04 pm
Το λάθος δεν είναι συντακτικό αν κ ο Jason έχει δίκιο κατα βάση.

O τελεστής { i } επιστρέφει μια αναφορά στον πίνακα του cell (μην ξεχνάμε ένα cell είναι ένας πίνακας από πίνακες) στη θέση i.
Η αναφορά αυτή μπορεί να χρησιμοποιηθεί κ σαν rvalue (πες σαν δεξιά του =) και σαν lvalue (πες σαν αριστερά του =)
Αν εκεί έχεις string (πίνακα από char) θα επιστρέψει αναφορά σε string, να έχεις double θα επιστρέψει double κοκ

Ο τελεστής ( i ) επιστρέφει ένα cell που περιέχει ότι υπάρχει στη θέση i. Είναι αρκετά διαφορετικό από την αναφορά αφού θα πρέπει να το διαχειριστείς σαν cell κ όχι σαν πίνακα του matlab.