IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

intervalle de variables aléatoires


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut intervalle de variables aléatoires
    Bonsoir,j'ai une matrice de dimension (100,7),je veux ajouter à chaque composantes de cette matrice un intervalle qui contient des variables aléatoires comprises entre 2 et -2,comment je fais sil vous plais??merci

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    m= ones(100,7); % ta matrice
    mBruitee = m + 4*rand(100,7)-2;
    Ici, j'ai rajouté un bruit uniforme sur l'intervalle [-2:+2] à chaque coefficient (indépendement) de m, mais il existe beaucoup d'autres distributions sur l'intervalle [-2;+2]

    ajouter à chaque composantes de cette matrice un intervalle qui contient des variables aléatoires comprises entre 2 et -2
    -> Ajouter à chaque composante une variable aléatoire contenue dans l'intervalle [-2:2]

  3. #3
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour,
    votre question ressemble fortement à celle que vous avez posté ici.
    Pouvez vous nous éclairer sur la différence entre l'ancien problème (et les solutions apportées) et le nouveau problème, afin que nous ne répétions pas nos réponses?

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    N=100;k=1:N; ndim=7;
    v1(k)=rand(1,100);
    v2(k)=rand(1,100);
    v3(k)=rand(1,100);
     
    x1=0.4*v1(k)+sin(k/N);
    x2=v2(k)-2*cos(k/4);
    x3=0.2*v3(k)-1;
    x4=x1+x2;
    x5=x2+x3;
    x6=2*x1+x3;
    x7=x4+x5;
     
    x=[x1' x2' x3' x4' x5' x6' x7'];
     
    x1(:,8:15)=x1(:,8:15)+3;
    x3(:,34:41)=x3(:,34:41)+3;
    x5(:,58:65)=x5(:,58:65)+3;
     
    subplot(711);plot(x1);axis([0 100 -4 4]);
    subplot(712);plot(x2);axis([0 100 -4 4]);
    subplot(713);plot(x3);axis([0 100 -4 4]);
    subplot(714);plot(x4);axis([0 100 -4 4]);
    subplot(715);plot(x5);axis([0 100 -4 4]);
    subplot(716);plot(x6);axis([0 100 -4 4]);
    subplot(717);plot(x7);axis([0 100 -4 4]);
     
    a=x'*x;
    [v,lamda]=eig(a);
     
    dalta=2*rand(100,7)-1;
     
     X=x+dalta;
     
    X1=X(1,:);
    X2=X(2,:);
    X3=X(3,:);
    X4=X(4,:);
    X5=X(5,:);
    X6=X(6,:);
    X7=X(7,:);
    X=[X1' X2' X3' X4' X5' X6' X7'];
     
    dalta1=dalta'*x+x'*dalta+dalta'*dalta;
    A=a+dalta1
     
    [dalta2(i,:);dalta3(i,:)] = inv([a-lamda(i,:) -v(i,:);v(i,:)' 0])*[-dalta1*v(i,:);0];
    voila mon programme que j'ai fais,et j'ai pas pu résoudre le probléme de la ligne 47,aidez moi svp

  5. #5
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour,
    ligne 47 est dans une boucle de i=1:7 ?
    Attention aux dimensions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    size(a)
    i=1;
    size(lamda(i,:))
    Ensuite, tu ne peux pas séparer le résultat comme ca, commence par enregistrer le resultat dans une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    temp = inv([a-lamda(i,:) -v(i,:);v(i,:)' 0])*[-dalta1*v(i,:);0];% corrigé des erreurs de dimensions
    Puis sépare les résultats comme tu le souhaites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dalta2(i,:) = temp(1,:);
    dalta3(i,:) = temp(2,:); %par exemple

Discussions similaires

  1. Générateur de variable aléatoire
    Par wapita dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2014, 01h39
  2. paramètres sur un lien et variables aléatoire
    Par opeo dans le forum Langage
    Réponses: 5
    Dernier message: 09/03/2007, 14h56
  3. Réponses: 4
    Dernier message: 18/01/2007, 13h48
  4. Générer une variable aléatoire gaussienne
    Par User dans le forum Probabilités
    Réponses: 5
    Dernier message: 29/06/2006, 22h58
  5. Réponses: 2
    Dernier message: 08/06/2006, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo