Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#76 Re : Entraide (supérieur) » d¨¦monstration » 13-01-2010 16:21:07

ce sont deux matrices ou je veux convertir l'exponentiel en sin et cos,si vs avez des formules utiles c'est aussi bien
merci




                            |  e^ja1 _  e^ja2                        i (e^ja1 +  e^ja2)   |
                     1/2  |                                                                                |   =
                            |  i( e^ja1 + e^ja2 )                   - (e^ja1 _  e^ja2 )   |               


                                       |  sin(a1-a2)/ 2                       cos(a1-a2)/ 2           |
        ie^j(a1+a2) /2         |                                                                            | 
                                        |  cos(a1-a2)/ 2                      - sin(a1+a2) /2        |

#77 Programmation » erreur en c++ » 13-01-2010 16:00:11

stormin
Réponses : 2

SALUT TOUT LE MONDE
dans ce programme ,j ai une erreur dans l'affichage de resultat de determinant
je vois pas ou est le probleme



# include <iostream>
# include <cmath>
using namespace std;
/*lecture de deux matrices carrées*/
void lecture (double X[][10],int a)
{
     int I,J;   
        for (I=0;I<a;I++)
        for (J=0;J<a;J++)
    {
    cout<<"donner votre element   "<<I<<" , "<<J<<endl;
    cin>>X[i][J];
    }
}
/* affichage de la matrice*/
void affichage(double X[][10],int a)
{
     int I,J;
        cout<<"votre matrice est la suivante:"<<endl;
        for (I=0;I<a;I++)
{
        for (J=0;J<a;J++)
        cout<<X[i][J]<<"    ";
        cout<<endl;
}    
}   
void produit(double X[][10],double Y[][10],double Z[][10],int a)
{
int I,J,K;     
//initialisation de la matrice C
        for (I=0;I<a;I++)
        for (J=0;J<a;J++)
         Z[i][J]=0;      
// Calcul de la matrice C=A*B
        for (I=0;I<a;I++)
        for (J=0;J<a;J++)
        for (K=0;K<a;K++)
         Z[i][J]=Z[i][J]+X[i][K]*Y[K][J];   
}
void puissance (double X[][10],double CB[][10],int a)
{
     double Ck[10][10];
     int i,j,k,L;
     cout<<"donner la valeur de k pour caculer C^k"<<endl;
     cin>>k;
    for(i=0;i<a;i++)
    for(j=0;j<a;j++)
        Ck[i][j]=X[i][j];

     for(L=1;L<k;L++)
      {produit(X,Ck,CB,a);
        for(i=0;i<a;i++)
        for(j=0;j<a;j++)
        Ck[i][j]=CB[i][j];   

}

/*Cette fonction nous est utile dans le calcul du determinant, elle supprime dans
  la matrice ma les lignes l et c puis enregistre les resultats dans mb*/
void det_aux(double ma[][10],double mb[][10],int l,int c)
{
int i,j,d,e=0;
    for(i=0;i<10;i++)
    {
   d=0;
        if(i!=l)
        {
      for(j=0;j<10;j++)
                if(j!=c)
                {
            mb[e][d]=ma[i][j];
            d++;
                }
            e++;
        }
    }
}
/*******************************************************************************/
/*Cette fonction teste si un entier est multiple de 2,
cette fonction nous sert dans le calcul du determinant*/
double expo(int n)
{
if(!(n%2)){return (1);}
return (-1);
}
/********************************************************************************/
/* Cette fonction calcul le determinant d'une matrice de maniere recursive*/
double determinant(double m[][10],int l)
{
int i;
double m2[10][10],x=0;
if(l==1)
{
        return (m[0][0]);
}
for(i=0;i<l;i++)
{
det_aux(m,m2,i,0);
x=x+(expo(i)*m[i][0]*determinant(m2,(l-1)));
}
return (x);
}
 
int main()
{
    int n;
    double A[10][10],B[10][10],C[10][10],CP[10][10];
    cout<<"donnez la taille des matrices"<<endl;
    cin>>n;
    cout<<"lecture de la matrice A"<<endl;
    lecture(A,n);
    cout<<"lecture de la matrice B"<<endl;
    lecture(B,n);
    produit(A,B,C,n); 
    cout<<"affichage des elements de la matrice A "<<endl;
     affichage( A,n);
     cout<<"affichage des elements de la matrice B "<<endl;
     affichage( B,n);
     cout<<"affichage des elements de la matrice C "<<endl;
     affichage(C,n);
     puissance (C,CP,n);
     cout<<"la matrice de puissance k "<<endl;
     affichage(CP,n);
cout<<"Le determinant de notre matrice C est :"<<endl;
determinant(C,n);
system("PAUSE");
return 0;
}

#78 Entraide (supérieur) » d¨¦monstration » 12-01-2010 23:30:19

stormin
Réponses : 6

salut pour tout le monde

si quelqu'un pourriez m'aider :ma question c'est comment ¨¤ partir de la premi¨¨re arriver ¨¤ la deuxieme





      |  e^j¦Õ1 _  e^j¦Õ2                   i (e^j¦Õ1 +  e^j¦Õ2)               |
1/2 |                                                                                      |   =
      |  i( e^j¦Õ1 + e^j¦Õ2 )                   - (e^j¦Õ1 _  e^j¦Õ2 )         |               


                            |  sin(¦Õ1-¦Õ2)/ 2                       cos(¦Õ1-¦Õ2)/ 2                |
ie^j(¦Õ1+¦Õ2) /2      |                                                                                  | 
                            |  cos(¦Õ1-¦Õ2)/ 2                      - sin(¦Õ1+¦Õ2) /2              |

merci

#79 Re : Entraide (supérieur) » Méthode de Jacobi » 03-01-2010 15:13:40

je trouve pas des mots pour vous dire merci

#80 Re : Entraide (supérieur) » Méthode de Jacobi » 03-01-2010 13:32:26

Bonsoir
vraiment je suis coincé dans le calcul pour utiliser x^(n) et arriver à x^(n+1)
donc j 'ai besoin d'un coup de pousse
merci

#82 Re : Entraide (supérieur) » Méthode de Jacobi » 03-01-2010 11:37:00

Bonjour
d'abord je dois vérifier que c'est vrai pour x^(1),ensuite je suppose que vrai pour x^(n) et pour finir je montre x^(n+1)
est ce que juste tout cela
merci

#83 Re : Entraide (supérieur) » Méthode de Jacobi » 02-01-2010 22:33:14

bonsoir
je veux que tu me donne la solution pour bien comprendre
merci

#84 Re : Entraide (supérieur) » Méthode de Jacobi » 02-01-2010 18:37:14

Bonsoir
j'ai trouvé:
x^(1)=(1/2,1/2,1/2,1/2)
x^(2)=(3/4,3/4,3/4,3/4)
x^(3)=(7/8,7/8,7/8,7/8)
x^(4)=(15/16,15/16,15/16,15/16)

#85 Programmation » [C++] opérations sur une fraction » 02-01-2010 16:08:12

stormin
Réponses : 2

Bonsoir
j'ai travaller sur un prgramme qui fait des opérations sur une fraction mais il y a un défauts dans ce dernier que je trouve pas
merci de m aider


/* on utilise la notion de structure et fonction pour faire des opérations sur une fraction*/
# include <iostream>
# include <cmath>
using namespace std;
struct fract
{
       double N,D;};
       void saisie_fract (fract &F)
       {
            cout<< "donnez la valeur de nominateur de la fraction "<<endl;
            cin>>F.N;
            cout<< "donnez la valeur de dénominateur de la fraction "<<endl;
            cin>>F.D;
            cout<<endl;
            }
       void affichage_fract (fract F)
       {
            cout<<" votre fraction finale  est "<<F.N<<"/"<<F.D<<endl;
            cout<<endl;
            }     
       double add_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.D+B.N*A.D;
              C.D=A.D*B.D;
              return(C.N,C.D);
              }
       double diff_fract (fract A,fract B)
       {
              fract C;
              C.N=((A.N*B.D)-(B.N*A.D));
              C.D=A.D*B.D;
              return(C.N,C.D);
              } 
       double pro_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.N;
              C.D=A.D*B.D;
              return(C.N,C.D);
              }   
        double rapp_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.D;
              C.D=A.D*B.N;
              return(C.N,C.D);
              } 
        int main()
        {
            fract a,b;
            fract plus,mois,fois,sur;
            cout<<" saisie de la fraction F1 "<<endl;
            saisie_fract (a);
            cout<<" saisie de la fraction F2 "<<endl;
            saisie_fract (b);
            plus  = add_fract (a,b);
            moins = diff_fract (a,b);
            fois = pro_fract (a,b);
            sur =  rapp_fract (a,b);
            cout<<"votre fraction addition vaut   "<<"="<<endl;
            affichage_fract (plus);
            cout<< " FIN "<<endl;
cout<<"votre fraction difference vaut   "<<"="<<endl;
            affichage_fract (moins);
            cout<< " FIN "<<endl;
cout<<"votre fraction produit vaut   "<<"="<<endl;
            affichage_fract (fois);
            cout<< " FIN "<<endl;
cout<<"votre fraction rapport vaut   "<<"="<<endl;
            affichage_fract (sur);
            cout<< " FIN "<<endl;
system("PAUSE");
return 0;
}

#86 Re : Entraide (supérieur) » Méthode de Jacobi » 02-01-2010 10:59:44

Bonjour
la matrice n'est pas à diagonale strictement dominante pour que la méthode de Jacobi converge;ainsi que j'ai besoin de b car je suis devant un système d'équations linéaires de la forme suivante : Ax=b
merci

#88 Re : Entraide (supérieur) » Méthode de Jacobi » 01-01-2010 14:58:44

salut
non pas dans un livre mais seulement quelques définitions et théorèmes trouvés sur net qui ulistrent le principe de la méthode de Jacobi

#89 Entraide (supérieur) » Méthode de Jacobi » 01-01-2010 13:27:34

stormin
Réponses : 17

Bonjour tous monde
je viens juste de commencer à étudier la méthode de Jacobi et j'arrive à toucher son principe mas je trouve des exemples pour bien assimiler la méthode et fare face aux difficultés de calcul;

alors j 'ai besoin de vos aides
merci

#90 Entraide (supérieur) » Famille Libre » 28-12-2009 20:13:01

stormin
Réponses : 1

bonsoir a tous
j'ai beoin d'aide:comment démontrer pour la premiere question que les reels par exemple a1,a1,an sont nuls;
et aussi comment faire pour le deuxieme



Soit E = F(IR;IR). Pour tout n appartient à N on pose fn : x ______ x^n.
1. Montrer que (f0; f1;    ; fn) est libre.
2. En d'eduire dim (E).

#91 Re : Programmation » C++ » 28-12-2009 12:34:18

non c est pas la retranscripton de ton programme pytthon,
voila j ai arrivé a faire l inverse de la matrice,
il reste le determinant
merci

#92 Re : Programmation » C++ » 28-12-2009 11:29:40

bonjour
il me reste le determinant
et l'inverse;comment les introduire dans mon programme
remarque:j ai besoin un programme en C++


#include <iostream>
#include <cmath>
using namespace std;

void lecture(int X[][10],int a)
{
int i,j;
for(i=0;i<a;i++)
for(j=0;j<a;j++)
cin>>X[i][j];
}

void produit(int X[][10],int Y[][10],int Z[][10],int n)
{ int i,j,k;

for(i=0;i<n;i++)
for(k=0;k<n;k++)
{ Z[i][k]=0;
for(j=0;j<n;j++)
Z[i][k]= Z[i][k]+X[i][j]*Y[j][k] ;
}
}

void afficher(int X[][10],int a)
{int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<a;j++)
cout<<X[i][j]<<" ";
cout<<endl;
}
}

int main()
{ int n,i,j,k,L;

// int *A,*B,*C;
int A[10][10],B[10][10],C[10][10],Ck[10][10],CB[10][10];
cout<<"donner la taille des matrices"<<endl;
cin>>n;
//A=new int[n][nca];
//B=new int[nlb][ncb];
//C=new int [n][ncb];
cout<<"lecture des elements de la matrice A ligne par ligne"<<endl;
lecture( A,n);
cout<<"lecture des elements de la matrice B ligne par ligne"<<endl;
lecture( B,n);
produit(A,B,C,n);
cout<<"affichage des elements de la matrice A ligne par ligne"<<endl;
afficher( A,n);
cout<<"affichage des elements de la matrice B ligne par ligne"<<endl;
afficher( B,n);
cout<<"affichage des elements de la matrice C ligne par ligne"<<endl;
afficher( C,n);
cout<<"donner la valeur de k pour caculer C^k"<<endl;
cin>>k;

for(i=0;i<n;i++)
for(j=0;j<n;j++)
Ck[i][j]=C[i][j];

for(L=1;L<k;L++)
{produit(C,Ck,CB,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
Ck[i][j]=CB[i][j];
}

afficher(Ck,n);

system("pause");
return 0;
}

#93 Re : Programmation » C++ » 27-12-2009 01:00:13

Merci Yoshi
C est un programme qui doit effectuer les 4 opérations consecutivent apres la saisie des deux matrices A et B
merci

#94 Re : Programmation » C++ » 26-12-2009 17:17:31

Bonsoir
Il n y a pas quelqu'un qui peut me donner seulement des idées pour commencer
merci

#95 Programmation » C++ » 23-12-2009 14:16:36

stormin
Réponses : 8

Bonsoir tout le monde
j ai besoin d'aide pour:
ecrire un progrmme en C++ qui calcul
1_______le produit de ces deux matrices A(N,N) et B(N,N) : C=A*B
2_______ C^k tel que k>0
3_______det C
4_______C^(-1) c à d l'inverse de C
et tout cela en utilisant le principe de fonction pour mettre le tout dans un seul programme
merci d'avance

#96 Re : Entraide (supérieur) » démonstration » 18-12-2009 15:48:18

bonsoir
il me reste
défnie positive,j'arrive à <A,A>=trace (tAA)
est ce que positif cela
merci

#97 Re : Entraide (supérieur) » démonstration » 18-12-2009 15:33:07

je suis vraiment désolé
vs etes complètemennt juste seulement démontrer que c'est un produit scalaire
je suis en train de faire la démonstration mais quand meme j'attends votre aide en cas de difficulté
filière:master instrumentation Laser et composants optoélectroniques

#98 Re : Entraide (supérieur) » démonstration » 18-12-2009 14:50:22

<A,B> est un prduit scalaire de deux matrices défini dans un espace vectoriel de dimension finie E:
meme que cela est une donnée de l'exercice
j aime dans la première phase s'assurer que <A,B>=tr (tAB) est produit scalaire(forme bilinéaire ,symétrique,définie positive) mais pour démontrer ces 3 proriétéés ,je suis perdu;
et dans la deuxième phase démontrer l'égalité
Merci

#99 Re : Entraide (supérieur) » démonstration » 18-12-2009 13:00:55

merci
mais j ai trouvé de diffuculté pour compléter la démonstration
si possible pouvez vous me détailler la démonstration ,

#100 Entraide (supérieur) » démonstration » 18-12-2009 12:21:37

stormin
Réponses : 8

bonjour
je suis coincé dans une petite démonstration:
<A,B>= trace(tAB)
comment démontrer cette égalité(prendre un exmple,ou bien faire le calcul en général,je sais pas)
j'aimerai que quelqu'un m'expliquer la réponse en détails
merci d'avance

Pied de page des forums