Aller au contenu
FF

Topic des Geeks

Messages recommandés

BenBDF est un geek...je comprends maintenant ses 1000 posts par mois... :grin:

je suis pas geek, j'ai seulement un brin de culture technologique :ninja:

Partager ce message


Lien à poster
je suis pas geek, j'ai seulement un brin de culture technologique :ninja:

Votre score est de : 1102

Vous faites partie des Reasonable Geeks

Pas mal... Un bon taux de geekitude coule dans vos veines, mais vous êtes encore trop sociable pour faire un bon geek. Débarrassez-vous des quelques amis qui ont l'outrecuidance de vous tirer hors de chez vous. :-p

et pourtant...le test est sans appel... :grin:

t'inquiètes pas il paraît que c'est fashion d'être guik :ninja:

Partager ce message


Lien à poster

Est-ce que quelqu'un sait, sous Matlab, soustraire un vecteur ligne à toutes les lignes d'une matrice, sans faire de boucle.

J'avais trouvé une solution en feintant avec la fonction "repmat" mais ça me semble plus long qu'avec une boucle.

:ninja:

Partager ce message


Lien à poster
Est-ce que quelqu'un sait, sous Matlab, soustraire un vecteur ligne à toutes les lignes d'une matrice, sans faire de boucle.

J'avais trouvé une solution en feintant avec la fonction "repmat" mais ça me semble plus long qu'avec une boucle.

:ninja:

Faut faire un noeud :unsure: enfin ... si le dernier vecteur ligne le permet évidemment.

Partager ce message


Lien à poster
Est-ce que quelqu'un sait, sous Matlab, soustraire un vecteur ligne à toutes les lignes d'une matrice, sans faire de boucle.

J'avais trouvé une solution en feintant avec la fonction "repmat" mais ça me semble plus long qu'avec une boucle.

:ninja:

tu dois pouvoir le multiplier à une matrice pour obtenir ce que tu veux c'est à dire la matrice composée de n fois le vecteur (enfin peut etre)

perso je code tout mes trucs moi meme sous matlab, j'arrive jamais a trouver la fonction que je cherche...

EDIT : non en fait c'est pas possible...

Partager ce message


Lien à poster

j'ai ma souris infra rouge qui ne marche plus, vous pensez que c'est la pile? :ninja:

Partager ce message


Lien à poster
tu dois pouvoir le multiplier à une matrice pour obtenir ce que tu veux c'est à dire la matrice composée de n fois le vecteur (enfin peut etre)

Plus ou moins ce que me fait le "repmat", non ?

Partager ce message


Lien à poster

ben en fait avec repmat c'est exactement ce que ca fait non?

un truc genre repmat(vecteur,m,n) ou n est la taille du vecteur...

Partager ce message


Lien à poster
Est-ce que quelqu'un sait, sous Matlab, soustraire un vecteur ligne à toutes les lignes d'une matrice, sans faire de boucle.

J'avais trouvé une solution en feintant avec la fonction "repmat" mais ça me semble plus long qu'avec une boucle.

:ninja:

Ahahaah, tu vas pouvoire t'amuser avec l'aide Matlab :unsure:

A chaque fois que je l'utilise, je passe plus de temps à l'aide qu'à coder -_-

Partager ce message


Lien à poster
Plus ou moins ce que me fait le "repmat", non ?

NP a édité, je lui ai fais comprendre qu'il écrivait des âneries :

"EDIT : non en fait c'est pas possible... "

Partager ce message


Lien à poster
Plus ou moins ce que me fait le "repmat", non ?

ben oui, c'est très bien ca et pas long...

tu fait matrice-repmat(vecteur,m,n)

en fait c'est pas m,n les arguments, j'avais mal compris la fonction c'est (1,n) ou (n,1) suivant si ton vecteur est ligne ou colonne

Partager ce message


Lien à poster
ben oui, c'est très bien ca et pas long...

tu fait matrice-repmat(vecteur,m,n)

en fait c'est pas m,n les arguments, j'avais mal compris la fonction c'est (1,n) ou (n,1) suivant si ton vecteur est ligne ou colonne

Oui voilà c'est ce que j'avais fait.

Ca marche très bien, c'est juste que c'est plus long qu'une simple boucle donc je réfléchissais s'il existait pas une ruse de sioux en jouant sur l'indexage des vecteurs/matrices.

Partager ce message


Lien à poster
Oui voilà c'est ce que j'avais fait.

Ca marche très bien, c'est juste que c'est plus long qu'une simple boucle donc je réfléchissais s'il existait pas une ruse de sioux en jouant sur l'indexage des vecteurs/matrices.

c'est plus long en quoi? Temps de calcul? longueur de codage? Ca m'etonne quand même que ca allonge les calculs par rapport à une boucle...

quand au codage, ca fait une ligne alors que la boucle...

Partager ce message


Lien à poster
c'est plus long en quoi? Temps de calcul? longueur de codage? Ca m'etonne quand même que ca allonge les calculs par rapport à une boucle...

quand au codage, ca fait une ligne alors que la boucle...

En temps de calcul c'est plus long.

Partager ce message


Lien à poster
En temps de calcul c'est plus long.

bon si tu le dis...

je vais reflechir à ton problème mais ca doit pas être très evident...

ca doit pouvoir se faire puisque en théorie des systeme d'equation, on peut coder l'operation retrancher la ligne 1 à la ligne l par une multiplication par une matrice.

Si tu colles ton vecteur en tête de ta matrice, il te reste plus qu'a calculer la matrice obtenue en multipliant toutes ces operations. Comme c'est précalculé, t'as juste à le faire une fois et après ca ne prend plus de temps dans ton programme...

Partager ce message


Lien à poster

Bon déjà en utilisant la fonction "meshgrid" c'est un peu plus rapide qu'avec "repmat" mais ça reste encore un poil plus long qu'avec la boucle.

Si tu colles ton vecteur en tête de ta matrice, il te reste plus qu'a calculer la matrice obtenue en multipliant toutes ces operations.

Comment tu calcules cette matrice ?

je vais reflechir à ton problème mais ca doit pas être très evident...

Sinon c'est pas grave du tout. C'était juste pour ma curiosité...

Allez, la suite sera pour demain.

Partager ce message


Lien à poster
Comment tu calcules cette matrice ?

en multipliant à gauche une matrice mxn par (Identité de taille mxm + un coefficient 1 en position i,j) ca doit ajouter la ligne i à la ligne j dans ta matrice mxn... enfin c'est un truc comme ça, faut tester pour voir si c'est bien ça mais il me semble. Mon seul doute est est ce que cette théorie ne s'applique au matrice carrées ou pas.

La aussi faudrait tester rapidos, on doit vite voir si on tombe sur un os ou pas.

Facile à voir est ce que (0 1)(0 0)*(1 2 3)(4 5 6) donne une des lignes de la matrice?

(0 1)(0 0) noté E1,2 (des zéros partout sauf en position 1,2 ou y'a un 1)

le résultat donne (4 5 6)(0 0 0)

donc (I2+E1,2)*(1 2 3)(4 5 6) donne (1 2 3)(4 5 6)+(4 5 6)(0 0 0)=(1+4 2+5 3+6)(4 5 6)

donc en fait multiplier à gauche par I2+E1,2 ajoute la deuxième ligne à la première de ta matrice si j'ai pas fait de conneries...

donc une fois que t'as compris ce principe, tu itères et ta matrice cherchée devrait être (In-E2,1)*(In-E3,1)*.... à calculer juste une fois (en fait c'est dans l'autre sens mais le produit doit commuter vu que les opérations impliquent des lignes disjointes)...

puis tu appliqueras cette matrice à la matrice formée en première ligne de ton vecteur puis du reste de ta matrice en dessous puis à la fin tu vires le vecteur en première ligne (facile à faire en Matlab).

Voilà, tout ça sous réserve que mes calculs de tête soient bons (dur de raisonner sur un PC!)

---------------------------------------------

voilà sur ce lien wikipedia à "Interprétation multiplicative" y'a un exemple clair :ninja:

http://fr.wikipedia.org/wiki/Op%C3%A9ratio...l%C3%A9mentaire

ou là sinon :

http://fr.wikipedia.org/wiki/Matrice_%C3%A9l%C3%A9mentaire

Partager ce message


Lien à poster

Tout ça me fait penser que dans un mois je vais me remettre au développement. :ninja:

Partager ce message


Lien à poster

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...