Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Matlab/Simulink] Styczna do funkcji/Punkt przegięcia

23 Lut 2009 14:58 14279 14
  • Poziom 9  
    Witam.

    Chciałbym wyznaczyć styczną do wykresu funkcji, który otrzymałem z potraktowania układu skokiem jednostkowym.

    W Matlabie jest możliwość wyznaczenia stycznej do funkcji ale trzeba znać wzór funkcji.

    Czy mogę jakoś otrzymać wzór funkcji, którą otrzymałem w wyniku badania dynamiki obiektu skokiem jednostkowym?
  • Pomocny post
    Poziom 12  
    Jeśli masz daną transmitancję obiektu np.: G(s) i wymuszenie skokowe h(t) którego transmitancja = U(s) (transmitancja funkcji jednostkowej).

    To możesz wyznaczyć odpowiedź układu Y(s) = G(s)*U(s)

    Stosując transmitancję odwrotną Laplace'a możesz otrzymać funkcję na odpowiedź układu na zadane wymuszenie y(t) = L^-1 [Y(s)]

    Tadam :D Na takie rozwiązanie problemu czekałeś?

    PS: Przydatna będzie prawdopodobnie tablica z przekształceniami Laplace'a

    PS 2: A jak już to zrobisz to (o ile się nie mylę) jak policzysz wartość pochodnej dla t = 0 to będziesz miał już nachylenie stycznej. W sumie chyba Matlab jest niepotrzebny a może źle zrozumiałem Twoje pytanie :?:
  • VIP Zasłużony dla elektroda
    Przeniosłem z Automatyka i Robotyka.
  • Poziom 9  
    Glinek napisał:

    Stosując transmitancję odwrotną Laplace'a możesz otrzymać funkcję na odpowiedź układu na zadane wymuszenie y(t) = L^-1 [Y(s)]


    dzięki! właśnie o to mi chodziło, zaraz to przetestuje
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 9  
    Szkoda tylko że trzaba samemu liczyć bo Matlab niby ma funkcję inverted laplace ale mi wyrzuca:
    >> ilaplace
    ??? Undefined function or variable 'ilaplace'.
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 9  
    G(s) - transmitancja silnika DC
    U(s) - transmitancja skoku jedn.

    G(s)=0.09/(0.1009 s^2 + 0.8278 s + 0.1131)
    U(s)=1/s

    G(s)*U(s)=Y(s)

    Y(s)=0.09/(0.1009 s^3 + 0.8278 s^2 + 0.1131 s)

    A potrzebuje odwrotnego Laplace'a z Y(s)
    Pewnie otrzymam Y(f), a tą funkcję chcę wyświetlić na wykresie plotem. Potem jak się da to tan(Y) czyli wyznaczenie stycznej w Matlabie i to także na wykres dać.
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 9  
    Dzięki. Da się to jakoś wyświetlić graficznie? plotem pisze że sym do double nie można dokonać konwersji :/
  • Użytkownik usunął konto  
  • Poziom 43  
    Witam,
    tomsoad napisał:
    G(s) - transmitancja silnika DC
    U(s) - transmitancja skoku jedn.

    G(s)=0.09/(0.1009 s^2 + 0.8278 s + 0.1131)
    U(s)=1/s

    G(s)*U(s)=Y(s)

    Y(s)=0.09/(0.1009 s^3 + 0.8278 s^2 + 0.1131 s) [i po co to wymnożenie? - dop. Quarz]
    kombinujesz jak przysłowiowy łysy koń pod górę ...
    Przede wszystkim to warto zapis transmitancji G(s) unormować tak, by współczynnik przy był równy jedności.
    Dalej, z teorii Przekształcenia całkowego Laplace'a - wspomniał o tym już tu AndrzejHir - wynika, iż transformata Laplace'a z pochodnej oryginału dana jest zależnością:
    L[df(t)/dt] = s•F(s) - f(0+), gdzie;
    F(s) = L[f(t)] - transformata Laplace'a funkcji f(t), a;
    f(0+) - prawostronna wartość oryginału dla zerowej wartości argumentu.

    Biorąc pod uwagę, iż mamy znaleźć pochodną oryginału odpowiedzi; y(t) - której transformata Laplace'a jest Y(s) - na skok jednostkowy; 1(t), którego transformata Laplace'a; H(s) wynosi:
    H(s) =L[1(t)] = 1/s, otrzymamy:
    Y(s) = H(s)•G(s) = (1/s)•G(s), oraz poszukiwana pochodna oryginału odpowiedzi; dy(t)/dt, czyli:
    dy(t)/dt = L^(-1)[s•(1/s)•G(s)] = L^(-1)[G(s)] = g(t)
    Należy zauważyć, iż dla danego obrazu odpowiedzi; Y(s), wartość;
    y(0+) = 0 - wynika to z twierdzenia o wartości początkowej;
    y(0+) = lim[s->∞] s•Y(s).

    Korzystając z wygodnego pomocnika jakim jest MathCAD, obliczenia wyglądają tak:
    [Matlab/Simulink] Styczna do funkcji/Punkt przegięcia
    Gdzie G(s) - jak wcześniej wspominałem - zostało unormowane, oraz odpowiednio; M(s) - mianownik, oraz Li - licznik, G(s) (unormowanego).
    Teraz nic nie stoi na przeszkodzie by skorzystać z Twierdzenia o Rozkładzie - Heaviside'a - i znaleźć równanie na g(t).
    Przy okazji sprawdziłem za pomocą wzorów Viète'a http://pl.wikipedia.org/wiki/Wzory_Vi%C3%A8te'a poprawność obliczonych pierwiastków; s1, s2, mianownika; M(s) = 0.
    Zapis i wykresy g(t) wyglądają tak:
    [Matlab/Simulink] Styczna do funkcji/Punkt przegięcia
    Autorowi tematu pozostawiam do rozwiązania problem znalezienia wartości argumentu t w którym występuję punkt przegięcia dla g(t), czyli rozwiązania równania:
    g'(t) = 0.

    tomsoad napisał:
    A potrzebuje odwrotnego Laplace'a z Y(s)
    Pewnie otrzymam Y(f) [a co to takiego? - dop. Quarz], a tą funkcję chcę wyświetlić na wykresie plotem. Potem jak się da to tan(Y) czyli wyznaczenie stycznej w Matlabie i to także na wykres dać.
    Patrz wyżej ... :!: :idea: ...i znowu kombinujesz jak ... :D

    Pozdrawiam
  • Poziom 9  
    Chyba coś nie tak poszło bo G(s)*1/s powinno wyjść tak jak na wykresie poniżej:

    [Matlab/Simulink] Styczna do funkcji/Punkt przegięcia

    Tak pokazuje Matlab z polecenia step(Gs).

    Problem jest dla mnie wyrysownanie funkcji:

    f(t)=300/377+150/377*exp(-4139/1009*t)*(-2*cosh(1/1009*t*15990142^(1/2))-4139/7995071*15990142^(1/2)*sinh(1/1009*t*15990142^(1/2)))

    w Matlabie.
  • Poziom 43  
    tomsoad napisał:
    Chyba coś nie tak poszło bo G(s)*1/s powinno wyjść tak jak na wykresie poniżej:

    [Matlab/Simulink] Styczna do funkcji/Punkt przegięcia

    Tak pokazuje Matlab z polecenia step(Gs).
    A to niby dlaczego?
    Ja mam tak samo, zobacz:
    [Matlab/Simulink] Styczna do funkcji/Punkt przegięcia
    Zechciej też zauważyć (a widać to u mnie z daleka), iż pochodna przebiegu wyjściowego; y(t) równa jest; g(t), czyli:
    y'(t) = dy(t)/dt = g(t),

    tomsoad napisał:
    Problem jest dla mnie wyrysownanie funkcji:

    f(t)=300/377+150/377*exp(-4139/1009*t)*(-2*cosh(1/1009*t*15990142^(1/2))-4139/7995071*15990142^(1/2)*sinh(1/1009*t*15990142^(1/2)))

    w Matlabie.
    Zechciej to "ubrać" w właściwe nawiasy kolejności wykonywania działań, ponieważ to, co wyżej, nie jest dla mnie jednoznacznie czytelne ... :!: :cry:
  • Pomocny post
    Użytkownik usunął konto