私の実験(200+)から大量の.csvファイルがあり、以前は別々に読み込んでいました。面倒な仕事です。matlabワークスペースで変数名のセル配列から文字列を取り出す
co_15 = csvread('CO_15K.csv',5,0);
co_25 = csvread('CO_25K.csv',5,0);
co2_15 = csvread('CO2_15K.csv',5,0);
co2_80 = csvread('CO2_80K.csv',5,0);
h2o_15 = csvread('H2O_15K.csv',1,0);
etc.....
私はこのように見えるコードの冒頭にセルを作成し、それから自動的に読み込むforループを作成します。
input = {'co_15' 5;'co_25' 5;...
'co2_15' 5; 'co2_80' 5;...
'h2o_15' 1; 'h2o_140' 1;...
'methanol_15' 5;'methanol_120' 5;'methanol_140' 5;...
'ethanol_15' 5;'ethanol_80' 1;'ethanol_140' 5;...
'co2_ethanol_15' 5 ;'co2_ethanol_80' 5;...
'h2o_ethanol_15' 1 ;'h2o_ethanol_140' 1;...
'methanol_ethanol_15' 5;'methanol_ethanol_120' 5;'methanol_ethanol_140' 5};
for n = 1:size(input,1)
input{n,1} = csvread(strcat(input{n,1},'k.csv'),input{n,2},0);
end
このコードでは、セルが19行2列で、行は、すべてのファイルがあり、列は、データを処理するためのパラメータが含まれています。今私が解決策を見つけることができない問題は、私の最初の列が文字列名であり、その文字列名をcsvreadがデータを書き込む変数の名前にしたいのですが、今設定した方法で上書きしますcsvデータを持つセルの最初の列の文字列。私のMATLABワークスペースには、私のcsvファイルのデータを含む最初の列に文字列名を持つ変数が必要です。これをどうすれば解決できますか?
そして私は実際にこれを行うにはしたくない場合?私はそれを働かせることができないので、あなたはeval関数でこれをどうやって行いますか?すごくスタブであることを申し訳ありませんが、私は構造体を使ったことはありませんでした。私はすべてのデータを変更する必要があるようですが、今は時間がありません。 – Terranees
@Terranees私はそれを解決策で更新しました。もう一度、可能であれば最初の3つのアプローチのいずれかを使用してください。 – Suever
ありがとうございます、もう少し時間がある場合は最初の3つのアプローチを見ていきます – Terranees