Решите дифференциальные уравнения Используя преобразование Лапласа

Решите дифференциальные уравнения при помощи Преобразований Лапласа в Symbolic Math Toolbox™ с этим рабочим процессом. Для простых примеров на Преобразовании Лапласа смотрите laplace и ilaplace.

Определение: преобразование Лапласа

Преобразование Лапласа функции f(t)

F(s)=0f(t)e-tsdt.

Концепция: Используя символьные рабочие процессы

Символьные рабочие процессы сохраняют вычисления в естественной символьной форме вместо числовой формы. Этот подход помогает вам изучить свойства своего решения и использовать точные символьные значения. Вы заменяете числами вместо символьных переменных только, когда вы требуете числового результата, или вы не можете продолжить символически. Для получения дополнительной информации смотрите, Выбирают Numeric or Symbolic Arithmetic. Как правило, шаги:

  1. Объявите уравнения.

  2. Решите уравнения.

  3. Замените значениями.

  4. Постройте результаты.

  5. Анализ результатов.

Рабочий процесс: решите схему RLC Используя преобразование Лапласа

Объявите уравнения

Можно использовать Преобразование Лапласа, чтобы решить дифференциальные уравнения с начальными условиями. Например, можно решить конденсатор индуктора сопротивления (RLC) схемы, такие как эта схема.

  • Сопротивления в Оме: R1,R2,R3

  • Токи в ампере: I1,I2,I3

  • Индуктивность в Генри: L

  • Емкость в фараде: C

  • Источник напряжения переменного тока в вольтах: E(t)

  • Заряд конденсатора в кулоне: Q(t)

Примените напряжение Кирхгоффа и действующие законы, чтобы получить следующие уравнения.

I1=I2+I3LdI1dt+I1R1+I2R2=0E(t)+I2R2-QC-I3R3=0

Замените отношением I3=dQ/dt (который является уровнем заряжаемого конденсатора) к вышеупомянутым уравнениям, чтобы получить дифференциальные уравнения для схемы RLC.

dI1dt-R2LdQdt=-R1+R2LI1dQdt=1R2+R3(E(t)-QC)+R2R2+R3I1

Объявите переменные. Поскольку физические количества имеют положительные значения, устанавливают соответствующие предположения на переменных. Пусть E(t) будьте переменным напряжением 1 В.

syms L C I1(t) Q(t) s
R = sym('R%d',[1 3]);
assume([t L C R] > 0)
E(t) = 1*sin(t);        % AC voltage = 1 V

Объявите дифференциальные уравнения.

dI1 = diff(I1,t);
dQ = diff(Q,t);
eqn1 = dI1 - (R(2)/L)*dQ == -(R(1)+R(2))/L*I1
eqn1(t) = 

t I1(t)-R2t Q(t)L=-I1(t)R1+R2L

eqn2 = dQ == (1/(R(2)+R(3))*(E-Q/C)) + R(2)/(R(2)+R(3))*I1
eqn2(t) = 

t Q(t)=sin(t)-Q(t)CR2+R3+R2I1(t)R2+R3

Решите уравнения

Вычислите Преобразование Лапласа eqn1 и eqn2.

eqn1LT = laplace(eqn1,t,s)
eqn1LT = 

slaplace(I1(t),t,s)-I1(0)+R2Q(0)-slaplace(Q(t),t,s)L=-R1+R2laplace(I1(t),t,s)L

eqn2LT = laplace(eqn2,t,s)
eqn2LT = 

slaplace(Q(t),t,s)-Q(0)=R2laplace(I1(t),t,s)R2+R3+Cs2+1-laplace(Q(t),t,s)CR2+R3

Функциональный solve решает только для символьных переменных. Поэтому использовать solve, сначала замените laplace(I1(t),t,s) и laplace(Q(t),t,s) с переменными I1_LT и Q_LT.

syms I1_LT Q_LT
eqn1LT = subs(eqn1LT,[laplace(I1,t,s) laplace(Q,t,s)],[I1_LT Q_LT])
eqn1LT = 

I1,LTs-I1(0)+R2Q(0)-QLTsL=-I1,LTR1+R2L

eqn2LT = subs(eqn2LT,[laplace(I1,t,s) laplace(Q,t,s)],[I1_LT Q_LT])
eqn2LT = 

QLTs-Q(0)=I1,LTR2R2+R3-QLT-Cs2+1CR2+R3

Решите уравнения для I1_LT и Q_LT.

eqns = [eqn1LT eqn2LT];
vars = [I1_LT Q_LT];
[I1_LT, Q_LT] = solve(eqns,vars)
I1_LT = 

LI1(0)-R2Q(0)+CR2s+Ls2I1(0)-R2s2Q(0)+CLR2s3I1(0)+CLR3s3I1(0)+CLR2sI1(0)+CLR3sI1(0)s2+1R1+R2+Ls+CLR2s2+CLR3s2+CR1R2s+CR1R3s+CR2R3s

Q_LT = 

CR1+R2+Ls+LR2I1(0)+R1R2Q(0)+R1R3Q(0)+R2R3Q(0)+LR2s2I1(0)+LR2s3Q(0)+LR3s3Q(0)+R1R2s2Q(0)+R1R3s2Q(0)+R2R3s2Q(0)+LR2sQ(0)+LR3sQ(0)s2+1R1+R2+Ls+CLR2s2+CLR3s2+CR1R2s+CR1R3s+CR2R3s

Вычислить I1 и Q путем вычисления обратного Преобразования Лапласа I1_LT и Q_LT. Упростите результат. Подавите выход, потому что это длинно.

I1sol = ilaplace(I1_LT,s,t);
Qsol = ilaplace(Q_LT,s,t);
I1sol = simplify(I1sol);
Qsol = simplify(Qsol);

Замените значениями

Прежде, чем построить результат, замените символьными переменными числовыми значениями элементов схемы. Пусть R1=4Ω, R2=2Ω, R3=3Ω, C=1/4F, L=1.6H. Примите, что начальный ток I1(0)=2A и первоначальный сбор Q(0)=2C.

vars = [R L C I1(0) Q(0)];
values = [4 2 3 1.6 1/4 2 2];
I1sol = subs(I1sol,vars,values)
I1sol = 

200cos(t)8161+405sin(t)8161+16122e-81t40cosh(1761t40)-7425291761sinh(1761t40)141954218161

Qsol = subs(Qsol,vars,values)
Qsol = 

924sin(t)8161-1055cos(t)8161+17377e-81t40cosh(1761t40)+11094251761sinh(1761t40)306008978161

Постройте результаты

Постройте текущий I1sol и заряжайте Qsol. Покажите и поведение переходного и устойчивого состояния при помощи двух различных временных интервалов: 0t15 и 2t25.

subplot(2,2,1)
fplot(I1sol,[0 15])                      
title('Current')
ylabel('I1(t)')
xlabel('t')

subplot(2,2,2)
fplot(Qsol,[0 15])                        
title('Charge')
ylabel('Q(t)')
xlabel('t')

subplot(2,2,3)
fplot(I1sol,[2 25])                  
title('Current')
ylabel('I1(t)')
xlabel('t')
text(3,-0.1,'Transient')
text(15,-0.07,'Steady State')

subplot(2,2,4)
fplot(Qsol,[2 25])                        
title('Charge')
ylabel('Q(t)')
xlabel('t')
text(3,0.35,'Transient')
text(15,0.22,'Steady State')

Figure contains 4 axes objects. Axes object 1 with title Current contains an object of type functionline. Axes object 2 with title Charge contains an object of type functionline. Axes object 3 with title Current contains 3 objects of type functionline, text. Axes object 4 with title Charge contains 3 objects of type functionline, text.

Анализ результатов

Первоначально, текущее уменьшение и уменьшение заряда экспоненциально. Однако за длительный срок, они являются колебательными. Эти поведения называются "переходным" и "устойчивым состоянием", соответственно. Символьным результатом можно анализировать свойства результата, который не возможен числовыми результатами.

Визуально смотрите I1sol и Qsol. Они - сумма терминов. Найдите термины при помощи children. Затем найдите вклады терминов путем графического вывода их по [0 15]. Графики показывают термины переходного и устойчивого состояния.

I1terms = children(I1sol);
I1terms = [I1terms{:}];
Qterms = children(Qsol);
Qterms = [Qterms{:}];

figure;
subplot(1,2,1)
fplot(I1terms,[0 15])
ylim([-0.5 2.5])
title('Current terms')

subplot(1,2,2)
fplot(Qterms,[0 15])
ylim([-0.5 2.5])
title('Charge terms')

Figure contains 2 axes objects. Axes object 1 with title Current terms contains 3 objects of type functionline. Axes object 2 with title Charge terms contains 3 objects of type functionline.

Графики показывают тот I1sol имеет термин переходного и устойчивого состояния, в то время как Qsol имеет переходный процесс и два термина устойчивого состояния. От визуального осмотра заметьте I1sol и Qsol имейте термин, содержащий exp функция. Примите, что этот термин вызывает переходное экспоненциальное затухание. Разделите термины переходного и устойчивого состояния в I1sol и Qsol путем проверки терминов на exp использование has.

I1transient = I1terms(has(I1terms,'exp'))
I1transient = 

16122e-81t40cosh(1761t40)-7425291761sinh(1761t40)141954218161

I1steadystate = I1terms(~has(I1terms,'exp'))
I1steadystate = 

(200cos(t)8161405sin(t)8161)

Точно так же отдельный Qsol в термины переходного и устойчивого состояния. Этот результат демонстрирует, как символьные вычисления помогают вам анализировать свою проблему.

Qtransient = Qterms(has(Qterms,'exp'))
Qtransient = 

17377e-81t40cosh(1761t40)+11094251761sinh(1761t40)306008978161

Qsteadystate = Qterms(~has(Qterms,'exp'))
Qsteadystate = 

(-1055cos(t)8161924sin(t)8161)