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 commentaires

Ameer Hamza
Ameer Hamza le 13 Nov 2020
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 le 13 Nov 2020
Modifié(e) : Jose Aroca le 13 Nov 2020
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 le 13 Nov 2020
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 le 13 Nov 2020
Modifié(e) : Bruno Luong le 13 Nov 2020
"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 le 13 Nov 2020
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 .

Connectez-vous pour commenter.

 Réponse acceptée

Bruno Luong
Bruno Luong le 13 Nov 2020
Modifié(e) : Bruno Luong le 13 Nov 2020
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.

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Produits

Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by