existe t-il d'autre méthode a part la commande 'conv' pour calculer le produit de convolution ?je viens de crée un programme, mais je plante au niveau convolution, la commande conv me donne des valeurs fausse,
je veux faire le produit de convolution F1*f1
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 clear all,clc %calcul de la densité h=2; T=0:h:100; m=length(T); for i=1:m f1(i)=gam_pdf(T(i),1); end figure(1) plot(T,f1,'r') legend('n=1') %calcul de la fonction de répartition for i=1:m if i==1 F1(i)= 0; else F1(i)= quad(@(t)gam_pdf(t,1),0,(i-1)*h); end end figure(2) plot(T,F1,'r') legend('n=1')
avec le gam_pdf.m est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function f=gam_pdf(t,n) betta=3; alpha=3; a=0.85; if n<=0 error('Il faut prendre n>=1') else f=(1./(((betta.*a.^(n-1)).^alpha)*gamma(alpha))).*(t.^(alpha-1)).*exp(-t./(a.^(n-1)*betta)); end
Partager