How to specify boundary conditions for solution of ODes

조회 수: 3 (최근 30일)
saheed
saheed 2014년 9월 18일
댓글: saheed 2014년 9월 18일
Hi everyone,
How can I specify boundary conditions in a matrix to solve the ODE system with the following dsolve command syntax?
syms x1(t) x2(t).....xN(t)
A = [a1 a2....aN; b1 b2...bN;...;d1 d2....dN];
B = [t1; t2;...;tN];
Y = [x1; x2;...;xN];
S = dsolve(diff(Y) == A*Y + B);

답변 (1개)

Mischa Kim
Mischa Kim 2014년 9월 18일
편집: Mischa Kim 2014년 9월 18일
saheed, see e.g.
syms R L C Uc(t)
% Define first and second derivatives for Uc
DUcDt = diff(Uc);
D2UcDt2 = diff(Uc,2);
% Perturbation input (or RHS): change input to dirac(t), t, etc.
Uin = 1;
% Define differential equation for linear RLC circuit
RLC_DE = L*C*D2UcDt2 + R*C*DUcDt + Uc == Uin;
% Set initial conditions
Uc0 = Uc(0) == 0;
DUc0 = DUcDt(0) == 0;
% Solve differential equation and display
Uc_sym = dsolve(RLC_DE, Uc0, DUc0);
display(['Uc(t) = ',char(10),char(Uc_sym),char(10)])
Alternatively, check out this example in the documentation.
  댓글 수: 1
saheed
saheed 2014년 9월 18일
Thanks Kim but actually I have tried this syntax you specified but I got error because I need to specify the differential terms A, Y and B in
S = dsolve(diff(Y) == A*Y + B);
as matrices and vectors respectively. So the problem still remains if I specify the conditions of [x1; x2;...;xN] in
Y = [x1; x2;...;xN];
as x1(0)==0, x2(0)==0
just like you suggested. Any further suggestion is highly welcomed.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by