2014-08-27 5 views
0
255 255 255 255 255 255 0 0 0 0 255 255 255 
255 255 255 255 255 0 255 255 0 0 0 255 255 
255 255 255 255 0 255 255 255 0 0 0 0 255 
255 255 255 0 255 255 255 255 0 0 0 0 0 
255 255 255 0 0 0 0 0 0 0 0 0 0 
255 255 255 0 0 0 0 0 0 255 255 255 0 
255 255 255 255 0 0 0 0 0 255 255 0 255 
255 255 255 255 0 0 0 0 0 255 0 0 255 
255 255 255 255 255 255 0 0 0 0 255 255255 

Comment puis-je trouver en utilisant des fonctions Scilab, le zéro à la ligne 5 et de la colonne 9 (5 * 9)Scilab - programme pour trouver la position de zéro

Répondre

0

Dire que votre matrice est enregistré dans « données. dat » vous pouvez d'abord lire la matrice à partir du fichier et de l'enregistrer dans une variable (ici « M ») en utilisant:

M = fscanfMat('/<add filepath here>/data.dat'); 

l'étape suivante consiste à trouver les éléments de matrice égale à 0. Cela peut être fait en utilisant :

[row, column] = find(M == 0); 

Où "ligne" est un vecteur (1-par-n) contenant les indices de ligne des éléments égaux à zéro et "colonne" contient les indices de colonne des éléments trouvés, respectivement.

Si vous êtes intéressé par combien de zéros on trouve que vous pouvez utiliser

n = size(row, 'c') 

qui vous indique qu'il y a 53 zéros trouvés.

+0

Merci beaucoup pour votre réponse. Disons que je veux trouver exactement l'emplacement du zéro à la ligne 5 et à la colonne 9. Ce que je veux dire, c'est que scilab me dit que ce zéro est à la ligne 5 et à la colonne 9 sans utiliser l'indexation linéaire. C'est comme trouver le zéro dans le centre. Y a-t-il une commande pour cela? – gluthra

+0

@gluthra: En fait, je suis un débutant dans l'utilisation de Scilab, donc je ne sais pas si Scilab fournit une telle fonction. Ce que vous pouvez faire est de calculer l'index de la colonne du milieu et de la rangée du milieu. Après cela, vous pouvez accéder à l'élément central de votre matrice et vérifier si cet élément est égal à zéro en utilisant une instruction if. Si ma suggestion résout votre problème et que vous avez besoin d'un algorithme pour cela, n'hésitez pas à commenter mon commentaire. Btw: Votre question semble être très similaire à [this] (http://stackoverflow.com/questions/25525558/scilab-program-to-find-the-position-of-the-zero-in-the-centre) – albert