C++ を使用して、時間領域の複数のポイントで電圧をシミュレートしました。出力は表形式で出力されます (つまり、最初の列に時間、次の列に各ポイントの電圧)。
私はMatlabを初めて使用しますが、最初の列に周波数のテーブルを取得し、その後に各ポイントの周波数ドメイン値を取得する必要がある以前のファイルをfftするために使用しています(同じファイル内)。
このようなテーブルを作成するためにあらゆる手段を試しましたが、常に 1 つの列マトリックスに表示されます (つまり、すべてのデータが 1 つの列マトリックスに設定されます)。
次の形式にする必要があります。
╔═══════════════════════════════════════════════╗
║ *f V1(f) V2(f) ..... Vn(f)* ║
╠═══════════════════════════════════════════════╣
║ ║
║ f1 .. .. .. ║
║ ║
║ f2 .. .. .. ║
║ ║
║ f3 .. .. .. ║
╚═══════════════════════════════════════════════╝
また、そのような行列を作成できる場合、その転置を取得するにはどうすればよいですか (もう一度 wrt から空間に fft するため)。
コードは次のとおりです。
itr=importdata('filename.itr');
L=length(itr);
T=itr(L,1);
dt=itr(2,1);
t=(0:dt:T-dt);
fs=1/dt;
FR_length=L;
[M,N]=size(itr(1:end,1:end));
f=-FR_length/2:FR_length/2-1;
f=f3.*(fs/FR_length);
for n=2:N
FR=fft(itr(:,n),FR_length);
end
誰でもこれで私を助けることができますか?どうもありがとう :)