Jump to content
Sign in to follow this  
FF

Topic des Geeks

Recommended Posts

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

bah ce que je raconte là, je m'y suis remis en catastrophe pour assurer un soutien en L1 en partie sur ça alors que j'en avais pas refait depuis au moins 8-9 ans... c'est duraille à s'y remettre :unsure:

Share this post


Link to post
bah ce que je raconte là, je m'y suis remis en catastrophe pour assurer un soutien en L1 en partie sur ça alors que j'en avais pas refait depuis au moins 8-9 ans... c'est duraille à s'y remettre -_-

pfff, et après ça se prétendf supporter..."on dit un maintien en L1!!!" :unsure:

:ninja:

Share this post


Link to post

je suis le seul à rien capter ici ? :ninja:

Share this post


Link to post
je suis le seul à rien capter ici ? :unsure:

Non. Il parait que seuls ceux qui portent des chemisettes avec des cravattes peuvent comprendre... :ninja:

Share this post


Link to post

bon en fait tout calculs faits je recapitule :

Disons que tu veux retirer un vecteur ligne v 1xn à toutes les lignes de la matrice M mxn.

1°) Tu colles v en première ligne à ta matrice M, tu obtiens donc une matrice disons N de taille (m+1)xn

2°) Tu as prédefini une matrice carrée O de taille (m+1) telle que : Oii=1 pour tout i et Ok,1=-1 pour k dans [2,(m+1)]

(c'est à dire des 1 sur la diagonale, des -1 sur le reste de la première colonne, des 0 partout ailleurs).

3°) Tu fait P=O*N

4°) Tu supprimes la première ligne de ta matrice (N(2:m+1,-_-) et tu récupères ainsi la matrice cherchée.

Franchement je vois pas comment faire moins d'operations que ça.

Je teste et je te file le code.

%à definir a part et une seule fois

m=6;n=4;

O=eye(m+1);

for i=2:m+1

	O(i,1)=-1;

end


%définition aléatoire de la matrice et du vecteur

M=floor(4*rand(m,n)+1)

v=floor(4*rand(1,n)+1)


%programme à proprement parler

N=[v;M];

P=O*N;

M=P(2:m+1,:)

voilà voila, ca m'a l'air de marcher. Le vrai code c'est les 3 dernières lignes bien sur.

Share this post


Link to post
bon en fait tout calculs faits je recapitule :

Disons que tu veux retirer un vecteur ligne v 1xn à toutes les lignes de la matrice M mxn.

1°) Tu colles v en première ligne à ta matrice M, tu obtiens donc une matrice disons N de taille (m+1)xn

2°) Tu as prédefini une matrice carrée O de taille (m+1) telle que : Oii=1 pour tout i et Ok,1=-1 pour k dans [2,(m+1)]

(c'est à dire des 1 sur la diagonale, des -1 sur le reste de la première colonne, des 0 partout ailleurs).

3°) Tu fait P=O*N

4°) Tu supprimes la première ligne de ta matrice (N(2:m+1,-_-) et tu récupères ainsi la matrice cherchée.

Franchement je vois pas comment faire moins d'operations que ça.

Je teste et je te file le code.

%à definir a part et une seule fois
m=6;n=4;
O=eye(m+1);
for i=2:m+1
O(i,1)=-1;
end

%définition aléatoire de la matrice et du vecteur
M=floor(4*rand(m,n)+1)
v=floor(4*rand(1,n)+1)

%programme à proprement parler
N=[v;M];
P=O*N;
M=P(2:m+1,:)[/code]

voilà voila, ca m'a l'air de marcher. Le vrai code c'est les 3 dernières lignes bien sur.

Merci pour le topo. Je teste dès que j'ai un peu de temps B)

Share this post


Link to post
bon en fait tout calculs faits je recapitule :

Disons que tu veux retirer un vecteur ligne v 1xn à toutes les lignes de la matrice M mxn.

1°) Tu colles v en première ligne à ta matrice M, tu obtiens donc une matrice disons N de taille (m+1)xn

2°) Tu as prédefini une matrice carrée O de taille (m+1) telle que : Oii=1 pour tout i et Ok,1=-1 pour k dans [2,(m+1)]

(c'est à dire des 1 sur la diagonale, des -1 sur le reste de la première colonne, des 0 partout ailleurs).

3°) Tu fait P=O*N

4°) Tu supprimes la première ligne de ta matrice (N(2:m+1,:ninja:) et tu récupères ainsi la matrice cherchée.

Franchement je vois pas comment faire moins d'operations que ça.

Je teste et je te file le code.

%à definir a part et une seule fois

m=6;n=4;

O=eye(m+1);

for i=2:m+1

	O(i,1)=-1;

end


%définition aléatoire de la matrice et du vecteur

M=floor(4*rand(m,n)+1)

v=floor(4*rand(1,n)+1)


%programme à proprement parler

N=[v;M];

P=O*N;

M=P(2:m+1,:)

voilà voila, ca m'a l'air de marcher. Le vrai code c'est les 3 dernières lignes bien sur.

Au fait, 2+2 ça fait combien? -_-

B)

Share this post


Link to post
Au fait, 2+2 ça fait combien? :ninja:

:blink:

matlab le calcule très bien ;)

suffit de multiplier la matrice identité par 2 puis de multiplier à gauche par la matrice I2+E2,1 et de récuperer la valeur de la composante 1,1 du résultat ;):)

Share this post


Link to post

Au fait je suis à la recherche d'une TI, ma Casio Graph 100+ ayant récemment lâché, si certains en possédant une seraient prèts à la vendre je suis preneur :ninja:

Share this post


Link to post
un mec de "calcul scientifique" merci bien... nous autres de "probablités et statistiques" on ne se mélange pas avec la canaille... :ninja:

Donc tu aimerais : 

http://www.ensai.com/fr/mise à jour-e/c1a2i9175/fo...tin-patilea.htm

Il est beaucoup moins impressionant, mais très sympa, il m'a fait aimer les stats  :blink:

Share this post


Link to post
Merci pour le topo. Je teste dès que j'ai un peu de temps -_-

bon ok la solution en deux lignes m'est apparue Ah! ah! : M est ta matrice de taille mxn, v ton vecteur de taille (1,n) et simplement faire ce qui suit est la solution B)

M-ones(m,1)*v

Share this post


Link to post
j'ai trouvé la solution au probleme :angry:

-_-

Merde, il en reste encore un... Va falloir que je reposte un truc intelligent pour m'en debarrasser B)

Share this post


Link to post

Je vous conseille de faire la méthode du gradient conjugué, ça ne sert à rien, ça m'a pris 5h pour comprendre et j'ai pas réussi àfaire l'exo de mon DS B)

function [x] = conjgrad(A,b,x0)


 r = b - A*x0;

 w = -r;

 z = A*w;

 a = (r'*w)/(w'*z);

 x = x0 + a*w;

 B = 0;


 for i = 1:size(A)(1);

	r = r - a*z;

	if( r < 1e-10 )

		 break;

	endif

	B = (r'*z)/(w'*z);

	w = -r + B*w;

	z = A*w;

	a = (r'*w)/(w'*z);

	x = x + a*w;

 end

-_-

Share this post


Link to post
Va falloir que je reposte un truc intelligent pour m'en debarrasser :angry:

Ben il n'est pas encore parti :)

;)

Share this post


Link to post
Ben il n'est pas encore parti :)

;)

c'est "intelligent" au sens des roses bien sur... Quand on voit comment 3 pauvres lignes inoffensives de Matlab les/vous retourne... :angry:

Bref j'aurais pas a fournir un effort monstrueux -_-

Je vous conseille de faire la méthode du gradient conjugué, ça ne sert à rien, ça m'a pris 5h pour comprendre et j'ai pas réussi àfaire l'exo de mon DS -_-

Tente plutôt l'histoire ou le droit, c'est plus fait pour les roses apparemment :ninja:

Share this post


Link to post

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...