Déclaration d'une matrice avec une grande taille 65000x65000
brahim1988
Messages postés
170
Date d'inscription
Statut
Membre
Dernière intervention
-
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
bonjour tous le monde
j'arrive pas a déclarer une matrice de 65000x65000!! y'a t-il une idée une idée pour cela?
merci d'avance
j'arrive pas a déclarer une matrice de 65000x65000!! y'a t-il une idée une idée pour cela?
merci d'avance
A voir également:
- Déclaration d'une matrice avec une grande taille 65000x65000
- Déclaration - Guide
- En plus des revenus, il ne faut surtout pas oublier de faire cette déclaration en ligne aux impôts - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment reduire la taille d'une photo - Guide
- Afficher taille dossier windows - Guide
2 réponses
'lut, en considérant que le contenu de ta matrice c'est des entiers de 32 bits ou nombres flottants précision simple, ça nous fait
Bonne chance! Déjà faut avoir la RAM pour, puis faut un PC 64 bits.
Et quoi qu'il en soit je pense que ça sera très difficile d'allouer tout ça...
Je ne sais pas pourquoi tu veux une matrice si grande, mais je te conseille vivement de mettre cette matrice en morceaux, quelle que soit l'utilisation. Si tu programmes pour un système UNIX (Linux, MacOS, ...) tu peux tenter
from human import idiocy
del idiocy
65000*65000*4...
= 16900000000 octets = 16.9 Go
Bonne chance! Déjà faut avoir la RAM pour, puis faut un PC 64 bits.
Et quoi qu'il en soit je pense que ça sera très difficile d'allouer tout ça...
Je ne sais pas pourquoi tu veux une matrice si grande, mais je te conseille vivement de mettre cette matrice en morceaux, quelle que soit l'utilisation. Si tu programmes pour un système UNIX (Linux, MacOS, ...) tu peux tenter
mmapqui te permettra d'allouer tout ça. Sur Windows, en revanche, je sais pas trop, regarde sur le MSDN.
from human import idiocy
del idiocy
bonjour
je l' ai besoin pour déclarer une matrice de distance d'une image (256x256)pxl
donc 2^16 pixels X 2^16 pixels!!
je l' ai besoin pour déclarer une matrice de distance d'une image (256x256)pxl
donc 2^16 pixels X 2^16 pixels!!
Je suis qu'en 1ere (bientot Terminale), mais d'apès ce que j'ai pu lire, les matrices de distance c'est pour avoir la distance entre un ensemble de points... Et ces points, tu les as où? C'est chaque pixel de l'image?
oui les distances entre chaques pixels avec tous les autres, par exp:
une image(3x3)pixel c-a-d on a 9 pixels et on va faire la matrice de distance comme suit:
p(0,0)=0, p(0,1)=22,......................................p(0,9)=100
p(1.0)=45 p(1,1)=0.........................................p(1,9)=99
.
.
.
.p(9,0)=100 p(9,1)=99................................ ..p(9,9)=0
une image(3x3)pixel c-a-d on a 9 pixels et on va faire la matrice de distance comme suit:
p(0,0)=0, p(0,1)=22,......................................p(0,9)=100
p(1.0)=45 p(1,1)=0.........................................p(1,9)=99
.
.
.
.p(9,0)=100 p(9,1)=99................................ ..p(9,9)=0
Donc t'as 2^16px
Soit 65536px
Donc la matrice fait 65536*65536.
t'as intérêt à bien choisir ton encodage....
char c'est trop court (distance max de 255)
et int c'est trop gros (32bits yahoo)
l'idéal c'est de la coder sur 8 bits.
4Go nécessaire pour éxecuter le truc.
Maintenant si t'es futé et surtout que t'as pas beacoup de ram,tu peux diviser la consommation à mort.
Génère une string de 65536 de long avec des shortint dedans.
65536*4 = 256kio
tu sort ta ligne dans un fichier
Puis tu vas te rendre compte que plus ça va, moins tu vas avoir besoin de calculer.
pour le point 1, tu calcule de 2 à 65536
pour le point 2, tu calcule de 3 à 65536
pour le point 3, tu calcule de 4 à 65536
De ce fait, tu mange de moins en moins de mémoire.
Au final ton tableau ne mangera que a moitié de la mémoire qu'il devrait manger.
J'ai perdu qui?
Soit 65536px
Donc la matrice fait 65536*65536.
t'as intérêt à bien choisir ton encodage....
char c'est trop court (distance max de 255)
et int c'est trop gros (32bits yahoo)
l'idéal c'est de la coder sur 8 bits.
4Go nécessaire pour éxecuter le truc.
Maintenant si t'es futé et surtout que t'as pas beacoup de ram,tu peux diviser la consommation à mort.
Génère une string de 65536 de long avec des shortint dedans.
65536*4 = 256kio
tu sort ta ligne dans un fichier
Puis tu vas te rendre compte que plus ça va, moins tu vas avoir besoin de calculer.
pour le point 1, tu calcule de 2 à 65536
pour le point 2, tu calcule de 3 à 65536
pour le point 3, tu calcule de 4 à 65536
De ce fait, tu mange de moins en moins de mémoire.
Au final ton tableau ne mangera que a moitié de la mémoire qu'il devrait manger.
J'ai perdu qui?