Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#76 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 17-05-2010 09:11:33
Bonjour Yoshi,
J'ai essayé de tester ton dernier programme, il me demande d'entrer les valeurs de la matrice, mais après il n'affiche pas le résultat! Il fait juste la lecture, au moment d'affichage de résultat, il fait disparaître l'écran!
passage à une fonction: d'après ce que j'ai compris, la fonction se déclare avant la fonction main, cela signifie qu'on fait la lecture-écriture du tableau, puis on fait des opérations que l'on veut, ensuite on rentre dans la fonction main pour afficher le résultat final. C'est cette dernière étape (opération) qui me manque et que je n'arrive pas à faire. Je continue à réfléchir sur ce que tu as fait...
#77 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 14-05-2010 09:43:32
Bonjour Yoshi,
Je vais essayer de tester ta solution. Sinon, pour l'instant j'ai lu et écrit la matrice. Voici le code qui fonctionne mieux.
#include <stdio.h>
#include <stdlib.h>
void lecture (float tab[4][4]){
int i,j;
for(i=1;i<=4;i++){
for(j=1;j<=4;j++){
printf("entrez une valeur\n");
scanf("%f",&tab[i][j]);
}
}
return;
}
void ecriture (float t[4][4]){
int i,j;
for(i=1;i<=4;i++){
for(j=1;j<=4;j++){
printf("%f",t[i][j]);
}
printf("\n");
}
return;
}
main(){
float tt[4][4];
lecture(tt);
ecriture(tt);
getchar();
}
Maintenant, il ne reste plus qu'à triangulariser cette matrice.
J'ai trouvé une définition qui dit que "on appelle une matrice triangulaire supérieure toute matrice TS dont les coefficients strictement au-dessous de la diagonale sont nuls: a[i][j] =0 pour i>j"
Dans mon programme où j'ai fait la lecture et l'écriture, il me faudrait insérer avant la fonction main() une opération. D'après cette définition: a[i][j]=0 pour i>j, il va falloir faire une boucle for ou une condition if(i>j){tab[i][j]=0;} je ne sais pas trop!
#78 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 11-05-2010 15:16:13
Je l'ai testé et ça ne m'affiche rien!
#79 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 11-05-2010 07:48:08
Salut Yoshi,
Pour n'instant j'ai fait la lecture de la matrice dont voici le code:
#include <stdio.h>
#include <stdlib.h>
#define DIM 4
typedef float ligne[DIM];
typedef ligne matrice[DIM];
typedef float *pointeur;
void lecture(matrice A,int *lig,int *col){
int l,c;
float f;
printf("quel est le nombre de lignes de la matrice?");
scanf("%d",&lig);
printf("quel est le nombre de colonnes de la matrice?");
scanf("%d",&col);
for(l=0;l<*lig;l++){
for(c=0;c<*col;c++){
printf("element[%d,%d]?",l,c);
scanf("%f",&f);
}
A[l][c]=f;
}
getchar();
} }
#80 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 15:43:53
tu as raison c'est une multiplication (11*L).
3)on peut écrire : int i,j,k; (le point virgule sert à signifier instruction)
#81 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 15:09:52
Il me marque des erreurs de syntaxes partout! je vais essayer de lire le lien que tu m'as envoyé. Là je nage complétement dans le nuage!
Pour le calcul, je le refais plusieurs fois, et j'obtiens le même résultat: la dernière de TS c'est : L'4=L4+11L1-9L2+L3 qui donne la dernière matrice TS
#82 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 12:43:39
J'ai essayé de faire ça, ça ne marche pas!
#include<stdio.h>
float matrice(int A[4][4]){
int i,j;
for(i=0;i<4;i++){
printf("entrer la valeur de la case numero%d de la ligne de A:\n",i);
scanf("%f",&A[i];}
for(j=0;j<4;j++){
scanf("%f",&A[j]);}
return;
}
main(){
float A[4][4];
float L'1,L'2,L'3,L'4;
L'1=0,L'2=0,L'3=0,L'4=0;
printf("entrer les valeurs de L1 L2 L3 et L4 de la matrice A:\n",L1,L2,L3,L4);
for(i=0;i<4;i++){
scanf("%f",&L1[i]);
}
L'1=L1;
L'2=-L2+2L1;
L'3=-0.25(L1+L3-2L2);
L'4=L4+11L1-9L2+L3;
printf("L'1:%f,L'2:%f,L'3:%f,L'4:%f:\n",L'1,L'2,L'3,L'4);
}
ça ne marche!!! comment faire?
Valentin
#83 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 10:23:36
RE,
Version ppcm opérationnelle :
# usr/bin/env python
# -*- coding: utf-8 -*-# Destiné à obtenir quotient décimal par / (et entier par //)
from __future__ import division
from fractions import gcddef coefficients(a,b):
ppcm = a*b//gcd(a,b)
coeff_a=ppcm//b
coeff_b=ppcm//a
return coeff_a,coeff_bdef annulation(db,TS):
# Pour chaque valeur de db, je dois soustraire :
# les Lignes de db+1 à 3, x coeff_a, à la ligne db x coeff_b non nul de la ligne
for j in range(db+1,4):
a,b=TS[db][db],TS[j][db]
coeff_a,coeff_b= coefficients(a,b)
for i in range(db,4):
TS[j][i]=coeff_a*TS[j][i]-coeff_b*TS[db][i]
return TS# J'initialise mes matrices
A=[[1,2,3,4],[2,3,4,1],[3,4,1,2],[4,1,2,3]]
TS=[[1,2,3,4],[2,3,4,1],[3,4,1,2],[4,1,2,3]]for db in range(3):
TS=annulation(db,TS)# Affichage arrondi à 2 chiffres après la virgule
for j in range(4):
for i in range(4):
print round(TS[j][i],2),Résultat
1.0 2.0 3.0 4.00.0 -1.0 -2.0 -7.0
0.0 0.0 -4.0 4.0
0.0 0.0 0.0 -40.0
@+
Ton code python est juste, il te donne ce que je veux, mais comment traduire en C?
#84 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 09:39:37
Avec mes dernière formule [tex]{L}_{4TS}={L}_{4}+11{L}_{1}-9{L}_{2}+{L}_{3}[/tex], je trouve aussi 40! j'ai dû faire une erreur quelque part! je recommence mes calculs
#85 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 10-05-2010 08:37:00
Bonjour Yoshi,
Les coefficients de la matrice peuvent être réels ou complexe ou pas. En C, il y a les différents types (int pour des entiers, float pour déclarer les réels ou complexes, les autres je connais pas...)
Si on peut suivre ton premier exemple de la matrice donnée A:
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
Sa matrice triangulaire sup TS:
1 2 3 4
0 1 2 7
0 0 1 -1
0 0 0 39
J'ai pensé que dans le programme en C, on peut donner des relation trouvés pour avoir cette matrice:
[tex]{L}_{1TS}={L}_{1A}\,{L}_{2TS}=-{L}_{2}+2{L}_{1}\,{L}_{3TS}=\frac{-1}{4}{\left({L}_{1}+{L}_{3}-2{L}_{2}\right)}_{A}\,{L}_{4TS}={L}_{4}+11{L}_{1}-9{L}_{2}+{L}_{3}[/tex]
il faut les mettre en code C, je ne sais pas faire!
Valentin
#86 Re : Entraide (supérieur) » Rang et déterminant d'une matrice » 07-05-2010 14:22:38
Bonjour,
tu peux déterminer la frel(M) (forme réduite en ligne de Gauss de Jordan) et le nombre de pivot de la frel(M) détermine le rang de ta matrice. Ta matrice semble être triangulaire supérieure, vu que tu n'as que du 1 en diagonal! donc serait la taille de ta matrice n.
Valentin
#87 Re : Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 07-05-2010 13:44:04
Salut Yoshi,
Effectivement, on aurait besoin de trois tableaux, mais on va garder deux tableaux: tableau de la matrice A et un autre de la matrice TS. Il faudrait nécessairement initialiser ces tableaux. Comme on connaît le nombre d'itération ou de compteur, en C, on utilise la boucle for (i=1;i<=4;i++) et for(j=1;j<=4;j++) {printf("entrer un nombre:\n"); après je ne sais pas!!!
2) phase des calculs
On considère ton exemple de la matrice A proposé. Pour triangulariser A, on utilise pivot de Gauss de Jordan sur les lignes de A et les opérations élémentaires. On a un pivot sur la ligne 1 de A don la ligne 2 devient : [tex]{L}_{2}-2{L}_{1\,}puis\,{L}_{3}\rightarrow {L}_{3}-3{L}_{1}ensuite\,{L}_{4}\rightarrow {L}_{4}-4{L}_{1}[/tex] On obtient une nouvelle matrice, puis recommence le pivot sur la ligne 2, on aurait donc la ligne 3 de la nouvelle matrice A' devient [tex]{L}^{'}_{3}\rightarrow {L}^{'}_{3}+2{L}^{'}_{2}\,puis\,{L}^{'}_{4}\rightarrow {L}^{'}_{4}+7{L}^{'}_{2}[/tex]
Enfin, dernier pivot sur la ligne 3 de la nouvelle matrice A'' [tex]{L}^{''}_{4}\rightarrow {L}^{''}_{4}-4{L}^{''}_{3}[/tex]
D'où on obtient la matrice TS suivante:
1 2 3 4
0 1 2 7
0 0 1 -1
0 0 0 1
je ne sais pas comment faire le programme en C!!!
Valentin
#88 Programmation » [C (et PYTHON)] matrice triangulaires supérieures et inférieures! » 06-05-2010 10:31:26
- Valentin
- Réponses : 34
Bonjour à tous,
j'ai besoin de votre aide: la programmation ne m'a jamais trop parlé!
J'ai une matrice carrée de taille 4x4:
a b c d
e f g h
i j k l
m n p o
C'est une matrice de 4 lignes et 4 colonnes. Les coefficients de la matrice sont à coefficients réels.
Question:
Écrire un programme en C qui demande à l'utilisateur de taper les coefficients de matrice et qui affiche les matrices triangulaires inférieures et supérieures (ou l'une de deux).
Je ne vois pas trop comment faire le code en C.
Merci,
Valentin
#89 Re : Entraide (supérieur) » problème d'analyse! » 03-05-2010 10:59:26
Pour la question du polynome, en fait, il faut lire : [tex]{z}^{n}+{z}^{-n}={P}_{n}\left(z+{z}^{-1}\right)\,càd\,{P}_{n}dépend\,de\,z+{z}^{-1\,}et\,non\,pas\,multiplié\,par\,z+{z}^{-1}[/tex]
Dans ce cas, je pense qu'il s'agit d'un polynome de Tchebychev de première espèce, je suis donc arrivé à:
[tex]\cos \left(nx\right)={P}_{n}\left(\cos \left(x\right)\right)\Longleftrightarrow {z}^{n}+{z}^{-n}={P}_{n}\left(z+{z}^{-1}\right)\,avec\,{P}_{n}={\sum^{E\left(\frac{n}{2}\right)}_{p=0}}^{}_{}{\left(\cos \left(x)\right)\right)}^{n-2p}{\left({\cos }^{2}\left(x\right)-1\right)}^{p}{C}^{2p}_{n}[/tex]
après je ne sais pas!
Un formateur de prof m'a rassuré qu'il s'agit bien d'un polynôme de Tchebychev du degré n du première espèce. Il m'a reformulé différemment la question: ses étapes sont les suivantes:
Exprimer [tex]\cos n\theta[/tex] comme une fonction polynomiale de [tex]\cos \theta[/tex] En déduire l'existence d'un polynôme [tex]{P}_{n}\left(X\right)[/tex] unitaire de degré n tel que [tex]\forall \,z\in \mathbb{C}\,\left|z\right|=1\,:\,{z}^{n}+{z}^{-n}={P}_{n}\left(z+{z}^{-1}\right)[/tex]
En utilisant la formule du binôme de Newton, comme je l'avais fait, il arrive donc à ceci:
[tex]{z}^{n}+{z}^{-n}=2{Q}_{n}\left(\frac{z+{z}^{-1}}{2}\right)={P}_{n}\left(z+{z}^{-1}\right)\Rightarrow {P}_{n}\left(X\right)=\frac{1}{{2}^{n-1}}\sum^{}_{p=0}{\left(-1\right)}^{p}{C}^{2p}_{n}{X}^{n-2p}{\left(4-{X}^{2}\right)}^{p}[/tex]
De l'équation (Eq) [tex]\cos \left(n+1\right)x+\cos \left(n-1\right)x=2\cos x\cos nx\,\Rightarrow {P}_{n+1}\left(X\right)+{P}_{n-1}\left(X\right)={P}_{1}\left(X\right){P}_{n}\left(X\right)[/tex]
C'est génial! Qu'en pensez-vous? En fait, la grosse difficulté était plutôt l'énoncé ambiguë!
Valentin
#90 Re : Entraide (supérieur) » problème d'analyse! » 03-05-2010 10:16:59
Salut à tous,
Thadrien, tu mérites une médaille, puisque à mon post 32 j'avais pensé et essayé de raisonner par récurrence, en vain! En tout cas un grand merci à toi et à Freddy. Thadrien dit dans son raisonnement :"...comme Q est associatif...", en fait il pouvait simplement dire, peut-être, "...comme Q est un corps..."!
Ouf mon devoir est enfin terminé!
Je vous fais connaître la méthode d'un formateur de prof sur mon fameux polynôme!
Valentin
#91 Re : Entraide (supérieur) » problème d'analyse! » 30-04-2010 10:24:20
Salut Freddy,
Puisque tu es arrivé à [tex]\cos \theta \sin \theta =\frac{p-q}{2q}\times\frac{p+q}{q}\,\forall q\in {\mathbb{Z}}^*[/tex]
Est-ce que cela peut revenir à dire que [tex]\cos \theta =\frac{p-q}{2q}\,et\,\sin \theta =\frac{p+q}{q}[/tex] ou inversement ?
Et dans cette condition, comme [tex]\left(p,q\right)\in \mathbb{Z}\*{\mathbb{Z}}^* \cos \theta =\frac{p-q}{2q}=\frac{1}{2}\left(\frac{p}{q}-1\right)\in \mathbb{Q}[/tex] et [tex]\sin \theta =\frac{p+q}{q}=1+\frac{p}{q}\in \mathbb{Q}[/tex] ce qui achève la démonstration!
Valentin
#92 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Curiosités pédagogiques ?!? » 29-04-2010 12:31:33
Valentin, Valentin, Valentin, Valentin ...
hummm : si 0 < B < 1
alors 0 < 1 - B < 1 (car -1 < -B < 0 et 1-1 = 0 < 1 - B < 1 !!!) non ?
Qu'en penses tu ?
Donc la limite est bien nulle, non ?
Salut Freddy,
je ne comprends pas pourquoi tu as fait l'encadrement de 1-B? Mon raisonnement était le suivant:
Soit [tex]A={\left(\sqrt{m+1}+\sqrt{m}\right)}^{2n}\,et\,B={\left(\sqrt{m+1}-\sqrt{m}\right)}^{2n}[/tex]
On cherche [tex]{\lim }_{n\rightarrow \infty }\left(\left\{A\right.\})[/tex]
On sait que [tex]A+B=\mathbb{N}[/tex], d'après les questions précédentes.
[tex]\left\{A\}.=A-E\left(A\right)[/tex]
[tex]On\,cherche\,E\left(A\right).\,On\,a\,A=N-B\,et\,on\,sait\,que\,0<B<1\,\Rightarrow N-1<N-B<N\,ou\,N-1<A<N\,[/tex]
D'où, on a : [tex]E\left(A\right)=N-1\,et\,\left\{A\}=A-E\left(A\right)=N-B-\left(N-1\right)=1-B[/tex]
et sachant que limB=0 Donc lim{A}=1
je n'étais pas précis dans mon post d'avant! est-ce que tu es d'accord avec mon raisonnement ou pas?
Valentin
#93 Re : Entraide (supérieur) » problème d'analyse! » 28-04-2010 14:25:15
[tex]\mathbb{Q}[/tex]
Merci Yoshi!
Valentin
#94 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Curiosités pédagogiques ?!? » 28-04-2010 14:17:49
salut Freddy,
c'est tout simple, il faut un encadrement pour mieux voir. En effet, on pose:
[tex]A={\left(\sqrt{m+1}+\sqrt{m}\right)}^{2n}\,et\,B={\left(\sqrt{m+1}-\sqrt{m}\right)}^{2n}[/tex]
Et d'après les questions précédentes: A+B=N(entier naturel) 0<B<1
N-1<N-B<N soit N-1<A<N Et E(A)=N-1
d'où, {A}=1-B
Sa limite vaut donc 1
Valentin
#95 Re : Entraide (supérieur) » problème d'analyse! » 28-04-2010 13:50:22
à part poser: [tex]r=\cos a+\sin \,puis\,{\cos }^{2}a=1-{\sin }^{2}a\Rightarrow 2{\cos }^{2}a-2r\cos a+{r}^{2}-1=0[/tex] après je ne sais pas s'il faut résoudre cette équation en cos ou en r pour arriver à conclur à partir de racines. Or, si je calcule delta je trouve ça:
[tex]\Delta =4{r}^{2}-4\left(2\left({r}^{2}-1\right)\right)=4\left(2-{r}^{2}\right)[/tex]
les racines vont dépendre de signes de delta, donc de
[tex]2-{r}^{2}[/tex]
a)[tex]\Delta >0\Longleftrightarrow 2-{r}^{2}>0\Rightarrow \cos a=\frac{2r-2\sqrt{2-{r}^{2}}}{4}\,et\,\cos a=\frac{r+\sqrt{2-{r}^{2}}}{2}[/tex]
[tex]-\sqrt{2}<r<\sqrt{2}[/tex]
si r=-1 [tex]\Rightarrow \cos a=-1\,ou\,0[/tex]
je ne sais pas trop!!!
#96 Re : Entraide (supérieur) » problème d'analyse! » 27-04-2010 12:17:04
pb de logiciel!
[tex]si\,delta\,est\,>0\Rightarrow \frac{r+/-\sqrt{2-{r}^{2}}}{2}\in Q\,\Rightarrow COS\in Q\,et\,\sin a\in Q\,d'où\,le\,resultat![/tex] T'es d'accord avec ce raisonnement Freddy?
valentin
[EDIT @Yosi]
Valentin, pour tes textes en Latex, une commande :
\text{bla bla écriture}
[tex]\text{bla bla écriture}[/tex]
Pour les ensembles de nombres :\N \Z \Q \R \C
[tex]\N\; \Z\; \Q\; \R\; \C[/tex]
#97 Re : Entraide (supérieur) » problème d'analyse! » 27-04-2010 12:10:57
Je pose r=cosa+sina avec r appartient à Q par hypothèse.
[tex]CO{S}^{2}\left(a\right)=1-{\sin }^{2}\left(a\right)=1-{\left(r-\cos a\right)}^{2}\Rightarrow 2{\cos }^{2}\left(a\right)-2r\cos a+1-{r}^{2}=0\,puis\,je\,résous\,cette\,équation\,en\,\cos \,et\,je\,trouve\,si\,delta\,positif\,les\,racines\,sont\frac{}{}[/tex]
#98 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Curiosités pédagogiques ?!? » 27-04-2010 11:51:18
Hello,
fort de la précision du texte, on déduit alors que :
[tex]\lim _{n\to+\infty }\left\{{\left(\sqrt{m+1}+\sqrt{m}\right)}^{2n}\right\}=\lim _{n\rightarrow +\infty }{\left(\sqrt{m+1}-\sqrt{m}\right)}^{2n}=0[/tex] puisque [tex]\forall m \in \N^*,\,\sqrt{m+1}-\sqrt{m} < 1[/tex] car [tex]\left(\sqrt{m+1}+\sqrt m\right)^{-1} < 1[/tex].
Salut Freddy,
En fait, j'ai trouvé la limite de {x} qui vaut 1! car la partie entière est N-1 !
Merci beaucoup Freddy mon devoir est presque fini!
Valentin
#99 Re : Entraide (supérieur) » problème d'analyse! » 22-04-2010 13:31:55
Salut Freddy,
si j'ai bien compris, le raisonnement serait:
[tex]si\,\cos a+\sin a\in Q\Rightarrow \cos a\in Q\,et\,\sin a\in Q\,addition\,\in Q,\,car\,Q\,est\,un\,corps\,\Rightarrow {\left(\cos a\right)}^{n}\in Q\,et\,{\left(\sin a\right)}^{n}\in Q\,[/tex]
ce qui achève la démonstration!
valentin
#100 Re : Entraide (supérieur) » problème d'analyse! » 20-04-2010 13:54:26
Salut valentin,
tu viens de vérifier ce que je pense depuis le début : tu as un ensemble de sujet de math dont certains n'ont pas de sens. En particulier, ce fichu polynôme ...
Pour ta seconde question, il faut simplement que tu vérifies que si on a deux nombres x et y tq la somme (x+y) est un nombre rationnel, alors x et y sont aussi deux rationnels indépendamment l'un de l'autre.
Une fois que tu auras prouvé ce point, la suite viendra toute seule.
"Patience dans l'azur ... " disait Hubert Reeves.
je n'ai rien capté! qui est x et y ? ça veut dire, je pose : x=cos(a) et y =sin(a) et x+y=cos(a)+sin(a). Or, d'après l'énoncé, cos(a)+sin(a) appartient à Q, càd cos(a) et sin(a) appartient à Q donc x, y appartient à Q avec évidemment x différent de y! c'est ça non?







