Zaloguj się
Blog na Matlab.pl
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

Układ równań różniczkowych, rysowanie wykresów.
Forum MATLAB Strona Główna-> Matematyka, statystyka i prawdopodobieństwo
Post Wysłany: 2 Października 2016, Nie 1:46 pm Temat postu: Układ równań różniczkowych, rysowanie wykresów. Odpowiedz z cytatem
 
AUTOR:
Gabriel96



Dołączył: 02 Paź 2016
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam.
Z matlaba korzystam od niedawna. Chciałem napisać program, który rozwiązuje układ liniowych równań różniczkowych pierwszego rzędu z pewnymi warunkami początkowymi, a następnie przedstawia rozwiązania na wykresie.
Kod:

syms x1
(t) x2(t)
eqn1 = diff(x1) == 3*x1 + 4*x2;
eqn2 = diff(x2) == -4*x1 + 3*x2;
c1 = x1(0) == 0;
c2 = x2(0) == 1;
[
x1Sol(t), x2Sol(t)] = dsolve(eqn1, eqn2, c1, c2)


Działa, dostaję ładne rozwiązania. Problem pojawia się gdy chcę narysować wykres (chodzi mi o jeden wykres, na którym będą dwie krzywe).
Na mathworksie znalazłem kod, ale nie działa, oto on:
Kod:
fplot(x1Sol)
hold on
fplot
(x2Sol)
grid on
legend
('fSol','gSol','Location','best')


Czy ktoś może mi powiedzieć/pokazać jak nanieść te oba rozwiązania na wykres?


 

Post Wysłany: 2 Października 2016, Nie 7:39 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
alhambra
Może pisać książki


Dołączył: 05 Sie 2008
Posty: 691


Ogląda profil użytkownika Wyślij prywatną wiadomość
t=-5:0.1:5; % zakres danych do wyświetlenia
aa=double(x1Sol(t));
bb=double(x2Sol(t));
plot(1:length(aa),aa,'r',1:length(bb),bb,'b')
grid on
legend('fSol','gSol','Location','best')



_________________
Korepetycje z Matlaba, pomoc ....
 

Post Wysłany: 2 Października 2016, Nie 9:47 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Łazik
Może pisać książki


Dołączył: 31 Maj 2013
Posty: 100
Skąd: Polska


Ogląda profil użytkownika Wyślij prywatną wiadomość
@alhambra jeśli już to
Kod:
plot(t,aa,'r',t,bb,'b')

@Gabriel96 spróbuj zrobić jak poniżej:
Kod:
zakres = [1, 5]; % wartości przykładowe
fplot
(x1Sol, zakres)
hold on
fplot
(x2Sol, zakres)
grid on
legend
('fSol','gSol','Location','best')

względnie sprawdź składnię funkcji fplot w wersji Matlaba, której używasz.



_________________
cody/players/4345310
 

Post Wysłany: 3 Października 2016, Pon 5:28 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
alhambra
Może pisać książki


Dołączył: 05 Sie 2008
Posty: 691


Ogląda profil użytkownika Wyślij prywatną wiadomość
Łazik ... prawda, masz rację, idiotyczne to 1:length(aa) jak mamy t
dzięki za uwagę i pozdro



_________________
Korepetycje z Matlaba, pomoc ....
 

Forum MATLAB Strona Główna-> Matematyka, statystyka i prawdopodobieństwo
Wyświetl posty z ostatnich:   

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 35151429
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
sz  (30 Marca 2017, Czw 9:00 pm)
Matlab rozkład LU  (29 Marca 2017, Sro 3:52 pm)
Amplituda AM  (29 Marca 2017, Sro 11:21 am)
plot  (28 Marca 2017, Wto 11:51 am)
Symulacja układu hydraulicznego  (28 Marca 2017, Wto 8:41 am)
Simulink + OPC Server -- Write Data  (27 Marca 2017, Pon 8:25 pm)
Jak zrobic to zadanie?  (27 Marca 2017, Pon 5:44 pm)
Problem z symulacją ładowania baterii w Simulinku  (27 Marca 2017, Pon 9:48 am)
Losowanie z dowolnego rozkładu  (26 Marca 2017, Nie 7:45 pm)
wycinanie fragmentu wykresu przy pomocy pętli  (25 Marca 2017, Sob 7:11 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