// Test de Neyman Pearson et detection radar printf('%s','Test de Neyman-Pearson et detection radar') // Saisie et calcul des paramètres alpha=0.001; talpha=cdfnor("X",0,1,1-alpha,alpha); N=20; sgm=0.6; bornrej=talpha.*sgm.*N^(-0.5); // rejet si moyenne depasse cette valeur ch1='Au niveau alpha = '; ch2=', on rejette H0 si la moyenne dépasse '; printf('%s%g%s%f',ch1,alpha,ch2,bornrej); // simulation du bruit n=10000; // nombre d'échantillons de taille N générés printf('%s%d%s%d%s','On simule ',n,' échantillons de taille ',N,' du bruit') rand("normal"); Z=sgm.*rand(N,n); // chaque colonne est un échantillon de N(0,sgm) Zbar=sum(Z,'r')./N; // vecteur ligne des moyennes empiriques // frequence empirique de fausses détections FDfreq=sum(bool2s(Zbar>bornrej))./n; printf('%s%.4f','Sous H0, fréquence empirique de fausses détections : ',FDfreq) // %.4f impose 4 chiffres après la virgule pour fréquences // // Sous H1 A=0.7; // valeur du signal printf('%s%g', 'Sous H1, avec valeur du signal A = ',A) // Proba de non détection et puissance [Pnd,Puiss]=cdfnor("PQ",talpha-(A./sgm).*N^(0.5),0,1); printf('%s%g',' - probabilité de non détection d''une cible : ',Pnd) // Observations sous H1 ZZ=A.*ones(Z)+Z; // avec signal, on recycle le meme bruit Z ZZbar=sum(ZZ,'r')./N;//vecteur ligne des moyennes empiriques sous H1, // // frequence empirique des cibles non détectées CNDfreq=sum(bool2s(ZZbar<=bornrej))./n; printf('%s%.4f',' - fréquence empirique des cibles non détectées : ',CNDfreq);