Main Content

load

ファイルからワークスペースに変数を読み込む

説明

load(filename)filename のデータを MATLAB® ワークスペースに読み込みます。filename が MAT ファイルの場合、load(filename) はファイルから変数を読み込みます。filename が ASCII ファイルの場合、load(filename) はファイルからデータを含む倍精度配列を読み込みます。

メモ

セキュリティについての考慮事項: load コマンドは、変数を初期化する際に MAT ファイルに含まれているコードを実行することがあります。信頼されていない MAT ファイルに対して load を呼び出すことは避けてください。

load(filename,variables) は、指定された変数を MAT ファイル filename から読み込みます。

load(filename,"-ascii") は、ファイルの拡張子に関係なく、filename を ASCII ファイルとして取り扱います。

load(filename,"-mat") は、ファイルの拡張子に関係なく、filename を MAT ファイルとして取り扱います。

load(filename,"-mat",variables) は、指定された変数を filename から読み込みます。

S = load(___) は、前述の構文にある任意の入力引数の組み合わせを使用してデータを S に読み込みます。filename が MAT ファイルの場合、S は構造体配列です。filename が ASCII ファイルの場合、S はファイルのデータを含む mn 列の倍精度配列です。ここで、m はファイル内の行数、n は各行の値の数です。

load filename は、構文のコマンド形式です。コマンド形式では、必要な特殊文字が少なくなります。かっこを入力したり、入力を一重引用符または二重引用符で囲んだりする必要はありません。入力は、コンマではなく空白を使用して区切ります。入力にスペースが含まれる場合は、一重引用符で囲みます。

たとえば、test.mat という名前のファイルを読み込む場合、以下のステートメントは等価です。

load test.mat    % command form
load("test.mat") % function form

前述の構文で説明したいずれかの入力を含めることができます。たとえば、my file.mat という名前のファイルから変数 X を読み込む場合は次のようになります。

load 'my file.mat' X    % command form, using single quotes
load("my file.mat","X") % function form, using double quotes

filename など、入力のいずれかが変数である場合は、コマンド形式を使用しないでください。

すべて折りたたむ

MAT ファイル gong.mat からすべての変数を MATLAB ワークスペースに読み込みます。

まず、ワークスペースの内容を確認します。

whos

gong.mat の内容を表示します。

whos("-file","gong.mat")
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

gong.mat を読み込んでから、ワークスペースの内容を再度確認します。

load("gong.mat")
whos
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

コマンド構文を使用して、変数を読み込むこともできます。前に読み込んだ変数をクリアして、読み込み操作を反復します。

clear y Fs
load gong.mat

サンプル ファイル handel.mat から変数 y のみを読み込みます。ワークスペースに既に変数 y が含まれる場合、読み込み操作は、ファイルのデータでそれを上書きします。

load("handel.mat","y")

コマンド構文を使用して、変数 y を読み込むこともできます。

load handel.mat y

サンプルファイル accidents.mat の内容を表示します。

whos -file accidents.mat
  Name              Size            Bytes  Class     Attributes

  datasources       3x1              2700  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2622  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              6188  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               130  cell                

関数構文を使用して、名前が hwy で始まらないすべての変数をファイルから読み込みます。

load("accidents.mat","-regexp","^(?!hwy)...")

代替方法として、コマンド構文を使用して、同じ変数を読み込むこともできます。

load accidents.mat -regexp '^(?!hwy)...'

ファイル durer.mat には変数 Xcaption および map が含まれています。読み込む変数名の cell 配列を作成します。

filename = "durer.mat";
myVars = {"X","caption"};

durer.mat から選択した変数を構造体配列に読み込みます。

S = load(filename,myVars{:})
S = struct with fields:
          X: [648x509 double]
    caption: [2x28 char]

変数 Xcaption だけが構造体配列 S に読み込まれます。

いくつかの 4 列の行列から ASCII ファイルを作成し、倍精度配列にデータを戻します。

a = magic(4);
b = -5.7*ones(2,4);
c = [8 6 4 2];
save mydata.dat a b c -ascii
clear a b c

load mydata.dat -ascii

load は、mydata という名前の double 型の配列を作成します。

mydata に関する情報を表示します。

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

入力引数

すべて折りたたむ

ファイルの名前。string スカラーまたは文字ベクトルとして指定します。filename を指定しない場合、関数 load は、matlab.mat という名前のファイルを検索します。

filename に拡張子がない場合 (つまり、ピリオドに続くテキストで終わっていない場合)、loadfilename.mat を追加した名前のファイルを検索します。filename.mat 以外の拡張子をもつ場合、関数 load は、ASCII データとしてファイルを扱います。

メモ

ASCII ファイルには、各行の要素の数が等しい、数値から構成される四角形のテーブルが含まれなければなりません。ファイルの区切り記号 (各行の要素の間の文字) には、空白、コンマ、セミコロン、またはタブ文字を使用できます。ファイルには、MATLAB コメント (パーセント記号 % で始まる行) を含めることができます。

ファイルの場所に応じて、filename は次の形式のいずれかになります。

場所

形式

現在のフォルダー、または MATLAB パス上のフォルダー

ファイル名を filename で指定します。

例: "myFile.mat"

フォルダー内のファイル

ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、filename に絶対パスまたは相対パスを指定します。

例: "C:\myFolder\myFile.mat"

例: "dataDir\myFile.mat"

リモートの場所 (Version 7.3 の MAT ファイルのみ)

ファイルがリモートの場所に保存されている場合、filename は以下の形式の Uniform Resource Locator (URL) として指定します。

scheme_name://path_to_file/my_file.mat

リモートの場所に基づいて、scheme_name には次の表の値のいずれかを指定できます。

リモートの場所scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

関数 load でリモートの場所からの読み込みがサポートされるのは、Version 7.3 の MAT ファイルのみです。

オンライン ストレージ サービスにアクセスするための MATLAB の設定の詳細については、リモート データの操作を参照してください。

例: "s3://bucketname/path_to_file/my_file.mat"

コマンド形式の load を使用する場合は、入力を一重引用符または二重引用符で囲む必要はありません。ただし、filename にスペースが含まれる場合、引数を一重引用符で囲まなければなりません。たとえば、load 'filename withspace.mat' のようになります。

読み込む変数の名前。1 つ以上の string スカラーまたは文字ベクトルとして指定します。コマンド形式の load を使用する場合は、入力を一重引用符で囲む必要はありません。

variables は次のいずれかの形式にすることができます。

入力 variables の形式読み込む変数
var1,var2,...,varN一覧表示された変数を読み込みます。個別の string スカラーまたは文字ベクトルとして指定します。パターンを一致させるには、ワイルドカード "*" を使用します。たとえば、load("filename.mat","A*") または load filename.mat A* は、名前が A で始まる、ファイル内のすべての変数を読み込みます。
"-regexp",expr1,expr2,...,exprN正規表現に一致する名前をもつ変数のみを読み込みます。string スカラーまたは文字ベクトルとして指定します。たとえば、load("filename.mat","-regexp","^Mon","^Tues") または load filename.mat -regexp ^Mon ^Tues は、名前が Mon または Tues で始まるファイルの変数だけを読み込みます。

制限

  • load でリモート データを操作する場合、入力ファイルを ASCII ファイルとして扱うことはサポートされていません。

ヒント

  • 以下の戦略を使用することで、ネットワーク ドライブからの MAT ファイルの読み込みを高速化できます。

    • 関数 load をローカル コピーに適用する前に、関数 copyfile を使用してネットワーク ドライブからローカル ドライブにファイルをコピーします。

    • ファイルをワークスペースに読み込むことなく、関数 matfile を使用してファイルにアクセスします。

    • 現在のフォルダー ブラウザーの更新を減らすか無効にします。これを行うには、[ホーム] タブに移動し、[環境] セクションで [基本設定] を選択します。[MATLAB][現在のフォルダー] を選択します。[自動更新の間の秒数] の値を既定値 3 より大きい数値に増やすか、[ファイル システムから自動更新表示] チェック ボックスをクリアして機能を無効にします。

アルゴリズム

ASCII ファイルから読み込む際に出力を指定しなかった場合、関数 load は、読み込まれたファイルの名前 (ただしファイル拡張子は除く) と同じ名前の変数を作成します。たとえば、コマンド load mydata.dat は、mydata という名前の変数にデータを読み取ります。たとえば、ASCII ファイルの読み込みを参照してください。

変数名を作成するために、load は、filename の先頭のアンダースコアまたは数字の前に X を付け、アルファベット以外の他の文字をアンダースコアで置き換えます。たとえば、コマンド load 10-May-data.datX10_May_data という名前の変数を作成します。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する