Hi, Could you help me how to integral function "fun" and get the q, then plot dL vs q. The code as below. Thanks a lot.
clear all; close all; clc
Gamma = 1;
kappa = 0.75*Gamma;
Dp = 0*Gamma;
Dc = 0*Gamma;
Finese = 350;
OD0 = 0.025;
OD = (Finese/pi)*OD0;
G = OD;
Oc = 2*Gamma;
Op = 0.00001*Gamma;
T0 = 1;
rR = 0*Gamma;
dL = linspace(-6*Gamma,6*Gamma,2000);
kappat = -i*kappa/2+Dp-dL-df;
Gammat = -i*Gamma/2-dL-df;
gammat = -i*rR/2+Dc-dL-df;
Gammaf = 0.00001*Gamma;
A = -4*gammat.*Gammat;
T = T0*(kappa/2)^2.*...
abs((A+Oc^2)./((G^2*gammat)+(kappat.*(A+Oc^2)))).^2;
fun = @(df) (exp(-(df^2/Gammaf^2))/(sqrt(pi)*Gammaf))*T;
q = integral(fun,-Inf,Inf)
figure(1)
plot(dL, q)
xlabel ('dL')
ylabel('Transmission signal')

2 commentaires

Sergey Kasyanov
Sergey Kasyanov le 21 Juin 2021
Modifié(e) : Sergey Kasyanov le 21 Juin 2021
Are kappat, Gammat, gammat functions of df?
What is dL? Why is it array?
Tina Hsiao
Tina Hsiao le 23 Juin 2021
Yes! kappat, Gammat, gammat are functions of df. The dL is an array once I get the q result. I would like to put all the value (eg. Gamma = 1; kappa = 0.75*Gamma; Dp = 0*Gamma; Dc = 0*Gamma; ...etc into q and with different dL. And plot dL vs q.

Connectez-vous pour commenter.

 Réponse acceptée

kappat, Gammat, gammat are functions of df.’
I created them (as well as ‘A’, ‘T’, and ‘fun’) as anonymous functions of ‘df’ to define them as such.
Check this to be certain it prooduces the desired result, otherwise make necessary corrections (since I do not understand what this code does) —
Gamma = 1;
kappa = 0.75*Gamma;
Dp = 0*Gamma;
Dc = 0*Gamma;
Finese = 350;
OD0 = 0.025;
OD = (Finese/pi)*OD0;
G = OD;
Oc = 2*Gamma;
Op = 0.00001*Gamma;
T0 = 1;
rR = 0*Gamma;
dL = linspace(-6*Gamma,6*Gamma,2000);
kappat = @(df) -i*kappa./2+Dp-dL-df;
Gammat = @(df) -i*Gamma./2-dL-df;
gammat = @(df) -i*rR./2+Dc-dL-df;
Gammaf = 0.00001*Gamma;
A = @(df) -4*gammat(df).*Gammat(df);
T = @(df) T0*(kappa/2)^2.*...
abs((A(df)+Oc^2)./((G^2*gammat(df))+(kappat(df).*(A(df)+Oc^2)))).^2;
fun = @(df) (exp(-(df.^2./Gammaf^2))./(sqrt(pi)*Gammaf)).*T(df);
q1 = integral(fun,-Inf,0, 'ArrayValued',1);
q2 = integral(fun,0,Inf, 'ArrayValued',1);
q = q1 + q2;
figure(1)
plot(dL, q)
xlabel ('dL')
ylabel('Transmission signal')
Since ‘q’ as originally defined is uniformly 0, I broke it into two regions and added them.
.

2 commentaires

Tina Hsiao
Tina Hsiao le 25 Juin 2021
Prima! Thanks a lot...I like this solution.
Star Strider
Star Strider le 25 Juin 2021
As always, my pleasure!
Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Version

R2017a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by