Stocker des chaînes de caractères de différentes tailles dans un MATLAB tableau?
Je veux être en mesure de stocker une série de chaînes de différentes tailles tels que
userinput=['AJ48 NOT'; 'AH43 MANA'; 'AS33 NEWEF'];
Bien sûr, cela renvoie une erreur comme le nombre de colonnes diffère par ligne. Je suis conscient que tout ce qui est nécessaire pour ce travail est un espace adéquat dans les première et deuxième rangées. Cependant j'ai besoin d'être en mesure de mettre dans un tableau sans forcer l'utilisateur à ajouter ces espaces sur son/sa propre. Est-il une commande qui me permet de faire cela? Si possible, j'aimerais aussi savoir pourquoi ce problème ne se pose pas avec des nombres par exemple
a=[1; 243; 23524];
OriginalL'auteur straits | 2011-06-27
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas faire cela avec la norme Matlab tableaux. Une chaîne est vraiment juste un vecteur de caractères dans Matlab. Et vous ne pouvez pas avoir une matrice avec des lignes de différentes longueurs.
Vous pouvez, cependant, utiliser un matrice de cellules de:
Être conscient qu'il existe de nombreuses situations où des tableaux de cellules ne fonctionnent pas comme des tableaux normaux.
Des tableaux de cellules sont très bien pas de même que des tableaux "normaux". Ils sont plus lents, moins flexible, dans certaines circonstances, et plus souple dans d'autres circonstances.
Bien sûr, l'utilisation optimale des cas de double, struct ou des tableaux de cellules sont différentes, mais les opérations de matrice sont identiques d'accès, de réorganiser, supprimer, ajouter des éléments.
Qui est un très petit sous-ensemble des opérations que Matlab offre! Par exemple, vous ne pouvez pas vraiment saisis à des opérations sur des matrices de cellules. Vous ne pouvez pas faire du calcul sur les matrices de cellules. Vous ne pouvez pas rechercher une cellule de tableau. Vous ne pouvez pas trier un tableau (sauf dans quelques cas particuliers). etc.
Je suis d'accord, vectorisé opérations est le raccourci de la syntaxe que pour le double de tableaux. Les mathématiques n'a guère de sens sur des tableaux de cellules en raison des tableaux de cellules sont utilisés dans 99% des cas pour les chaînes ou la fonction de poignées. La recherche est la même que vectorisé. Le tri des ouvrages où il fait sens, c'est à dire où les objets peuvent être comparés comme des cordes. Pendant de nombreuses années, j'ai pensé à de la cellule et les doubles des tableaux en tant que quelque chose de différent. Personnellement, je l'ai vue comme la réalisation de comprendre que, fondamentalement, tous les tableaux partager les mêmes opérations + ont la syntaxe supplémentaire raccourcis.
OriginalL'auteur Oliver Charlesworth
À la juste réponse à votre dernière partie de votre question, tout simplement parce que les chaînes de caractères peuvent être de longueur variable, mais les nombres (en Matlab) sont de longueur fixe. C'est l'une des principales idées de tableaux pour les laisser s'occupent que de dimensions fixes entités (par exemple en raison de la nécessité de l'efficacité de la), voir plus sur le sujet ici.
OriginalL'auteur eat