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
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
Bonjour,
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]
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;
-> Ajouter à chaque composante une variable aléatoire contenue dans l'intervalle [-2:2]ajouter à chaque composantes de cette matrice un intervalle qui contient des variables aléatoires comprises entre 2 et -2
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?
N'oubliez pas de consulter les FAQ Matlab et les tutoriels Matlab
Pas de question technique par MP, Merci
voila mon programme que j'ai fais,et j'ai pas pu résoudre le probléme de la ligne 47,aidez moi svp
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];
Bonjour,
ligne 47 est dans une boucle de i=1:7 ?
Attention aux dimensions :
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
1
2
3 size(a) i=1; size(lamda(i,:))
Puis sépare les résultats comme tu le souhaites :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dalta2(i,:) = temp(1,:); dalta3(i,:) = temp(2,:); %par exemple
N'oubliez pas de consulter les FAQ Matlab et les tutoriels Matlab
Pas de question technique par MP, Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager