Problème Matlab optimisation

Fermé
efpe Messages postés 2 Date d'inscription jeudi 14 octobre 2010 Statut Membre Dernière intervention 14 octobre 2010 - 14 oct. 2010 à 17:11
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 - 18 oct. 2010 à 12:32
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

A voir également:

2 réponses

efpe Messages postés 2 Date d'inscription jeudi 14 octobre 2010 Statut Membre Dernière intervention 14 octobre 2010 1
14 oct. 2010 à 17:35
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 ...
1
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
18 oct. 2010 à 12:32
Re:

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 ;)
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
14 oct. 2010 à 17:29
salut

je suis aussi dans un temps un débutant ( maintenat ca fait 4 ou 5ans qui j'ai pas utilisé Matlab )

mais quel est votre A ( une matrice, vecteur, fonction ...etc ) ?

ajoutez la commande input pour entrer votre variable A et réessayez !!
0