この質問は非常に単純かもしれませんが、Matlab のドキュメントからこれを行う方法が明確ではありません。
ユニタリ行列 W を作成する必要があります
複雑な形式では、W の j,k 番目のエントリ [W]_j,k は次のとおりです。
[W]_j,k = 1/sqrt(n)exp^(2*pi*i*j*k/n) j,k = 1, 2, . 、n
Matlabでそのような行列を定義するにはどうすればよいですか。極形式ですべてを行うことができれば、生活が楽になります。
バズ
この質問は非常に単純かもしれませんが、Matlab のドキュメントからこれを行う方法が明確ではありません。
ユニタリ行列 W を作成する必要があります
複雑な形式では、W の j,k 番目のエントリ [W]_j,k は次のとおりです。
[W]_j,k = 1/sqrt(n)exp^(2*pi*i*j*k/n) j,k = 1, 2, . 、n
Matlabでそのような行列を定義するにはどうすればよいですか。極形式ですべてを行うことができれば、生活が楽になります。
バズ
私はこのような何かがそれを解決すると思います:
N = 4;
[X Y] = meshgrid(1:N);
W = exp(1i*2*pi*X.*Y/N)/sqrt(N)
を使用した私のソリューションは次のbsxfun
とおりです。
n=4;
fn=@(a,b)(1/sqrt(n)*exp(2*pi*1i*a*b/n));
bsxfun(fn,(1:n),(1:n)')
ans =
0.0000 + 0.5000i -0.5000 + 0.0000i -0.0000 - 0.5000i 0.5000 - 0.0000i
-0.5000 + 0.0000i 0.5000 - 0.0000i -0.5000 + 0.0000i 0.5000 - 0.0000i
-0.0000 - 0.5000i -0.5000 + 0.0000i 0.0000 + 0.5000i 0.5000 - 0.0000i
0.5000 - 0.0000i 0.5000 - 0.0000i 0.5000 - 0.0000i 0.5000 - 0.0000i
matlab の虚数について特別なことは何もありません。ただし、1 つのアドバイス: 変数名 i および j は使用しないでください。i と j は両方とも虚数単位です。