Wpis z mikrobloga

#matlab
Jestem kompletnie zielony w kwestii Matlaba i chce zrobić wykres zmieniający się w czasie rzeczywistym jak na gifie.

[Cała nudna fabuła dotycząca zadania ( ͡° ͜ʖ ͡°)]
Na studiach mamy zamodelować układy liniowe w tym ustrojstwie. Oczywiście nikt nam nie mówił jak to działa, po prostu wchodzimy na laborki i mamy robić - widząc to pierwszy raz na oczy ( ͡° ͜ʖ ͡°). Taki wykres nie jest to konieczny, ale muszę (i w sumie sam z ciekawości chciałbym) wiedzieć jak poszczególne parametry wpływają na zachowanie układu.

Mógłbym odbębnić teorie w zakamarkach Googla i po prostu poczytać które co robi (materiałów też nam nie dostarczyli ( ͡ ͜ʖ ͡)). Mógłbym na piechotę milion razy pozmieniać parametry, puścić symulacje, zobaczyć wykres i od nowa - ale to cholernie niewygodne i zupełnie niepraktyczne. No i mógłbym spróbować zrobić taki wykres ze zmieniającymi się zmiennymi w czasie rzeczywistym.
[/Cała nudna fabuła dotycząca zadania]

Więc pytanie jak to ugryźć?
Mam zamodelowany jakiś układ w Simulinku na bloczkach, mam moje zmienne wyjściowe wrzucone do bloczków "To Workspace" żeby móc robić lepsze wykresy już bezpośrednio w Matlabie za pomocą plota. Ale jak mogę sprawić, żeby wykres był "animowany"? Chciałbym zmieniać wartości bloczków "Gain" gdyż to od nich zależy zachowanie układu i w czasie rzeczywistym rysować wykres. Nie wiem jak można zrealizować samą zmianę ani jak poruszyć wykres do życia - jestem kompletnie zielony. Jakieś rady? Albo chociaż informacje gdzie szukać i pod jakim hasłem dobrych poradników odnośnie tego co chce zrobić?

#studbaza #automatyka #dynamikaukladow #nieprogramowanie #kiciochpyta #pytanie
Gumaa - #matlab
Jestem kompletnie zielony w kwestii Matlaba i chce zrobić wykres zmi...

źródło: comment_RwWDvoHfk2f2GpghrjXBjxG68LDVzT74.gif

Pobierz
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gumaa: przewalone, musisz zrobic petle ktora zmienia ci parametr i do niej dac funkcje "pause(czas)" która bedzie trzymac przez chwile dany wykres i tak zrobi sie animacja
  • Odpowiedz
@Gumaa: nie znam sie na simulinku ani na automatyce, ale musisz do matlaba wklepac jakies dane, ewentualnie połączyć te 2 programy. Mozesz np: wklepac wyniki do matlaba ktore obliczyles w simulinku?
  • Odpowiedz
@Gumaa: Zrób switch od timera który w danej sekundzie zmieni wartość gaina ;P a potem w pętli obrabiającej dane drawnow tylko musisz znaleźć miejsca w strukturze przełączeń gaina i od tego momentu brać iteracje pętli. Proste jak pomyślisz jak to wykorzystać.
  • Odpowiedz
@Gumaa: Kurde zajawiłeś mnie na tyle tym problemem, że chyba to okodzę ale jutro przypomnij mi się na PW i daj jakieś namiary na siebie. ()
  • Odpowiedz
@HefiDL: pamiętaj, że ja jedyne co potrafię w tym matlabie zrobić to połączyć parę bloczków widocznych na przykładowym modelu i wklepać plot do matlaba ( ͡° ͜ʖ ͡°) Przydałoby się chyba wytłumaczenia bardziej jak dla debila (,)
No mnie też cholera to strasznie zaciekawiło, że chciałbym to od razu zrobić nie mając zielonego pojęcia o matlabie ( ͡° ͜ʖ ͡
  • Odpowiedz
@Gumaa: no to musisz zrobic aby z simulinka przerzucic, nie jedna, a 20 zmiennych (kazda dla innego parametru) po 150 punktow kazda, a potem to z gorki
  • Odpowiedz
@avruk: po prostu w Gainie zamiast liczby podać jakąś nazwe? :o
I od razu jest do niej dostęp z przestrzeni roboczej matlaba?

@Ardeo: to by było chyba dosyć problematyczne, no chyba że są jakieś sprytne bloczki które mi od razu w simulinku wygenerują te 20 różnych rozwiązań.

Nie spodziewałem się aż takiego odzewu na moje pytanie, dziękuję wszystkim ()
  • Odpowiedz
@Gumaa: A w simulinku nie ma bloczka 'plotXY' czy jakoś podobnie. Dawno to robiłem. Dodawało się po prostu bloczek i po kliknięciu run wyskakiwał wykres.
  • Odpowiedz
@OhRene: jest bloczek Scope, ale to jest tylko podgląd na szybko, żeby coś konkretnego zrobić to trzeba przejść do matlaba (przynajmniej tyle się na tych studiach dowiedziałem ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°))
  • Odpowiedz
@Gumaa: moze zmien tą daną wejsciowa z ktorej dostales 150 punktow, na macierz zamiast "3" daj [1,2,3], matlab lubi macierze pewnie inne podobne programy tez
  • Odpowiedz