複素数データのcsvファイルへの出力方法が知りたいです。
    3 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!