Hi,
This multiplication gets a wrong answer:
E=[Eopt(1) 0];
coupler=[sqrt(0.9) 1i*sqrt(0.1);1i*sqrt(0.1) sqrt(0.9)];
Eout=coupler*E(1);
The answer:
Eout =
9.4868 + 0.0000i -0.0000 + 3.1623i
-0.0000 + 3.1623i 9.4868 + 0.0000i
I am multiplying a 2x2 with a 2x1 matrix, so the result should be a 2x1 matrix.
Why is that?
Thanks

 채택된 답변

Guillaume
Guillaume 2014년 10월 12일

0 개 추천

No, you are multiplying a 2x2 matrix with a scalar, the first element of E.
Did you mean?
Eout = coupler * E;

추가 답변 (1개)

Image Analyst
Image Analyst 2014년 10월 12일

0 개 추천

E(1) is a scalar = just a single number. Try this:
Eopt = 3 % Whatever....
E=[Eopt(1) 0]
coupler=[sqrt(0.9) 1i*sqrt(0.1);1i*sqrt(0.1) sqrt(0.9)]
Eout= E * coupler % E is now a matrix and on the left.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

질문:

2014년 10월 12일

답변:

2014년 10월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by