이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오. 라플라스 변환을 사용하여 미분 방정식 풀기Symbolic Math Toolbox™에서 다음 워크플로로 라플라스 변환을 사용하여 미분 방정식을 풉니다. 라플라스 변환의 간단한 예제는 정의: 라플라스 변환함수 f(t)의 라플라스 변환은 다음과 같습니다. F (s)=∫0∞f(t)e-tsdt. 개념: 기호 워크플로 사용하기기호 워크플로에서는 계산을 수치 형식이 아닌 자연적인 기호 형식으로 유지합니다. 이 접근 방식은 해의 속성을 이해하고 정확한 기호 값을 사용하게 해줍니다. 수치 결과가 필요할 때나 기호적으로 진행할 수 없을 때만 기호 변수에 숫자를 대입합니다. 자세한 내용은 수치 연산방식 또는 기호 연산방식 선택하기 항목을 참조하십시오. 일반적으로 단계는 다음과 같습니다.
워크플로: 라플라스 변환을 사용하여 RLC 회로 풀기방정식 선언하기라플라스 변환을 사용하여 초기 조건이 있는 미분 방정식을 풀 수 있습니다. 예를 들어, 다음 회로와 같은 저항-인덕터-커패시터(RLC) 회로를 풀 수 있습니다.
키르히호프의 전압 및 전류 법칙을 적용하여 다음 방정식을 얻습니다. I1=I2+ I3LdI1dt+I1R1+I2R2=0E(t)+I2R2- QC-I3R3=0 위의 방정식에 관계식 I3=dQ/dt(커패시터 충전 속도)를 대입하여 RLC 회로의 미분 방정식을 얻습니다. dI1 dt-R2LdQdt=-R1+R2LI1dQdt=1R2+R3(E(t)-QC)+R2R 2+R3I1 변수를 선언합니다. 물리량이 양수 값을 가지므로, 변수에 이에 해당하는 가정을 설정합니다. E (t)를 1V의 교류 전압이라고 하겠습니다. 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) = eqn2 = dQ == (1/(R(2)+R(3))*(E-Q/C)) + R(2)/(R(2)+R(3))*I1 eqn2(t) = 방정식 풀기
eqn1LT = laplace(eqn1,t,s) eqn1LT = eqn2LT = laplace(eqn2,t,s) eqn2LT = 함수 syms I1_LT Q_LT eqn1LT = subs(eqn1LT,[laplace(I1,t,s) laplace(Q,t,s)],[I1_LT Q_LT]) eqn1LT = eqn2LT = subs(eqn2LT,[laplace(I1,t,s) laplace(Q,t,s)],[I1_LT Q_LT]) eqn2LT =
eqns = [eqn1LT eqn2LT]; vars = [I1_LT Q_LT]; [I1_LT, Q_LT] = solve(eqns,vars) 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 = Qsol = subs(Qsol,vars,values) Qsol = 결과 플로팅하기전류 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') 결과 분석하기초기에는 전류와 전하가 지수적으로 감소합니다. 그러나 장기적으로는 진동합니다. 이러한 동작은 각각 "과도 상태"와 "정상 상태"라고 합니다. 기호 결과를 사용하면 결과의 속성을 분석할 수 있습니다. 이는 수치 결과를 사용할 때는 가능하지 않습니다.
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') 플롯을 통해 I1transient = I1terms(has(I1terms,'exp')) I1transient = I1steadystate = I1terms(~has(I1terms,'exp')) I1steadystate = 마찬가지로, Qtransient = Qterms(has(Qterms,'exp')) Qtransient = Qsteadystate = Qterms(~has(Qterms,'exp')) Qsteadystate = |