produit et somme matlab
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

produit et somme matlab



  1. #1
    invite928b2ff5

    produit et somme matlab


    ------

    Bonjour ,
    Je suis débutante en Matlab et je veux appliquer la formule ci-dessous , mais je ne sais pas comment:surtout le produit et la somme.
    Nom : p0.png
Affichages : 1787
Taille : 13,6 Ko
    Merci pour vos aide en avance.

    -----

  2. #2
    invite6c250b59

    Re : produit et somme matlab

    Citation Envoyé par May29 Voir le message
    Je suis débutante en Matlab et je veux appliquer la formule ci-dessous , mais je ne sais pas comment:surtout le produit et la somme
    Une façon de faire est de décomposer le problème en plusieurs parties qui seront autant de fonctions, chaque fonction appelant en entrée les variables dont elle a besoin, puis de combiner le tout

    1) pour le produit:

    Code:
    fonction p=monproduit(i,C)
    
    p=1;        % initialisation à l'élément neutre pour le produit
    
    for j=1:i
            init=p*j((C+1-j)/C); 
    end 
    
    end         %endfunction
    2) pour la somme

    Code:
    function s=masomme(lambda, L, A, C)
    
    s=0;       % initialisation à l'élément neutre pour la somme
    
    for i=1:C
            haut=(lambda*L/A)^i;
            bas=monproduit(i,C);
            s=s+haut/bas;
    end 
    
    end         % endfonction
    3) on combine en mettant à la fin du code les fonctions intermédiaires

    Code:
    function resultat=myfunction(lambda, L, A, C)
    
    resultat=1+masomme(lambda, L, A, C);
    
    end         % fin de la fonction principale
    
    function s=masomme(lambda, L, A, C)
    
    s=0;       % initialisation à l'élément neutre pour la somme
    
    for i=1:C
            haut=(lambda*L/A)^i;
            bas=monproduit(i,C);
            s=s+haut/bas;
    end 
    
    end         % fin de la sous-fonction 1
    
    fonction p=monproduit(i,C)
    
    p=1;        % initialisation à l'élément neutre pour le produit
    
    for j=1:i
            init=p*j((C+1-j)/C); 
    end 
    
    end         % fin de la sous-fonction 2
    Ce n'est probablement pas la façon la plus efficace de coder cela, mais si tu débutes c'est la démarche la plus simple.

  3. #3
    invite928b2ff5

    Re : produit et somme matlab

    Merci pour votre réponse,
    J'ai écrit cette fonction
    Code:
    function p0= calculp0(L,K,N,lamda,A)
    c=L*K*N;
    p=0;
      for i=1:1:c
          for j=1:1:i
             p1 = (lamda*L/A)^i/(j*((c+1-j)/c)); 
             p = p+p1;   
          end
          p0=p;
      end
    Est -il vrai?
    En fait j'ai essayé avec le votre, mais il m'affiche des messages d'erreur.

  4. #4
    invite6c250b59

    Re : produit et somme matlab

    Citation Envoyé par May29 Voir le message
    Est -il vrai?
    Ce n'est pas conforme à l'équation, en particulier "(lamda*L/A)^i)" est dans la boucle de multiplication (entre autres problèmes).

    Citation Envoyé par May29 Voir le message
    le votre, mais il m'affiche des messages d'erreur.
    Yep, deux typos ("init" à la place de "p", absence du signe "*" après le "j")... on va dire qu'ils étaient "laissés en exercice"

    Code:
    function resultat=myfunction(lambda, L, A, C)
    
    resultat=1+masomme(lambda, L, A, C);
    
    end         % fin de la fonction principale
    
    function s=masomme(lambda, L, A, C)
    
    s=0;       % initialisation à l'élément neutre pour la somme
    
    for i=1:C
            haut=(lambda*L/A)^i;
            bas=monproduit(i,C);
            s=s+haut/bas;
    end 
    
    end         % fin de la sous-fonction 1
    
    function p=monproduit(i,C)
    
    p=1;        % initialisation à l'élément neutre pour le produit
    
    for j=1:i
            p=p*j*((C+1-j)/C); 
    end 
    
    end         % fin de la sous-fonction 2

  5. A voir en vidéo sur Futura
  6. #5
    invite6c250b59

    Re : produit et somme matlab

    Citation Envoyé par May29 Voir le message
    J'ai écrit cette fonction
    Ci-dessous, une version corrigée conservant le style de ta fonction (et identique à la mienne (sauf en cas de très grand nombre, pour lesquelles les deux algorithmes peuvent arrondir différemment))

    Code:
    function p0=calculp0(L,K,N,lamda,A)
    c=L*K*N;                                            % je suppose que c'est correct
    p=0;                                                  
    for i=1:c                                              % le chiffre du milieu est facultatif (1 est le défaut)
          p1=1;                                            % ici il manquait l'initialisation du produit
          for j=1:i                                      
             p1 = p1*(j*((c+1-j)/c));               % la partie de la fonction pour le produit
          end
          p=p+(lamda*L/A)^i/p1;                  % la partie de la fonction qui calcule la somme
      end
    p0=1+p;                                               % il manquait aussi la fin du calcul
      
    end
    Ta fonction est légèrement plus efficace que la mienne, mais avec l'inconvénient d'être plus difficile à comprendre/corriger (surtout quand on débute). Si la performance est un objectif, on peut faire mieux en adoptant un style vectorisé.

  7. #6
    invite928b2ff5

    Re : produit et somme matlab

    Pour les grandes valeurs les deux algorithmes donnent comme résultat l'infini

  8. #7
    invite9dc7b526

    Re : produit et somme matlab

    c'est bien compliqué Matlab...

    la même chose sous R : fu <- function(lambda,L,A,C) 1/(1+sum((lambda*L/A)^(1:C)/cumprod((1:C)*(C:1)/C)))

  9. #8
    invite928b2ff5

    Re : produit et somme matlab

    la même chose sous R : fu <- function(lambda,L,A,C) 1/(1+sum((lambda*L/A)^(1:C)/cumprod((1:C)*(C:1)/C)))
    J'ai déjà l'écrit en java , même chose.

  10. #9
    invite6c250b59

    Re : produit et somme matlab

    Citation Envoyé par May29 Voir le message
    Pour les grandes valeurs les deux algorithmes donnent comme résultat l'infini
    Cela me parait normal... le calcul que tu indiquais souhaiter est celui de P^-1, qui tend vers l'infini quand P tend vers 0.

  11. #10
    invite928b2ff5

    Re : produit et somme matlab

    Est-il vrai de faire des exceptions pour les valeurs qui tendent vers l'infini , pour calculer p0?

Discussions similaires

  1. Matlab-produit de termes dans une somme
    Par invite51e2cecd dans le forum Programmation et langages, Algorithmique
    Réponses: 16
    Dernier message: 23/03/2015, 09h14
  2. Somme et produit
    Par invitecac2a891 dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 15/01/2015, 16h57
  3. Somme+Produit
    Par invite619c4300 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 29/11/2013, 23h23
  4. somme et produit
    Par invite81670530 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 25/10/2006, 17h01
  5. une somme de produit
    Par invite832f64b0 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 19/04/2005, 20h23