Comment réaliser le point extrême de la fonction par morceaux dans Matlab

WBOY
Libérer: 2024-01-20 08:03:13
avant
1121 Les gens l'ont consulté

Comment réaliser le point extrême de la fonction par morceaux dans Matlab

Comment réaliser le point extrême de la fonction par morceaux dans Matlab

fonction m=fenduanhanshu(t)

m=t.*(t>=0 & t1 & t2)

【Explication】

Dans Matlab, la règle de fonctionnement de l'expression m=t.*(t>=0 & t1 & t2) dans la fonction ci-dessus est que lorsque l'expression booléenne est vraie, la valeur de l'expression booléenne est 1 , Participez à l'opération, sinon prenez 0 et participez à l'opération.

Par exemple, lorsque (t>=0 & t=0 & t1 & t2) dans l'expression ne sont pas vrais, 0 est utilisé pour participer à l'opération, donc à ce moment m=t.*1 +(-t+2) *0+0,1.*0=t.

Cette conception dans Matlab permet aux utilisateurs d'effectuer des calculs scientifiques, réduit la quantité de code et améliore l'efficacité du développement. Personnellement, je recommande vivement de l'utiliser.

Comment résoudre le problème de la valeur maximale d'une fonction via Matlab

La valeur maximale peut être convertie en un problème de valeur minimale. Par exemple : % Calculez la valeur minimale f(x) = -x1*x2*x3, le point de départ est x = [10;10;10] et la contrainte est :

% 0 ≤ x1 + 2*x2 + 2*x3 ≤ 72.

% –x1–2*x2–2*x3 ≤ 0

% 1. Écrivez la fonction objectif% function f = myfun(x)

% f = -x(1) * x(2) * x(3);% 2. Contraintes

% –x1–2*x2–2*x3 ≤ 0

% x1 + 2*x2 + 2*x3≤ 72

% 3. Construire la matrice de contraintes

%A = [-1 -2 -2 ...

% 1 2 2];

% b = [0;72];% 4. Calcul d'optimisation% x0 = [10;10;10];

% [x,fval] = fmincon (@myfun,x0,A,b);% 5. Résultat

%x

% x =

% 24.0000

% 12.0000

% 12.0000

%

%

% fval

% fval =

% -3.4560e+03

%

%

% A*x-b

%ans =

-72

valeur maximale Matlab de la fonction binaire

Le problème d'optimisation des fonctions multivariées ne peut pas être écrit simplement.

MATLAB lui-même n'est pas adapté à l'optimisation. Il est recommandé d'utiliser des outils tels que Lingo et 1stopt.

Voici le résultat obtenu en utilisant l'outil 1stopt :

1.Code :

Paramètres x=[1.8,2,2],y=[.46,.90];

Minimum ;

Fonction (-256,926x+572,13)*(y*(0,867+0,037*y+0,05*x)*252-17,784*y);

2. Résultat :

Nombre d'itérations : 25

Temps de calcul (heure : minute : seconde : milliseconde) : 00:00:00:141

Cause d'abandon du calcul : critère de convergence atteint

Algorithme d'optimisation : méthode du gradient conjugué + méthode d'optimisation globale générale

Expression de fonction : (-256,926*x+572,13)*(y*(0,867+0,037*y+0,05*x)*252-17,784*y)

Valeur de la fonction objectif (minimum) : 6170.8801616352

x : 2

y : 0,46

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:docexcel.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal