How to integral function and plot it
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tina Hsiao
le 21 Juin 2021
Commenté : Star Strider
le 25 Juin 2021
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
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?
Réponse acceptée
Star Strider
le 23 Juin 2021
‘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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Gamma Functions dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!