複数の.mファイルからの変数のインポート

17 visualizzazioni (ultimi 30 giorni)
Hiroki Takeda
Hiroki Takeda il 18 Mag 2022
Commentato: Hiroki Takeda il 21 Mag 2022
以下のpathの中に、.mファイルが複数あります。
%raw data
path = '/Users/ID/Desktop/data/size_data/reviseddata/';
Files = '*.mat';
%% データ抽出
Filenames = fullfile(path,Files);
F_name=dir(Filenames);
1つの.mに、lat、lonがdoubleで、data1、data2がcellで入っています。
例えば、以下のように、lat,lonが 4×1 double、data1とdata2が4×1 cellです。data1は1つのセルに数字が3つ入っています。data2は1つのセルに数字が1つです。ただし、全ての.mが4×1とは限らず、例えば20行あるものもあります。
lon =[132;131;130;129]
lat =[20;30;40;50]
data1 =
4×1 cell 配列
{[1 4 5]}
{[0 1 4]}
{[1 3 5]}
{[-1 3 5]}
data2 =
4×1 cell 配列
{[5]}
{[3]}
{[4]}
{[0]}
<実施したいこと>
.mを全てmergeさせて、1つの変数((合計の行)×6の配列、double)としたい(最終的にはmap上に点を打ちたいと考えています)。
<わからないこと>
全ての.mファイルを1つにまとめることはできますか?
.mのファイル名は一つずつ異なりますが、中に入っている変数名(lat、lon、data1、data2)が同じです。
ご示唆くださりますと幸いです。
どうぞよろしくお願いいたします。
  2 Commenti
Hernia Baby
Hernia Baby il 18 Mag 2022
1つ教えてください。
1つの変数((合計の行)×6の配列、double)とは [lon, lat, data1, data2]のような考えになりますか?
その場合はサイズの異なる空白部はNaNで埋めたりしますか?
Hiroki Takeda
Hiroki Takeda il 18 Mag 2022
早速にご連絡ありがとうございます。
はい,[lon, lat, data1, data2]のような考えです。
サイズの異なる空白部はNaNで埋める設定にしていただけますと幸いです。
よろしくお願いいたします。

Accedi per commentare.

Risposta accettata

Hernia Baby
Hernia Baby il 18 Mag 2022
各データ内の行数は同じだと仮定して話を進めています
まずは格納するための空集合Xを持ちます
X = [];
データを一つとってきたとしましょう
lon =[132;131;130;129];
lat =[20;30;40;50];
data1 ={[1 4 5];
[0 1 4];
[1 3 5];
[-1 3 5]};
data2 ={
[5]
[3]
[4]
[0]};
ここでcell型を cell2mat でdouble型に変換します
data1 = cell2mat(data1)
data1 = 4×3
1 4 5 0 1 4 1 3 5 -1 3 5
data2 = cell2mat(data2)
data2 = 4×1
5 3 4 0
一時フォルダで1セットにしましょう
tmp = [lon,lat,data1,data2]
tmp = 4×6
132 20 1 4 5 5 131 30 0 1 4 3 130 40 1 3 5 4 129 50 -1 3 5 0
後は tmp を更新しながら連結していくだけです
X = [X;tmp]
X = 4×6
132 20 1 4 5 5 131 30 0 1 4 3 130 40 1 3 5 4 129 50 -1 3 5 0
X = [X;tmp]
X = 8×6
132 20 1 4 5 5 131 30 0 1 4 3 130 40 1 3 5 4 129 50 -1 3 5 0 132 20 1 4 5 5 131 30 0 1 4 3 130 40 1 3 5 4 129 50 -1 3 5 0
  1 Commento
Hiroki Takeda
Hiroki Takeda il 21 Mag 2022
ありがとうございました。
無事に処理することができました。
今後ともよろしくお願いいたします。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Logical in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!