Aller au contenu

Topic des Geeks


FF

Messages recommandés

Posté(e)
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:

  • 2 semaines plus tard...
  • 6 mois plus tard...
  • 3 semaines plus tard...
Posté(e)

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:

Posté(e)
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.

Posté(e)
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...

Posté(e)
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 ?

Posté(e)
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 -_-

Posté(e)
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... "

Posté(e)
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

Posté(e)
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.

Posté(e)
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...

Posté(e)
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.

Posté(e)
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...

Posté(e)

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.

Posté(e)
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

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...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.