Wszystkie działania zostały przeprowadzone na funkcji postaci:

z = (x1-a)2 + (x2+b)2 + c

gdzie:

I. Wykreślenie wykresu funkcji

Na potrzeby naszych pomiarów przyjęliśmy x1 oraz x2 w przedziałach od -1000 do 1000, czyli:

x1=[-1000:1000];

x2=[-1000:1000];

Napisaliśmy funkcję pozwalającą na wykreślenie trójwymiarowego wykresu naszej funkcji. Jej składnia:

0x08 graphic

Po jej wywołaniu otrzymaliśmy wykres wartości funkcji:

0x08 graphic

Kolejnym zadaniem było wykonanie wykresu poziomicowego funkcji. W tym celu wywołaliśmy polecenie:

contour(X,Y,Z);

w wyniku, którego otrzymaliśmy wykres poziomicowy naszej funkcji (zamieszczony na następnej stronie).

0x08 graphic

II. Odszukanie minimum funkcji

Następnym zadaniem było odnalezienie minimum oraz minimalnej wartości naszej funkcji. Mieliśmy osiągnąć to, dzięki wykorzystaniu jednej z funkcji wchodzących w skład Optimization Toolbox. W naszym przypadku zdecydowaliśmy się na użycie polecenia fminsearch, dzięki której z łatwością otrzymaliśmy poszukiwane wartości.

Pierwszym krokiem było wykonanie polecenia w postaci:

funkcja = @(x) (x(1)-a).^2 + (x(2)+b).^2 + c;

dzięki czemu stworzyliśmy „uchwyt” do funkcji. Kolejny etap:

[x,fval] = fminsearch(funkcja, [-10, -10])

pozwolił na uzyskanie poszukiwanych wyników. W tym przypadku efekt był następujący:

0x08 graphic

Wartości wektora x odpowiadają współrzędnym punktu, w którym znajduje się minimum funkcji. fval natomiast jest wartością w tym punkcie. Jak widać otrzymane przez nas wartości zgadzają się z przewidywaniami oraz wynikami obliczonymi bez użycia Matlaba.

III. Przecięcie płaszczyznami

Ostatnie zadanie polegało na przecięciu wykresu funkcji dwoma płaszczyznami prostopadłymi do płaszczyzny x-y oraz wzajemnie prostopadłymi do siebie, przechodzącymi przez punkt minimum. W wyniku tej operacji otrzymaliśmy dwie parabole, przecinające się wzajemnie. Składnia wykonania takiego wykreślenia jest następująca:

0x08 graphic

Dla lepszego zobrazowania otrzymanych wykresów założyliśmy tolerancję dla x1 oraz x2 wynoszącą 10 w każdą stronę. Wykonując napisaną w ten sposób procedurę, otrzymaliśmy pożądany wykres:

0x08 graphic
0x08 graphic