複素数データのcsvファイルへの出力方法が知りたいです。
18 views (last 30 days)
Show older comments
信号処理した後のデータをCSVファイルに出力したいのですが、実数のみしか認識しません。
下記に、FRFという名前で、構造体のデータを作っています。
加速度センサー数十個のデータを一緒に認識させるために、 FRF(c).name で下記のデータを
ひもづけています。 FRF(c)のcがセンサーの数だけあります。
FRF(c)の.周波数データ、伝達関数(複素数のかたちでデータ保持)、コヒーレンス、
位相これらのデータを、FRFという構造体のデータ作成
%%%%%%%%%%%%%%%%%%%%%%%%%%
FRF(c).name =CHinfo{CH+1,3}; %エクセルファイル読み込んでいるのでCHにさらに+1必要;
FRF(c).f = f;
FRF(c).Txy = Txy;
FRF(c).Cxy = Cxy;
FRF(c).P = P;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
aという名前で、csvに出力しようと試みました。
fprint(fid ここで%fだと実数のみが出力されます。
f は周波数0‐6000Hzまでのデータです。d2はセンサーの名称を格納している番号データです。
この方法だと、構造体からのデータをcsvファイルに書き出しやすいので使っているのですが、
複素数が出力できないので、良い方法があれば教えてください。
%%%%%%%%%%%%%%%%%%%%%%%%%
num=length(f);
fid = fopen('a.csv','w');
for n=1:num+1
for k=1:length(d2)
if n ==1
fprintf(fid,'%s,,,,',FRF(k).name);
else
fprintf(fid,'%f,%f,%f,%f,',FRF(k).f(n-1),FRF(k).Txy(n-1),FRF(k).Cxy(n-1),FRF(k).P(n-1));
end
end
fprintf(fid,'\n');
end
fclose(fid);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!