要在Python中进行一些模拟,我正在尝试生成数字a,b,c a^2 + b^2 + c^2 = 1.我认为a在0和1之间生成一些,然后b在0和之间生成一些sqrt(1 - a^2),然后c= sqrt(1 - a^2 - b^2)将起作用.
浮点值很好,平方和应该接近 1.我想在一些迭代中继续生成它们.
作为Python的新手,我不确定如何做到这一点.允许否定.
编辑:非常感谢您的答案!
function [output1, output2] = fft2D(input)
output1 = input';
output1 = fft(output1);
output1 = output1';
output1 = fft(output1);
output2 = fft2(input);
end
Run Code Online (Sandbox Code Playgroud)
所以我在output2中计算2D FFT input和在输出1中的相同2D FFT input.fft()对于2D矩阵,跨越列向量应用FFT.所以上面我将它应用于行,然后应用于列.
但是对于随机矩阵
[1 1 4 1;
12 13 124 1;
12 2 2 1;
1 1 1 0]
Run Code Online (Sandbox Code Playgroud)
我output1是:
1.0e+02 *
1.7700 + 0.0000i -1.0500 + 0.1400i 1.3700 + 0.0000i -1.0500 - 0.1400i
-0.1000 - 1.4700i -0.0200 + 1.1100i -0.0800 - 1.2100i -0.2400 + 1.1300i
-1.2900 + 0.0000i 1.1900 …Run Code Online (Sandbox Code Playgroud)