How to integral function and plot it

2 次查看(过去 30 天)
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 个评论
Sergey Kasyanov
Sergey Kasyanov 2021-6-21
编辑:Sergey Kasyanov 2021-6-21
Are kappat, Gammat, gammat functions of df?
What is dL? Why is it array?
Tina Hsiao
Tina Hsiao 2021-6-23
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.

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2021-6-23
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.
.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Gamma Functions 的更多信息

标签

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by