Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Scilab - rownania rozniczkowe Idź do strony 1 2  Następny
Forum MATLAB Strona Główna-> Klony Matlaba (Scilab, Octave, ...)
Post Wysłany: 4 Styczenia 2009, Nie 12:34 pm Temat postu: Scilab - rownania rozniczkowe Odpowiedz z cytatem
 
AUTOR:
woo



Dołączył: 04 Sty 2009
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam wszystkich.
Mam dane równanie oscylatora z wymuszeniem i tłumieniem:

d^2x/dt^2 +ω^2*x + 2B(dx/dt) = (F/m)cos(Ω*t)

Czy mógłby mi ktoś pomoc "przetłumaczyć" to równanie na jedną scilabową funkcję ? Tak żebym mógł zastosować procedurę 'ode'?
Z góry dziękuję za odpowiedź.


 

Post Wysłany: 6 Styczenia 2009, Wto 10:41 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
r0g0
Może pisać książki


Dołączył: 06 Lis 2007
Posty: 139
Skąd: Białystok


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
Witaj,

Ja bym zrobił to tak:

Kod:
  function xdot=f(t,x),xdot=[-2*B -w^2; 1 0]*x+[F/m*cos(Omega*t); 0],endfunction


po rozwiązaniu tego równania funckją ode otrzymasz wektor, którego drugi wiersz będzie przebiegiem x(t).

Pozdrawiam.


 

Post Wysłany: 10 Styczenia 2009, Sob 9:25 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
woo



Dołączył: 04 Sty 2009
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
Zadziałało. Dzięki za pomoc. Temat można zamknąć.


 

Post Wysłany: 9 Lutego 2009, Pon 4:20 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Szuwarek



Dołączył: 09 Lut 2009
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam, mam podobny problem.

Mam dane równanie:

(d^2)x/dt^2 + (ω^2)x = (F/m)cos(Ω*t)

które musze przekształcić, tak, żeby można było wykorzystać funkcję ode. Próbowałem zrobić to na podstawie Scilabowego Help'a, a także przekształcając to co zostało juz napisane na forum, jednak za każdym razem wynik wywołania funkcji ode był błędny.
Mógłby ktoś pokazać/wytłumaczyć jak to zrobić?

Z góry dziękuje za jakąkolwiek pomoc.


 

Post Wysłany: 9 Lutego 2009, Pon 4:49 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
r0g0
Może pisać książki


Dołączył: 06 Lis 2007
Posty: 139
Skąd: Białystok


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
Witaj,
Twoje równanie można potraktować jako szczególny przypadek równania rozważanego tutaj wcześniej.

Przyjmij, że B=0.
Wtedy bez żadnych przekształceń dostaniesz zapis funkcji do Scilaba:
Kod:
  function xdot=f(t,x),xdot=[0 -w^2; 1 0]*x+[F/m*cos(Omega*t); 0],endfunction

A reszta to już tylko zastosować funkcję ode i po robocie.

Pozdrawiam


 

Post Wysłany: 9 Lutego 2009, Pon 6:18 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Szuwarek



Dołączył: 09 Lut 2009
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
Super, wszystko działa!

Najbardziej mnie dobija to, ze juz próbowałem tej wersji rozwiązania, ale widocznie musiałem źle funkcje wywoływać.

Mimo wszystko dzięki wielkie.


 

Post Wysłany: 18 Lutego 2009, Sro 9:33 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
R2D2



Dołączył: 18 Lut 2009
Posty: 1


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam.
Mam także podobny problem z przekształceniem równania różniczkowego oscylatora z wymuszeniem i tłumieniem:

L*( (d^2)Q/dt^2 ) + Q/C + R*( dQ/dt ) = Ucos(w*t)

tak aby wykorzystać funkcję ode. Gdzie R, L, C mam dane.

W zadaniu mam zbadać zależność Q(t), dla różnych częstości w. I wykonać wykres I(w), gdzie I=dQ/dt. Czyli muszę wykorzystać ode do wyznaczenia wartości dQ/dt w zależności od w. I tu problem, nie mam pojęcia jak przerobić te równanie różniczkowe na ode, aby wyznaczyć prąd I (dQ/dt).

Edited:
Analizując powyższe przykłady doszedłem do wniosku, że:
2B=R
w^2=1/C
F/m=U
a co z L? Podzielić całe równanie przez L? I jak to będzie wyglądało po podstawieniu?
Kod:
function xdot=f(t,Q),xdot=[-R/L -1/(L*C); 1 0]*Q+[U*cos(w*t)/L; 0],endfunction

Czy tak jest poprawnie? Tak chyba wyznaczę Q, a nie dQ/dt.

Co dziwne w zadniu nie mam nic o napięciu U Sad napisać, że U=Q/C czy może przyjąć U=0 Question

Prosiłbym o pomoc. I z góry serdecznie dziękuję.


 

Post Wysłany: 19 Lutego 2009, Czw 7:58 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
r0g0
Może pisać książki


Dołączył: 06 Lis 2007
Posty: 139
Skąd: Białystok


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
Witaj R2D2

Zapis Twojego równania zrobiłeś bardzo dobrze.

Co do wymuszenia, to dając U=0 będziesz musiał dać niezerowe warunki początkowe... w przeciwnym wypadku nic się nie powinno dziać w układzie.
A jeśli dasz U~=0 wtedy myślę, że taka symulacja ma większy sens.

A co do pochodnej ładunku czyli I=dQ/dt. W wyniku rozwiązania tego rówania w ten sposób jak to zapisałeś dostaniesz dwa przebiegi (Twoje rozwiązanie omega będzie w każdej chwili wektorem z dwoma wartościami - wynika to z tego, że macierzowy zapis to sprowadzenie równania z pochodną drugiego rzędu do dwóch równań z pochodną pierwszego rzędu) I tam - pierwsza składowa (kolumna lub wiersz)omegi będzie pochodną omegi a druga to omega. Czyli wynika z tego, że musisz na wykresie pokazać dwie składowe. i już.

Pozdrawiam


 

Post Wysłany: 12 Maj 2009, Wto 8:31 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Ptak1987
Początki pisania


Dołączył: 12 Maj 2009
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
witam. Mam do rozwiązania takie równanie

xy'' + 2y' + x = 1
y(1)=2
y'(1)=1

wyliczylem y' i nie wiem co dalej musze liczyc i do jakiego stopnia sprowadzic te rownanie
w Scilabie jak zadeklaruje x i y to nie chce mi przyjac rownania xy,


 

Post Wysłany: 12 Maj 2009, Wto 11:52 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
r0g0
Może pisać książki


Dołączył: 06 Lis 2007
Posty: 139
Skąd: Białystok


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
Witaj,

x i y w równaniu są zmiennymi których poszukujesz?

Mając jedno równanie, a tyle niewiadomych będzie ciężko...


 

Post Wysłany: 13 Maj 2009, Sro 5:04 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
Ptak1987
Początki pisania


Dołączył: 12 Maj 2009
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
wlasnie nie jestem przekonany do konca czy sa zmiennymi, a w scilabie chyba trzeba je zadeklarowac zeby napisac takie rownanie, ale jak sprowadzic je do prostszego stopnia i co tu wogole trzeba wyliczyc


 

Post Wysłany: 13 Maj 2009, Sro 9:43 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
r0g0
Może pisać książki


Dołączył: 06 Lis 2007
Posty: 139
Skąd: Białystok


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
No właśnie o to chodzi, że nie ruszysz z scilabem jeżeli nie będziesz wiedział co jest dane, czego szukasz...

A jeżeli szukasz x i y to równań jest za mało...


 

Post Wysłany: 15 Maj 2009, Pią 10:21 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
Ptak1987
Początki pisania


Dołączył: 12 Maj 2009
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
y'' = f(x,y')
v = y'
v' = f(x,v)
xv' + 2v + x = 1
-2v = x + xv' - 1 /: -2
v = (x+xv'-1) / 2

wyliczylem cos takiego, podobno mam cos zrobic z y''


 

Post Wysłany: 18 Maj 2009, Pon 4:37 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Ptak1987
Początki pisania


Dołączył: 12 Maj 2009
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
pomoze ktos?


 

Post Wysłany: 2 Czerwca 2009, Wto 9:37 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Ptak1987
Początki pisania


Dołączył: 12 Maj 2009
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
z rozwiązania wyszlo mi takie cos

y=-1/6 x^2+1/2 x+5/6x+5/2

jak to zapisac teraz w scilabie?


 

Forum MATLAB Strona Główna-> Klony Matlaba (Scilab, Octave, ...)
Wyświetl posty z ostatnich:   
Idź do strony 1 2  Następny

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 38733156
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Dla Matlaba 1 jest róşne od 1? Dziwny problem.  (15 Października 2017, Nie 12:38 am)
Wyświetlanie duĹźej ilości punktĂłw  (11 Października 2017, Sro 9:32 pm)
macierz z wektorem na przekątnej  (11 Października 2017, Sro 9:05 pm)
Program antypalgaitowy  (9 Października 2017, Pon 2:18 pm)
Wycinanie twarzy  (9 Października 2017, Pon 10:25 am)
111  (6 Października 2017, Pią 12:57 pm)
Matlab/C# tester - Wrocław  (4 Października 2017, Sro 8:41 am)
Filtr FIR problem  (30 Września 2017, Sob 3:16 pm)
konwolucyjne sieci neuronowe  (29 Września 2017, Pią 6:55 pm)
1  (29 Września 2017, Pią 3:26 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum