ベクトル/変数名を保持したまま、.matファイルをcsvに変換しようとしています。これは私が扱っているものの一例です:
mymat =
model_id: [2217x1 double]
own_dummies: [2217x26 double]
id: [2217x1 double]
product: [2217x1 double]
const: [2217x1 double]
mpd: [2217x1 double]
air: [2217x1 double]
mpg: [2217x1 double]
trend: [2217x1 double]
space: [2217x1 double]
hpwt: [2217x1 double]
cdindex: [20x1 double]
cdid: [2217x1 double]
outshr: [2217x1 double]
firmid: [2217x1 double]
share: [2217x1 double]
price: [2217x1 double]
使用してみましcsvwrite('test.csv', mymat)
たが、エラーが発生します。
??? Undefined function or method 'real' for input arguments of type 'struct'.
Error in ==> dlmwrite at 192
str = sprintf('%.*g%+.*gi',precn,real(m(i,j)),precn,imag(m(i,j)));\
Error in ==> csvwrite at 32
dlmwrite(filename, m, ',', r, c);
問題は、マトリックスではなく構造体を使用してcsvwriteにフィードしていることだと思います。構造体変数を変数から行列に変換することはできますが、変数名を失うことになります。
確かにもっと良い方法がありますか?