Skocz do zawartości
Elzulninho

Matlab - jak zrobić wykres dla wyników?

Rekomendowane odpowiedzi

Witam mam taki kod:

function kp = ga1(h, k, mi, Kstart, Kstop)


%funkcja wraca optymalne wartości parametrów Kp i Kd (lub zero) 
%dla podanego zakresu 
%a=[1;2;5;9;15;34]
%plot(a)

%params [Kp Kd, Kl a0 b0 mi]

%for optymalizacja dyskretna

populacja = 100;
generacji = 100;
geny = [1:populacja];
kids = [1:populacja];
fit = [1:populacja];

%licz a dla wszystkich przywołań funkcji eFun
a = [ 1.0 ];
i = 2.0;
while ( i <= k+1 ) 
  a = [a (a(end) *  (1.0 - (mi + 1.0)/(i-1))) ];
  i = i + 1.0;
end


%Kstart = -100;
%Kstop = 100;

%pierwsze pokolenie generowane losowo
for i = 1: populacja
  geny(i) = rand;
  geny(i) = Kstart + geny(i) * (Kstop - Kstart);
end
geny;

fit = fitness(h, k, mi, geny, a,  populacja); 



for i = 1:generacji
  fprintf('.' );
  parent1 = ruletka(geny, fit, populacja);      
  parent2 = ruletka(geny, fit, populacja);      
  geny = krzyzowanie(parent1, parent2, populacja);

  %MUTACJA?

  %przeliczamy dopasowanie dla nowego pokolenia
   fit = fitness(h, k, mi, geny, a, populacja); 

   kp = max(fit);
end


fitBest = max(fit);
for j = 1: populacja
if (fit(j) >= fitBest)
    	kp = geny(j);
    	break;
 	end
end

eFunFull(h, k, mi, [kp; 0; 1; 1; 1; 1])

 

Testuje na takich wartościach ga1(.1, 3, 1, -100, 100)

Otrzymuje w command window następujące wyniki:

ans =

 

-0.0099

-0.0102

0.0002

-0.0200

1.0000

 

 

ans =

 

28.0000

Nigdy nie miałem styczności z matlabem, jak zrobić wykres takich wyników?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Kiedyś dawno temu w liceum korzystałem z plot... ale teraz próbuje i mi nie wychodzi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

pokazało jakiś komunikat błędu?

ew. jako pierwszy zestaw argumentów daj zbiór mający tyle samo elementów co wynik funkcji (np. 1, 2, 3, 4, ...)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...