Overlap integral of the electric field distribution

61 ビュー (過去 30 日間)
shdotcom shdotcom
shdotcom shdotcom 2017 年 5 月 19 日
コメント済み: Suresh Chejarla 2023 年 5 月 25 日
Hi, I am trying to calculate overlap integral (OI) of electric field distribution, using Matlab, when run the following code:
xc = linspace(0,1,M);
yc = linspace(0,1,M);
A = E1 * E2;
B = (abs(trapz(xc,trapz(yc, abs(A))) ) ).^2;
C = trapz(xc,trapz(yc, abs(E1).^2)) * trapz(xc,trapz(yc, abs(E2).^2 ));
OI = B./C;
where E1 is the electric field distribution of the desired mode and E2 is polarized mode. Both E1 and E2 are matrices of size MxM.
but, I have got this error: Error using trapz (line 57) *LENGTH(X) must equal the length of Y in dim 1.
  3 件のコメント
shdotcom shdotcom
shdotcom shdotcom 2017 年 5 月 20 日
You are right, I have edited the code.
Suresh Chejarla
Suresh Chejarla 2023 年 5 月 25 日
Hello,
Can you please provide the reference for the OI expression which you have put here ?

サインインしてコメントする。

採用された回答

Torsten
Torsten 2017 年 5 月 19 日
編集済み: Torsten 2017 年 5 月 19 日
xc = linspace(0,1,M);
yc = linspace(0,1,M);
A = E1 .* E2;
B = (trapz(xc,trapz(yc, abs(A), 1)) ).^2;
C = trapz(xc,trapz(yc, abs(E1).^2, 1)) * trapz(xc,trapz(yc, abs(E2).^2, 1 ));
OI = B./C;
Best wishes
Torsten.
  2 件のコメント
shdotcom shdotcom
shdotcom shdotcom 2017 年 5 月 20 日
I have edited the code based on @David Goodmanson's comments. Could you please explain to me why you used 1 instead on 2 in the trapz()
C = trapz(xc,trapz(yc, abs(E1).^2, 1)) * trapz(xc,trapz(yc, abs(E2).^2, 1 ));
Torsten
Torsten 2017 年 5 月 22 日
So the code should read:
xc = linspace(0,1,M);
yc = linspace(0,1,M);
A = E1 .* E2;
B = (trapz(xc,trapz(yc, A, 1)) )^2;
C = trapz(xc,trapz(yc, abs(E1).^2, 1)) * trapz(xc,trapz(yc, abs(E2).^2, 1 ));
OI = B./C;
I used 1 instead of 2 in trapz() because you have to integrate each column of A if you integrate over y.
Best wishes
Torsten.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNumerical Integration and Differentiation についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by