moo1 barteksprawko, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki i inne, DROPBOX, Laboratorium


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



Wyszukiwarka

Podobne podstrony:
sprawko moo1, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki
sprawko nowe, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki
sprawko powell, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labk
2Sprawozdanie z MOO, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce,
2analityczne, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki
sprawozdanie-MaciejPawnukTomaszImiołek, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Opty
sprawko-6, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Laborki, lab6, got
sciaga kolos, Automatyka i Robotyka, Semestr III, Metody numeryczne
Mechanika - opracowanie, Automatyka i Robotyka, Semestr III, Mechanika, Gotowce, Mechanika, Mechanik
BD Lesiu, Automatyka i Robotyka, Semestr III, Bazy Danych, Gotowce
metody numeryczne wartosc funkcji, Automatyka i Robotyka, Semestr IV, Metody Numeryczne, Lab, lab2
GR D, Automatyka i Robotyka, Semestr III, Bazy danych
sciaga a, Automatyka i Robotyka, Semestr III, Bazy danych
DAPTA spraweczko, Automatyka i Robotyka, Semestr III, Elektrotechnika i Elektromechanika, Gotowce, E
Zestaw C++-zaliczenie wcze, Automatyka i Robotyka, Semestr III, Języki programowania

więcej podobnych podstron