Programmer avec MATLAB

Résolu
Bonjour,
alors SVP si il y a quelle qu un qui pourai m aider dans un des programme suivant:
1_ecrire un programme qui génère une variable aleatoire qui suit la loi noramle (loi de gausse )
2_Déduire la loi de probabilité d'une variable aleatoire a partire d'une sequance de valeurs
3_Ecrire un programme qui permet de deduire la serie statisue d'un texte pour les caracteres et les mots
je vous remerci d avance.
Configuration: Windows XP
Firefox 2.0.0.11

13 réponses

  1. Salut
    Je peux juste t'aider pour la première, ça te convient quand même? De toute façon ma question est un peu stupide puisque le message est déjà posté :-D
    Pour générer des nombres aléatoires suivant une loi gaussienne sous Matlab, pas besoin de programme, la fonction randn le fait pour toi.
    A plus
    1. Comment faire sa
  2. rou=1.229;
    V=12;
    c1=0.5176;
    c2=116;
    c3=0.4;
    c4=05;
    c5=21;
    c6=0.0068;
    betta=12;
    R=21.5;
    S=pi*R^2;
    w=40;
    lamda=(w*R)/V;
    Q=((1/(lamda+0.08*betta))+(0.035/betta^3+1));
    Cp=c1*(c2/Q-c3*betta-c4)*exp(-c5/Q)+c6*lamda;
    figure

    subplot(121)
    plot(Cp,lamda,'r*')
    grid on
    xlabel('lamda'),ylabel('Cp')

    disp('La valeur de puissance aerodynamique est :');
    Pa=1/2*rou*S*V^3*Cp

    subplot(122)
    plot(Pa,V,'r*')
    xlabel('lpa'),ylabel('wind speed (m/s)')
    grid on

    le probleme toutes les donnees est constantes comment je trouve les courbes sous forme expolentielle
    1. merci ça me convient tres bien et ta question est loin d etre stupide :):)
      merci encore une fois mais je sais vraiment pas de quoi sa parle alors si tu peux me dire stp comment faire sa
      (utiliser la fonction randn ) si tu pouvai m eclairé encor un peu stp :) si sa ne te derange pas
      merci
      1. Si tu veux une aide plus précise, tu peux taper help randn sous Matlab.
        Pour résumer randn(n,m) te donne une matrice nxm de nombres aléatoires suivant la loi normale centrée réduite.
        Ça te convient comme explication ou tu veux plus de détails?
        1. merci , mais le probleme c est que je sais vraiment pas quoi ecrire et je voix pas comment comancer :(:(:(
          1. Bzn si tu tapes rand(50,1) par exemple ça te donnera 50 nombres aléatoires suivant la loi gaussienne organisés en colonne. rand(1,50) te donnera 50 nombres aléatoires suivant la loi gaussienne organisés en ligne.
            1. merci je vais essaye de faire sa
              1. De rien
                Désolé pour le reste de tes questions, je vois pas...
            2. merci déja que tu ma ete d une tres grand aide merci encore
              1. Si t'as d'autres questions, hésite pas à faire un nouveau sujet.
                Avec un peu de chance je pourrais t'aider un peu.
                A plus
            3. bonsoir
              SVP j'ai besoin d'aide ! je cherche un programme de résolution des systèmes linaire (méthode de GAUSSE) sous MATLAB ! MERCI et aidé moi s'il vous plait !!!
              1. Fais ton propre post.
                Et de toutes façons Matlab le fait, pas besoin de programme.
            4. oh! merci pr la reponse ! mais le prof ma demandé de préparé un programme ki utilise la methode de gausse! je doi l'éxposé j'ai un programme mais il m donne """??? Error using ==>triang
              Too many inputarguments.

              je c pa c koi le probléme voila mon programme :
              %programme principal pour resoudre l'equation Ax=b
              n=input (' Donner la taille de la matrice')
              b=input('Donner le second membre')
              A=input('entrer la matrice')
              [A,b]=triang(A,b,n)
              disp('la solution du systeme')
              b = solv(A,b,n)

              function [A,b]=triang(A,b,n)
              for k=1:n
              for i=k+1:n
              A(i,k)=A(i,k)/A(k,k);
              b(i)=b(i)-A(i,k)*b(k);
              for j=k+1:n
              A(i,j)=A(i,j)-A(i,k)*A(k,j);
              end
              end
              end

              function [b]= solv(A,b,n)
              for k=n:-1:1
              for j=k+1:n
              b(k)=b(k)-A(k,j)*b(j);
              end
              b(k)=b(k)/A(k,k);
              end
              1. Salut
                triang est déjà une fonction Matlab, ne l'utilise pas pour définir une fonction. J'ai aussi changé le solv. Il y a pas de fonction Matlab s'appelant solv mais au cas où t'aurais l'idée saugrenue d'ajouter un e au nom de ta fonction sache qu'il y a une fonction Matlab s'appelant solve. Du coup j'ai mis un nom bien différent.

                Il faudra aussi que tu améliores ton programme pour le cas où un zéro apparaît sur la diagonale.
                %programme principal pour résoudre l'equation Ax=b
                n=input ('Donner la taille de la matrice, n = ');
                n
                b=input('Donner le second membre, b = ');
                b
                A=input('Entrer la matrice, A = ');
                A
                [A,b]=triangle(A,b,n);
                disp('La solution du système est')
                b = solve_triangle(A,b,n)
                
                function [A,b]=triangle(A,b,n)
                for k=1:n
                for i=k+1:n
                A(i,k)=A(i,k)/A(k,k);
                b(i)=b(i)-A(i,k)*b(k);
                for j=k+1:n
                A(i,j)=A(i,j)-A(i,k)*A(k,j);
                end
                end
                end
                
                function b= solve_triangle(A,b,n)
                for k=n:-1:1
                for j=k+1:n
                b(k)=b(k)-A(k,j)*b(j);
                end
                b(k)=b(k)/A(k,k);
                end
                
                1. merci pr votr reponse!
                  """??? Undefined command/function 'triangle'.""" c le message kil m'affiche apré l'éxecution du progragemme :(
                  SVP aidé moi je doi l'éxposé le lundi prochain ! :-(
                2. @d.radouanJe suppose que t'as fait un copié-collé et que t'as lancé ça directement ou alors que t'as tout mis dans le même fichier.
                  Il te faut trois fichiers:

                  main.m qui contient:
                  %programme principal pour résoudre l'equation Ax=b
                  n=input ('Donner la taille de la matrice, n = ');
                  n
                  b=input('Donner le second membre, b = ');
                  b
                  A=input('Entrer la matrice, A = ');
                  A
                  [A,b]=triangle(A,b,n);
                  disp('La solution du système est')
                  b = solve_triangle(A,b,n)
                  

                  triangle.m qui contient:
                  function [A,b]=triangle(A,b,n)
                  for k=1:n
                  for i=k+1:n
                  A(i,k)=A(i,k)/A(k,k);
                  b(i)=b(i)-A(i,k)*b(k);
                  for j=k+1:n
                  A(i,j)=A(i,j)-A(i,k)*A(k,j);
                  end
                  end
                  end
                  

                  solve_triangle.m qui contient:
                  function b=solve_triangle(A,b,n)
                  for k=n:-1:1
                  for j=k+1:n
                  b(k)=b(k)-A(k,j)*b(j);
                  end
                  b(k)=b(k)/A(k,k);
                  end
                  

                  Et le programme se lance en tapant tout simplement main dans la fenêtre Matlab.
                  Ciao
                3. @Sacabouffere dsl j'ai été pas la ! no croi moi fréro i swear je savé pas les régles ! je savé pas ke je pe pas metr mon message dans plusieurs discution !! :-( je suis vraiment désolé !!
                4. @d.radouanPas grave... mais évite la prochaine fois.
                  Ça te permettra pas d'obtenir de réponse plus vite et en plus c'est gavant.
                  Mais t'en fais pas, c'est oublié :-D
                  Par contre, une autre règle qu'il faut que t'essaies de suivre!!! Pas de langage SMS!!!
                  Ça aussi c'est gavant, passer 5min à déchiffrer un truc...
                  Mais bon... t'as l'air sincère et tout et tout... donc je t'en veux pas.
                  Ciao
                5. @Sacabouffesvp pouvez-vous m 'aider . il me demande d'écrire n= ,a= et b= ... !!!!!!!!
              2. salut!
                voila mon probleme c de programmer l'equation suivante avec matlab et faire un plot
                dx(t)/t=r*x(t)(1-x(t)/k)+e(t)
                e(t) est un briut blanc c à d une variable aléatoire suivant un e loi normal.
                r et k sont donné.
                1. Salut
                  Tout d'abord, si tu as un problème, c'est mieux que tu fasse un sujet à toi.
                  Ensuite, utilise un des ode solvers de Matlab ou résous ton équation par différences finies.
                  A plus
              3. salut moi ma quistion est:
                1-commont ajuster une loi de probabilité avec matlab ''loi de weibull"
                2-faire les graphs de densité et fiabilité
                2-comment trouver le mini d'une fonction
                merci d'avance
                Adresse mail supprimée Modération CCM
                1. Salut, moi mes réponses sont:
                  1-Aucune idée
                  2-Aucune idée
                  3-fminbnd,fminsearch
                  A plus