Optimizare: Minimizarea funcțiilor f(x)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Ce reprezintă, în general, o problemă de optimizare?

  • Determinarea constrângerilor care trebuie impuse unei funcții.
  • Calcularea derivatelor parțiale ale unei funcții.
  • Găsirea unui domeniu fezabil pentru o funcție dată.
  • Găsirea unui punct optim (minim sau maxim) al unei funcții pe un anumit domeniu. (correct)

Ce reprezintă funcția obiectiv într-o problemă de optimizare?

  • Matricea de derivate parțiale de ordinul doi.
  • O funcție care definește constrângerile problemei.
  • Funcția pe care dorim să o minimizăm sau maximizăm. (correct)
  • Domeniul în care se caută soluția optimă.

Ce reprezintă gradientul unei funcții în contextul optimizării?

  • Domeniul în care funcția este definită.
  • Un punct în care funcția atinge un minim local.
  • O matrice de derivate parțiale de ordinul doi.
  • Vectorul care indică direcția de cea mai rapidă creștere a funcției. (correct)

Ce semnificație are Hessiana într-o problemă de optimizare?

<p>Este o matrice care conține derivatele parțiale de ordinul doi și oferă informații despre curbură. (A)</p> Signup and view all the answers

Care este condiția necesară pentru ca un punct să fie un minim local al unei funcții diferențiabile?

<p>Gradientul în acel punct să fie egal cu zero. (B)</p> Signup and view all the answers

Care este o condiție suficientă (dar nu necesară) pentru ca un punct să fie un minim local al unei funcții de două ori diferențiabile?

<p>Gradientul să fie zero și Hessiana să fie pozitiv definită. (A)</p> Signup and view all the answers

Ce comandă MATLAB este utilizată pentru derivarea simbolică a unei funcții?

<p><code>diff</code> (C)</p> Signup and view all the answers

Ce comandă MATLAB este utilizată pentru minimizarea unei funcții cu o singură variabilă pe un interval dat?

<p><code>fminbnd</code> (D)</p> Signup and view all the answers

Ce comandă MATLAB este utilizată pentru programare liniară?

<p><code>linprog</code> (D)</p> Signup and view all the answers

Ce comandă MATLAB este utilizată pentru optimizare neliniară cu constrângeri?

<p><code>fmincon</code> (A)</p> Signup and view all the answers

Cum pot fi identificate variabilele simbolice existente într-o expresie în MATLAB?

<p>Folosind comanda <code>symvar</code>. (D)</p> Signup and view all the answers

Ce returnează comanda symvar dacă este aplicată unei expresii numerice (fără variabile simbolice)?

<p>O listă goală. (D)</p> Signup and view all the answers

Care comandă MATLAB verifică dacă o variabilă este simbolică sau numerică?

<p><code>isa</code> (C)</p> Signup and view all the answers

Care funcție MATLAB este utilizată pentru a desena un grafic 2D?

<p><code>plot</code> (D)</p> Signup and view all the answers

Care funcție MATLAB este folosită pentru a reprezenta grafic o funcție anonimă?

<p><code>fplot</code> (B)</p> Signup and view all the answers

Pentru reprezentarea grafică a funcțiilor de două variabile în MATLAB, care funcție creează o suprafață colorată 3D?

<p><code>surf</code> (A)</p> Signup and view all the answers

Pentru a crea variabile simbolice în MATLAB, care comandă este utilizată?

<p><code>syms</code> (D)</p> Signup and view all the answers

Cum se poate crea o expresie simbolică în MATLAB după ce variabilele simbolice au fost definite?

<p>Printr-o atribuire directă, folosind operatorul <code>=</code>. De exemplu: <code>f = x^2 + y</code>. (B)</p> Signup and view all the answers

În MATLAB, care funcție este utilizată pentru a efectua expansiunea algebrică a unei expresii simbolice?

<p><code>expand()</code> (C)</p> Signup and view all the answers

Ce funcție MATLAB este folosită pentru simplificarea expresiilor simbolice?

<p><code>simplify()</code> (B)</p> Signup and view all the answers

Care sunt funcțiile MATLAB utilizate pentru a calcula derivate și integrale simbolice?

<p><code>diff()</code> și <code>int()</code> (C)</p> Signup and view all the answers

Care funcție MATLAB este utilizată pentru a rezolva ecuații simbolice?

<p><code>solve()</code> (C)</p> Signup and view all the answers

Care funcție MATLAB este utilizată pentru a converti o valoare numerică într-un obiect simbolic?

<p><code>sym()</code> (C)</p> Signup and view all the answers

Care funcție MATLAB este utilizată pentru a obține o valoare numerică dintr-o expresie simbolică?

<p><code>double()</code> (B)</p> Signup and view all the answers

Care funcție MATLAB este utilizată pentru a obține o aproximare numerică de mare precizie a unei expresii?

<p><code>vpa()</code> (B)</p> Signup and view all the answers

Flashcards

Problema de optimizare

Găsirea unui punct optim (minim sau maxim) al unei funcții definite pe un domeniu.

Funcția obiectiv

Funcția pe care dorim să o optimizăm (minimizăm sau maximizăm).

Domeniul fezabil

Mulțimea de valori pentru care funcția obiectiv este definită și satisface constrângerile.

Minim local

Un punct este minim local dacă în vecinătatea lui nu există puncte cu valori mai mici ale funcției.

Signup and view all the flashcards

Gradient

Gradientul este un vector format din derivatele parțiale de ordinul întâi ale unei funcții.

Signup and view all the flashcards

Hessiana

Hessiana este o matrice care conține derivatele parțiale de ordinul doi ale unei funcții.

Signup and view all the flashcards

Condiții necesare

Pentru un minim local, gradientul funcției trebuie să fie egal cu zero.

Signup and view all the flashcards

Condiții suficiente

Hessiana trebuie să fie pozitiv definită pentru a garanta un minim local.

Signup and view all the flashcards

Obiecte simbolice

Variabilele simbolice sunt utilizate pentru calcule simbolice, nu au valoare numerică imediată.

Signup and view all the flashcards

Crearea variabilelor simbolice

Comanda syms creează variabile simbolice.

Signup and view all the flashcards

Evaluarea expresiilor simbolice

Operatorul subs() evaluează expresia simbolică.

Signup and view all the flashcards

Derivarea simbolică

Funcția diff() calculează derivata unei expresii simbolice.

Signup and view all the flashcards

Integrarea simbolică

Funcția int() calculează integrala unei expresii simbolice.

Signup and view all the flashcards

Rezolvarea ecuațiilor simbolice

Funcția solve() rezolvă ecuații simbolice.

Signup and view all the flashcards

Expansiunea expresiilor

Funcția expand() extinde expresiile simbolice.

Signup and view all the flashcards

Simplificarea expresiilor

Funcția simplify() simplifică expresiile simbolice.

Signup and view all the flashcards

Conversie numeric-simbolic

Funcția sym() convertește o valoare numerică într-un obiect simbolic.

Signup and view all the flashcards

Conversie simbolic-numeric

Funcția double() convertește o expresie simbolică într-o valoare numerică.

Signup and view all the flashcards

MATLAB pentru optimizare

Un set puternic de funcții pentru optimizare numerică.

Signup and view all the flashcards

plot(x, y)

Funcția care creaza grafice 2D.

Signup and view all the flashcards

Surf(X, Y, Z)

Funcția care reprezinta suprafata in 3D.

Signup and view all the flashcards

Fminbnd

Un algoritm folosit pentru a gasi minimul global intr-un interval specific

Signup and view all the flashcards

Meshgrid

Un grid 2D pentru X si Y.

Signup and view all the flashcards

Minime locale

Oricare dintre minimele care se vor calcula pe intervalul dat.

Signup and view all the flashcards

Minim global

Minimul cu valoarea cea mai mica pe tot intervalul dat.

Signup and view all the flashcards

Study Notes

  • O problemă de optimizare implică găsirea unui punct optim (minim sau maxim) pentru o funcție f(x) pe un domeniu D.

Formularea generală

  • Se minimizează f(x) unde x aparține domeniului D.
  • f(x) este funcția obiectiv, cea care se optimizează.
  • D este domeniul fezabil, care conține toate constrângerile impuse.
  • Optimizare fără constrângeri are domeniul D ca întreg spațiul R; exemplu: min f(x) = x² + 3x + 5.
  • Optimizare cu constrângeri are domeniul D restricționat; exemplu: min f(x) = x² + 3x + 5, cu condiția x≥0.

Noțiuni fundamentale în optimizare

  • Minim local: Un punct x* este un minim local dacă în vecinătatea sa nu există puncte cu valori mai mici.
  • Minim global: Cel mai mic punct pe întreg domeniul.
  • Maximele se definesc similar cu minimele.
  • Gradientul: ∇f = [df/dx1, ..., df/dxn], reprezentând derivatele parțiale de ordinul întâi.
  • Hessiana: Matricea derivatelor parțiale de ordinul doi.
  • Condiții necesare pentru optimalitate: ∇f(x)=0 pentru un minim local.
  • Condiții suficiente pentru optimalitate: Hessiana trebuie să fie pozitiv definită.

Introducere în MATLAB pentru Optimizare

  • MATLAB oferă funcții puternice pentru optimizare numerică.
  • Derivare simbolică:
    • Se declară variabila simbolică: syms x;
    • Se definește funcția: f = x^2 - 4*x + 5;
    • Se calculează derivata: df = diff(f, x) (% Derivata lui f)
  • Minimizare folosind fminbnd (pentru optimizare fără constrângeri):
    • Se definește funcția: f = @(x) x.^2 - 4*x + 5;
    • Se minimizează pe un interval: [x_min, f_min] = fminbnd(f, -10, 10)
  • Programare liniară folosind linprog:
    • c = [-1; -2]; % Funcția obiectiv (maximizare -> se pune minus)
    • A = [1 1; -1 2]; % Matricea coeficienților inegalităților
    • b = [4; 2]; % Termenii din dreapta ai inegalităților
    • x = linprog(c, A, b)
  • Optimizare neliniară cu fmincon:
    • f = @(x) x(1)^2 + x(2)^2;
    • x0 = [1, 1]; % Punct inițial
    • A = [];, b = [];, Aeq = [];, beq = [];
    • lb = [0, 0]; % Limite inferioare
    • ub = [2, 2]; % Limite superioare
    • x_min = fmincon(f, x0, A, b, Aeq, beq, lb, ub)
  • Identificarea variabilelor simbolice în MATLAB:
    • Se utilizează pentru calcul simbolic cu Symbolic Math Toolbox.
    • Se creează cu syms sau sym.
    • Se identifică folosind: symvar(f) (returnează toate variabilele simbolice dintr-o expresie).

Exemple de identificare a variabilelor simbolice

  • Identificarea variabilelor dintr-o funcție:
    • syms x y z
    • f = x^2 + y*z + sin(x*y);
    • vars = symvar(f);
    • Rezultat: x, y, z
  • MATLAB detectează automat variabilele simbolice dintr-o expresie.
  • Identificarea variabilelor într-o expresie numerică returnează o listă goală:
    • f = 3 + 5;
    • vars = symvar(f);
    • Rezultat: []
  • Identificarea primei variabile simbolice dintr-o expresie:
    • syms a b c
    • g = a^3 + 2*b + c^2;
    • first_var = symvar(g, 1);
    • Rezultat: a

Cum verificăm dacă o variabilă este simbolică?

  • Se folosește funcția isa pentru a verifica tipul unei variabile:
    • syms x y
    • a = 5; % Variabilă numerică
    • b = x^2 + y;
    • disp(['a este simbolică? ', num2str(isa(a, 'sym'))]);
    • disp(['b este simbolică? ', num2str(isa(b, 'sym'))]);
    • Rezultatul indică 0 pentru numeric și 1 pentru simbolic.

De reținut

  • symvar(f) identifică toate variabilele simbolice dintr-o expresie.
  • symvar(f, 1) returnează doar prima variabilă simbolică.
  • isa(var, 'sym') verifică dacă o variabilă este simbolică sau numerică.
  • Principalele instrucțiuni pentru reprezentarea grafică a funcțiilor în MATLAB:
    • plot(x, y) - Desenează un grafic 2D.
    • fplot(@funcție, interval) – Reprezentare automată a unei funcții.
    • ezplot(f, interval) – Funcție veche, înlocuită cu fplot.
  • Exemplu de reprezentare grafică a funcției f(x) = x² - 4x + 5:
    • x = linspace(-2, 6, 100); % Generăm valori pentru x între -2 și 6
    • y = x.^2 - 4*x + 5; % Calculăm f(x)
    • figure;
    • plot(x, y, 'b', 'LineWidth', 2); % Reprezentare grafică
    • grid on;
    • xlabel('x'); ylabel('f(x)');
    • title('Graficul functiei f(x) = x^2 - 4x + 5');
  • Pentru grafice 3D, se folosesc:
    • mesh(X, Y, Z) – Reprezentare 3D cu plasa de contur.
    • surf(X, Y, Z) – Reprezentare 3D cu suprafață colorată.
    • contour(X, Y, Z) – Linii de contur 2D pentru o funcție 3D.
    • fmesh(@funcție, intervalX, intervalY) – Reprezentare automată.
  • Exemplu de reprezentare a funcției f(x,y) = x² + y² – 3xy în 3D:
    • [X, Y] = meshgrid(-3:0.1:3, -3:0.1:3); % Cream un grid 2D
    • Z = X.^2 + Y.^2 - 3*X.*Y; % Calculăm valorile funcției
    • figure;
    • surf(X, Y, Z); % Reprezentare 3D
    • xlabel('x'); ylabel('y'); zlabel('f(x, y)');
    • title('Grafic 3D al functiei f(x, y)');
    • colorbar; % Adaugă bara de culori

Comenzi esențiale MATLAB

  • plot(x, y): Grafic 2D pentru funcții de o variabilă.
  • fplot(@funcție, interval): Reprezentare automată a unei funcții 2D.
  • mesh(X, Y, Z): Reprezentare 3D tip "plasă".
  • surf(X, Y, Z): Reprezentare 3D colorată.
  • fmesh(@funcție, intervalX, intervalY): Reprezentare 3D automată.
  • contour(X, Y, Z, niveluri): Linii de contur ale unei funcții 3D.
  • Un obiect simbolic este o variabilă MATLAB interpretată ca o expresie matematică, fără valoare numerică imediată.

Exemple de obiecte simbolice

  • Variabile simbolice: syms x
  • Expresii simbolice: f = x^2 + y
  • Funcții simbolice: f(x) = sin(x) + x^2
  • Ecuații simbolice: solve(x^2 - 4 == 0, x)
  • Matrice simbolice: [x, y; y, x^2]

Crearea variabilelor simbolice

  • Metoda 1: Folosind syms: syms x y z (creează variabilele x, y, z).
  • Metoda 2: Folosind sym:
    • x = sym('x');
    • y = sym('y');
    • Aceasta permite crearea variabilelor individual.
  • Crearea expresiilor simbolice: se definesc expresii matematice după declararea variabilelor simbolice.
  • Exemplu:
    • syms x y
    • f = x^2 + 3*x*y - y^2 + 5;
  • O expresie simbolică poate fi utilizată pentru derivate, integrale și rezolvarea ecuațiilor.
  • Se poate evalua o expresie simbolică:
    • syms x
    • f = x^2 + 2*x + 1; % Definim o funcție simbolică
    • val = subs(f, x, 3); % Evaluăm funcţia pentru x = 3
    • Rezultatul va fi 16.
  • Operații și funcții simbolice MATLAB: adunare, scădere, înmulțire, împărțire, putere.

Manipularea expresiilor simbolice

  • Funcții pentru simplificare și expansiune.
  • Exemplu:
    • syms x
    • f = (x + 1)^2;
    • expanded_f = expand(f); % Expansiunea expresiei
    • simplified_f = simplify(expanded_f); % Simplificare
    • Rezultat: Expandare: x² + 2x + 1; Simplificare: (x + 1)².
  • Se pot calcula derivate și integrale folosind diff() și int().
  • Exemplu derivare:
    • syms x
    • f = x^3 + 2*x^2 - 5*x + 4;
    • df = diff(f, x); % Derivata lui f(x) în raport cu x
    • Rezultat: 3x² + 4x - 5
  • Exemplu integrare:
    • syms x
    • f = x^2 + 3x + 2;
    • int_f = int(f, x);
    • Rezultat: (x*(2x^2 + 9x + 12))/6
  • Se pot rezolva ecuații simbolice folosind solve().
  • Exemplu:
    • syms x
    • eq = x^2 - 4*x + 3 == 0;
    • sol = solve(eq, x);
    • Rezultat: x = 1, x = 3.

Funcții esențiale MATLAB

  • syms x y: Creează variabile simbolice.
  • sym('x'): Creează o variabilă simbolică (alternativ).
  • expand(f): Expandează o expresie matematică.
  • simplify(f): Simplifică o expresie matematică.
  • subs(f, x, val): Înlocuiește o variabilă cu o valoare dată.
  • diff(f, x): Derivează f(x) față de x.
  • int(f, x): Integrează f(x) față de x.
  • solve(eq, x): Rezolvă ecuația simbolică.

De reținut

  • Variabilele simbolice permit lucrul cu ecuații fără valori numerice.
  • Se pot manipula expresii simbolic (expandare, simplificare, substituire).
  • Derivarea, integrarea și rezolvarea ecuațiilor sunt ușor de realizat simbolic în MATLAB.
  • Funcții pentru operații cu obiecte simbolice: expand(f), simplify(f), subs(f, x, val), diff(f, x), int(f, x), solve(eq, x).
  • Atenție: findsym este instrucțiunea veche pentru symvar.

Conversie între simbolic și numeric în MATLAB

  • Se pot face conversii între expresii simbolice și valori numerice folosind Symbolic Math Toolbox.
  • Conversie din numeric în simbolic:
    • Se folosește sym() pentru a converti un număr sau o expresie numerică într-un obiect simbolic; ex: sym(3.14159).
  • Conversie din simbolic în numeric:
    • Se folosește double() pentru a obține o valoare numerică dintr-o expresie simbolică; ex: double(sin(pi/4) + sqrt(2)).
  • Conversie automată între simbolic și numeric:
    • Se folosește vpa() pentru a obține o valoare numerică cu precizie variabilă; ex: vpa(pi + sqrt(2), 50).
  • Conversia între simbolic și numeric este esențială pentru calcule exacte și aproximări numerice.
    • sym() → Convertire în simbolic.
    • double() → Convertire în numeric.
    • vpa() → Aproximare numerică de mare precizie.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Neoclassical Growth Theory
3 questions

Neoclassical Growth Theory

UnforgettableIguana avatar
UnforgettableIguana
Continuous Optimization Problems Quiz
17 questions
Diet Problem Constraints Analysis
48 questions

Diet Problem Constraints Analysis

SofterExpressionism1197 avatar
SofterExpressionism1197
Optimisation non linéaire sans contraintes
10 questions
Use Quizgecko on...
Browser
Browser