Solving complex integro-differential equation

I want to solve the following integro-differential equation: , with the conditon c(0)=1, and plot its real part, that should look like a decaying exponential. I want to be able to choose the value of Omega. This is what I have tried so far but Matlab says "Warning: Unable to find symbolic solution". The line c1(t) = subs(c1(t),t,t/om) is for the x axis to be in dimensionless units (Omega*t)
clearvars
close all
omega = 0.3;
syms t om tau c1(t)
f(t) = exp(1i*om*(t-tau));
Fx = -int(f,tau,[-inf,inf]);
ode = diff(c1,t) == c1(t)/2*Fx;
cond = c1(0) == 1;
c1(t) = dsolve (ode);
c1(t) = subs(c1(t),t,t/om);
c1(t) = subs(c1(t),om,omega);
fplot ((real(c1(t))).^2,[0,10])

댓글 수: 8

Ameer Hamza
Ameer Hamza 2020년 11월 13일
I don't think that the integral converges for any real value of omega, t and tau. Are the limits correct?
Jose Aroca
Jose Aroca 2020년 11월 13일
편집: Jose Aroca 2020년 11월 13일
Yes, the limit are supposed to be correct. I was told that this theorem would help but I'm not sure how to introduce it: https://en.wikipedia.org/wiki/Sokhotski%E2%80%93Plemelj_theorem
is it possible that omega is a function instead of a constant? The integral reminds me of a convolution
Jose Aroca
Jose Aroca 2020년 11월 13일
Yes, it is a convolution. The original equation is , but for simplicity I am just considering a single mode k and approximating
If omega is a constant then exp(i*omega(t-tau)) is exp(i*omega*t)*exp(-i*omega*tau) and the first part of that is constant and so can be removed outside of the integral. That leaves integral exp(-i*omega*tau) from -inf to +inf and with those infinite limits that is going to be complex sign of omega times infinity (or possibly the negative of that). Ah, for real valued omega it is nan as it involves the difference of two infinite quantities.
Bruno Luong
Bruno Luong 2020년 11월 13일
편집: Bruno Luong 2020년 11월 13일
"Yes, the limit are supposed to be correct."
I disagree, and Ameer is right, the integral does not converge for any value (even complex) of omega.
f(t) = exp(1i*om*(t-tau));
Fx = -int(f,tau,[-inf,inf]);
  • it's diverge on +infinity, converge on -infinity, if imag(om)>0,
  • it's diverge on -infinity, converge on +infinity, if imag(om)<0,
  • it's does not converge on both sides if imag(om)=0 (oscilating sin);
If it is a convolution there should be an f(tau)*f(t-tau) and that would make a big difference in the integral. You accidentally rewrote an integral that just might be convergent into an one that is not for real-valued omega.
Jose Aroca
Jose Aroca 2020년 11월 13일
My original problem is , where is as described above. I have already solved this previously using a Laplace transform, but for this special case c is now only dependent on t, not tau (c(t)) so I am supposed to be able to plug it out of the integral and then .

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

 채택된 답변

Bruno Luong
Bruno Luong 2020년 11월 13일
편집: Bruno Luong 2020년 11월 13일

0 개 추천

For omega with imag(omega) < 0, the solution of the integro-differential eqt
(dc/dt)(t) = -c(t)/2 * integral_0^inf exp(i*omega*(t-tau)) dtau
has analytic form and is
c(t) = c0 * exp( exp(i*omega*t) / (2*omega^2) )
where c0 is an arbitrary constant.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2020년 11월 13일

편집:

2020년 11월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by