Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Maillage matlab

Posté par
miikou
18-06-10 à 11:17

salut

je cherche comment effectue un maillage de points verifiants

x+y+z=1 et x,y,z dans IR+

c'est donc l'intersection du plan dans R+^ 3 qui donne un beau triangle equilateral

En fait c'est pour optimiser sous contrainte le systeme

x+y+z=1
xy+yz+zx-2xyz

merci.

Posté par
buzard
re : Maillage matlab 19-06-10 à 00:27

Bonsoir,

t'es sûre d'avoir besoin d'un maillage pour optimiser? Si ce n'est pour restreindre l'espace de recherche (et donc s'éloigner de l'optimal), je vois pas à quoi ça peut servir.
D'habitude on emploi plutôt une descente de gradient que tu peux projeter dans l'espace des contraintes (en général un simplex), ou mieux faire de la relaxation lagrangienne pour transformer des contraintes en variables.

Posté par
miikou
re : Maillage matlab 19-06-10 à 10:04

salut

oui je connais bien les methodes que tu cites mais ici c'est beaucoup trop lourd.
ici on prefera simplement utiliser l'inégalité de Schur, ou l'etude des diff avec l'IAG.


tu dis s'eloigner de l'optimal je ne vois vraiment pas pourquoi tu dis ca.

ici les contrainte x,y,z > 0 et x+y+z=1 c'est en fait le triangle de sommet (1,0,0) (0,1,0) (0,0,1)

je voudrais juste mailler cette surface avec matlab afin de d'evaluer en chaque point f(x,y,z) voila voila

Posté par
buzard
re : Maillage matlab 19-06-10 à 12:39

tu veux donc calculer un truc du genre
\bigsum_{i=1..n}{\frac{1}{2}i(i+1)} = \frac{1}{6}n(n+1)(n+2) = O(n^3)
valeurs de f, vu que c'est un triangle ton espace de recherche, (sans même être sur que parmis les points de ce maillage tu ai un arg max de f)

pour avoir une précision disons donnée il te faut en moyenne n=O(log 1/) itérations.

pour 5 iteration tu auras calculé 125 valeurs de f, ce qui n'est pas très recommandé comme performance.

Dans le meme temps, avec une descente gradient (quasi newton ou autre) qui converge a peu pres dans le même nombre d'iteration tu n'auras fait que O(n) calcul de f et de ses derivés.

y'a pas foto

Posté par
miikou
re : Maillage matlab 19-06-10 à 13:03

le arg max je le connais et tu admettra que pour programmer sous matlab mon idée est bien plus simple ..

Posté par
buzard
re : Maillage matlab 19-06-10 à 13:21

Ben justement non, pour deux raisons essentiellement :

- il y a déjà des fonctions implémenté dans mathlab ou scilab pour faire de l'optimisation (optim sous scilab je ne connais pas l'équivalent mathlab mais ça doit pas etre loin), en plus dans ton cas tu peux facilement expliciter le gradient pour accélérer la recherche (ça lui évite de l'approximer avec du RK ou de l'interpolation)

- c'est loin d'être plus simple, la preuve en ai que tu n'arrive même pas à paver le triangle.

ceci dit pour la methode utilise linspace pour sibdiviser le carre, puis tu le transforme (matrice dans R3) en parallelogramme et tu coupe ce dernier pour avoir ton triangle

il y a un seul avantage à faire le calcul sur le maillage complet, si tu veux représenter graphiquement (du style avec des couleurs) f sur ce triangle.

bon courrage

Posté par
miikou
re : Maillage matlab 19-06-10 à 13:38

mais oublie un peu tes techniques d'optimisation sous contraintes classiques !

je voulais juste savoir comment mailler un triangle, pour l'optimisation ca prend 3 lignes pourvue que l'on connaissance qq inegalités ..

l'argument tu ne sais pas paver le triangle alors ce n'est pas si simple ca ne veut rien dire enfin bon, merci pour le linespace



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !