Maximisation d'une fonction sous matlab
Fermé
jaghdali
Messages postés
2
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
3 octobre 2008
-
28 sept. 2008 à 00:05
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 3 oct. 2008 à 03:18
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 3 oct. 2008 à 03:18
Bonjour,
y aurait -il quelqu'un pour m'aider à créer la syntaxe sur matlab pour maximiser une fonction d'utilité U(x) sur x.
x est comprise entre 0 et 1.
j'ai essayer avec argmax mais en vain..
merci d'avance
y aurait -il quelqu'un pour m'aider à créer la syntaxe sur matlab pour maximiser une fonction d'utilité U(x) sur x.
x est comprise entre 0 et 1.
j'ai essayer avec argmax mais en vain..
merci d'avance
A voir également:
- Maximisation d'une fonction sous matlab
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction miroir - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Fonction somme excel - Guide
3 réponses
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
3 oct. 2008 à 03:18
3 oct. 2008 à 03:18
Salut
Apparemment la réponse venait pas assez vite...
http://www.commentcamarche.net/forum/affich 8707715 simulation maximisation d utilite plots
J'en suis désolé, j'avais oublié que mon devoir en tant que bénévole était de résoudre ton exercice en quatrième vitesse.
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bonne nuit
Apparemment la réponse venait pas assez vite...
http://www.commentcamarche.net/forum/affich 8707715 simulation maximisation d utilite plots
J'en suis désolé, j'avais oublié que mon devoir en tant que bénévole était de résoudre ton exercice en quatrième vitesse.
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bonne nuit
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
28 sept. 2008 à 23:25
28 sept. 2008 à 23:25
Salut
[maxU xloc] = max(U); xloc=x(xloc);À plus
jaghdali
Messages postés
2
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
3 octobre 2008
3 oct. 2008 à 03:03
3 oct. 2008 à 03:03
merci beaucoup pour votre réponse concise
mais puisque je suis presque nulle en programmation ... cela ne m'a pas suffit pour résoudre mon problème toute seule et je reviens à votre appui svp en vous posant cette fois ci tout mes soucis en bloc (désolée).
tous mes calculs se font d'une manière itérative pour:
rho_I=0:0.01:1 et
rho_G=0:0.01:1
première étape:
%simulation de la prime d'assurance =P(rho_I,rho_G)%
pour cela j'ai réussi à générer un échantillon de taille 1000 pour rho_G=0.5 et rho_I=0.5 pour simuler P
j'ai commencé par créer une matrice A pour une valeur rho_G=0.5
cette matrice doit avoir 1 en diagonale et rho_G ailleurs
>> A=0.5*ones(10,10);
>> for i=1:10;
A(i,i)=1;
end
en fait il me faut une fonction qui génère plusieurs matrices : une matrice pour chaque valeur de rho_G.
je continue quand même la simulation avec A (pour rho_G=0.5) et rho_I=0.5
s = chi2rnd(1,1000,1);
u=tcdf(randn(1000,10)*chol(A).*( sqrt(1./s)*ones(1,10) ),1);
x = binoinv(u,100,betainv(u,0.1*(1/rho_I -1),0.9*(1/rho_I -1)));
y=[sum(x'(:,i))];
P=mean(y)/10000+0.01*(quantile(y,0.995)-mean(y))/10000
et je me suis arrêtée là !!!
maintenant je dois représenter graphiquement les niveaux de P dans le plan en mettant en abscisse rho_I=0:0.01:1 et en ordonnées rho_G=0:0.01:1
Pourriez vous m'aider à parvenir à ces résultats en faisant varier rho_I et rho_G
deuxième étape:
%maximisation de l'utilité%
voici ma fonction d'espérance d'utilité:
EU= somme (p(i,rho_I) * f(i,a,P)) pour i=1:100
p(i, rho_I) est une fonction de probabilité définie pour rho-I =0:0.01:1
p(i, rho_I)=beta(100-i+0.9*(1/rho_I -1),0.1*(1/rho_I -1)+i)/(101*beta(101-i,i+1)*beta(0.1*(1/rho_I -1),0.9*(1/rho_I -1)))
f(i,a, sigma,P) est la fonction d'utilité pour 0<=a<=1 et sigma=1.5:0.5:3
f(i,a, sigma,P)=(1-sigma)^(-1)*(101-100*a*P-(1-a)*i )^(1-sigma)
alors je dois maximiser EU en "a"pour chaque valeur de rho_I , chaque valeur de P et chaque valeur de sigma sachant que P se calcule en fonction de rho_I et rho_G comme indiqué plus haut.
ensuite représenter graphiquement (colorer par exemple) les point dans le plan (rho_I , rho_G) pour lesquels les EU "maximiseés" (pour chaque rho_I ) sont supérieures à une valeur initiale EU_0 = somme (p(i,rho_I) * (1-sigma)^(-1)*(101-i )^(1-sigma).
au total on aura 4 graphique: un pour chaque valeur de sigma.
je sais que c'est un exercice pénible! mais je serait reconnaissante si vous pouvez m'aider.
mes remerciements d'avance
mais puisque je suis presque nulle en programmation ... cela ne m'a pas suffit pour résoudre mon problème toute seule et je reviens à votre appui svp en vous posant cette fois ci tout mes soucis en bloc (désolée).
tous mes calculs se font d'une manière itérative pour:
rho_I=0:0.01:1 et
rho_G=0:0.01:1
première étape:
%simulation de la prime d'assurance =P(rho_I,rho_G)%
pour cela j'ai réussi à générer un échantillon de taille 1000 pour rho_G=0.5 et rho_I=0.5 pour simuler P
j'ai commencé par créer une matrice A pour une valeur rho_G=0.5
cette matrice doit avoir 1 en diagonale et rho_G ailleurs
>> A=0.5*ones(10,10);
>> for i=1:10;
A(i,i)=1;
end
en fait il me faut une fonction qui génère plusieurs matrices : une matrice pour chaque valeur de rho_G.
je continue quand même la simulation avec A (pour rho_G=0.5) et rho_I=0.5
s = chi2rnd(1,1000,1);
u=tcdf(randn(1000,10)*chol(A).*( sqrt(1./s)*ones(1,10) ),1);
x = binoinv(u,100,betainv(u,0.1*(1/rho_I -1),0.9*(1/rho_I -1)));
y=[sum(x'(:,i))];
P=mean(y)/10000+0.01*(quantile(y,0.995)-mean(y))/10000
et je me suis arrêtée là !!!
maintenant je dois représenter graphiquement les niveaux de P dans le plan en mettant en abscisse rho_I=0:0.01:1 et en ordonnées rho_G=0:0.01:1
Pourriez vous m'aider à parvenir à ces résultats en faisant varier rho_I et rho_G
deuxième étape:
%maximisation de l'utilité%
voici ma fonction d'espérance d'utilité:
EU= somme (p(i,rho_I) * f(i,a,P)) pour i=1:100
p(i, rho_I) est une fonction de probabilité définie pour rho-I =0:0.01:1
p(i, rho_I)=beta(100-i+0.9*(1/rho_I -1),0.1*(1/rho_I -1)+i)/(101*beta(101-i,i+1)*beta(0.1*(1/rho_I -1),0.9*(1/rho_I -1)))
f(i,a, sigma,P) est la fonction d'utilité pour 0<=a<=1 et sigma=1.5:0.5:3
f(i,a, sigma,P)=(1-sigma)^(-1)*(101-100*a*P-(1-a)*i )^(1-sigma)
alors je dois maximiser EU en "a"pour chaque valeur de rho_I , chaque valeur de P et chaque valeur de sigma sachant que P se calcule en fonction de rho_I et rho_G comme indiqué plus haut.
ensuite représenter graphiquement (colorer par exemple) les point dans le plan (rho_I , rho_G) pour lesquels les EU "maximiseés" (pour chaque rho_I ) sont supérieures à une valeur initiale EU_0 = somme (p(i,rho_I) * (1-sigma)^(-1)*(101-i )^(1-sigma).
au total on aura 4 graphique: un pour chaque valeur de sigma.
je sais que c'est un exercice pénible! mais je serait reconnaissante si vous pouvez m'aider.
mes remerciements d'avance