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
Walter Roberson
Walter Roberson 2020 年 11 月 13 日
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
Walter Roberson
Walter Roberson 2020 年 11 月 13 日
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);
Walter Roberson
Walter Roberson 2020 年 11 月 13 日
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 ExchangeMathematics についてさらに検索

製品

リリース

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