Existe-t-il un moyen d'utiliser fsolve dans MATLAB, en spécifiant une limite pour la solution? c'est-à-dire toutes les variables de solution> 0fsolve avec les limites de la solution
Répondre
Pas directement, mais une solution à ce problème est d'ajouter un terme à votre équation qui limite votre problème.
Je n'ai pas la boîte à outils d'optimisation, donc je ne peux pas vous donner un exemple spécifique en utilisant fsolve, mais voici comment je le ferais avec fminsearch, qui a le même problème.
myFun = @(args) abs(sin(args(1)) + cos(args(2)))
fminsearch(myFun, [0, 0])
ans =
-0.8520 0.7188
Mais si je veux limiter mon problème à des solutions positives
myFun = @(args) abs(sin(args(1)) + cos(args(2))) + (args(1)<0) + (args(2)<0)
fminsearch(myFun, [0, 0])
ans =
0.0000 1.5708
Il devrait y avoir un moyen de modifier votre équation de la même pour résoudre votre problème.
Non. Cependant, au lieu de résoudre pour F(x)=0
, vous pouvez réduire abs(F(x))
en utilisant par exemple. FMINBND.
EDIT
Malheureusement, fminbnd
ne semble pas soutenir les arguments d'une valeur-tableau (que je suppose, est ce que vous voulez). Pour que cela fonctionne, vous devez passer à FMINCON dans la boîte à outils d'optimisation.
Vous devriez utiliser lsqnonlin, qui ressemble beaucoup à fsolve, mais vous permet de spécifier des contraintes liées.
Une autre approche consiste à utiliser une transformation de variables. Par exemple, pour appliquer x> = 0, alors au lieu de résoudre F (x) = 0 w.r.t. x, résolvez F (z.^2) = 0 w.r.t. z puis utilisez x = z.^2 comme solution. Cela a quelques dangers subtils. Par exemple, vous devez éviter d'utiliser z (i) = 0 comme estimation initiale, mais cela fonctionne souvent.
- 1. fsolve for solution! = 0
- 2. message d'arrêt à la fin de fsolve
- 3. fsolve fonction anonyme avec deux entrées
- 4. Invalider les limites de la boucle
- 5. Les limites de la fenêtre Silverlight
- 6. Google Maps API V3: limite les limites de la carte
- 7. Trouver les limites d'un tableau d'objets avec seulement les limites des objets
- 8. Modifier les limites ListViewItem
- 9. Calayer animer les limites
- 10. Intersection des limites avec lucene
- 11. écrêtage aux limites avec UIViewContentModeScaleAspectFill
- 12. Limites UIView avec barre supérieure
- 13. Définir les limites en termes de référentiels
- 14. MySQL requête avec plusieurs LIMITES
- 15. Détecter les limites de la pile du thread en cours
- 16. Javascript RegExp et les limites
- 17. Comment obtenir les limites RESTAURÉES de la fenêtre minimisée?
- 18. Html: comment calculer les limites de la mise en page
- 19. Limites de la bande de roulement OpenGL
- 20. limites Désactiver la vérification des C++ vecteurs
- 21. Limites de mémoire
- 22. Solution de contournement pour arrêter la propagation avec live()?
- 23. Garder l'utilisation de la mémoire dans les limites de la quantité disponible
- 24. ImageView Pinch-zoom Limites d'échelle et limites de panoramique
- 25. Problème avec la solution Visual Studio 2005
- 26. SharePoint: Problèmes avec les orphelins lors de la rétraction de la solution de fonctionnalité MasterPage
- 27. Quelles limites rencontrez-vous avec LightSwitch?
- 28. La division interne dépasse les limites div externes
- 29. C# - Trouver les limites d'une image (pas la taille)
- 30. Stockage interne Android - quelles sont les limites?