複素数データのcsvファイルへの出力方法が知りたいです。
5 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
Categories
Find more on スプレッドシート in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!