Problème Matlab optimisation
efpe
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
karirovax Messages postés 3221 Date d'inscription Statut Membre Dernière intervention -
karirovax Messages postés 3221 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je dois créer un programme sur matlab pour minimiser une intégrale
L'intégrale en fonction est :
" function out=obj(x)
x=0:0.01:1;
aux=sqrt(1+polyval(polyder(A,x),x).^2);
out=aux./(sqrt(2*9.81*(1-polyval(A,x)))+0.001);
"
Je dois en fait trouver le polynome qui minimise l'intégrale de cette fonction. A représente la matrice des coefficients du polynôme.
J'ai ensuite créer la macro :
"
function t=temps
t=quad(@(x) obj,0,1);
"
pour calculer l'intégrale de ma fonction entre 0 et 1
Enfin j'ai écrit dans une autre macro :
"
Aeq=zeros(2,4);
Aeq(1,4)=1;
for i=1:1:4;
Aeq(2,i)=1;
end;
beq=[1 0]';
fmincon(@(A) temps,zeros(4,1),[],[],Aeq,beq)
"
Pour créer ma condition Aeq.X = beq (je sais que c'est compliqué de faire mon Aeq comme ça mais normalement le programme est plus adaptable, là j'ai simplifié)
Je voudrais savoir ce qui cloche dans le programme ^^ je pense avoir mal utiliser la fonction fmincon, il me demande de lui définir A mais justement A c'est ma variable que je dois optimiser ...
Je précise que je suis très débutant dans matlab :)
Merci à toutes les personnes qui pourraient m'apporter leur aide
je dois créer un programme sur matlab pour minimiser une intégrale
L'intégrale en fonction est :
" function out=obj(x)
x=0:0.01:1;
aux=sqrt(1+polyval(polyder(A,x),x).^2);
out=aux./(sqrt(2*9.81*(1-polyval(A,x)))+0.001);
"
Je dois en fait trouver le polynome qui minimise l'intégrale de cette fonction. A représente la matrice des coefficients du polynôme.
J'ai ensuite créer la macro :
"
function t=temps
t=quad(@(x) obj,0,1);
"
pour calculer l'intégrale de ma fonction entre 0 et 1
Enfin j'ai écrit dans une autre macro :
"
Aeq=zeros(2,4);
Aeq(1,4)=1;
for i=1:1:4;
Aeq(2,i)=1;
end;
beq=[1 0]';
fmincon(@(A) temps,zeros(4,1),[],[],Aeq,beq)
"
Pour créer ma condition Aeq.X = beq (je sais que c'est compliqué de faire mon Aeq comme ça mais normalement le programme est plus adaptable, là j'ai simplifié)
Je voudrais savoir ce qui cloche dans le programme ^^ je pense avoir mal utiliser la fonction fmincon, il me demande de lui définir A mais justement A c'est ma variable que je dois optimiser ...
Je précise que je suis très débutant dans matlab :)
Merci à toutes les personnes qui pourraient m'apporter leur aide
A voir également:
- Problème Matlab optimisation
- Optimisation pc - Accueil - Utilitaires
- Optimisation découpe panneau gratuit - Télécharger - Outils professionnels
- Optimisation windows 10 - Guide
- Clicker paladium optimisation - Forum Minecraft
- Logiciel optimisation tournée livraison - Forum iPhone
2 réponses
A est la matrice de mes coefficients de polynome
En fait je fais l'intégrale par rapport à x d'une fonction de y(x) où y est un polynome en x. Et je veux le polynôme y qui minimise l'intégrale
Comment s'utilise la commande input ? c'est pour déclarer ma variable ? je croyais qu'on ne déclarait pas les variables dans matlab ...
En fait je fais l'intégrale par rapport à x d'une fonction de y(x) où y est un polynome en x. Et je veux le polynôme y qui minimise l'intégrale
Comment s'utilise la commande input ? c'est pour déclarer ma variable ? je croyais qu'on ne déclarait pas les variables dans matlab ...
désolé pour le retard mais je vous donne un site trés complet ( de a à z ) des tutoriel et autres :
le site :
https://matlab.developpez.com/
la faq :
https://matlab.developpez.com/faq/
bonne chance ;)