Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

load

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

説明

load(filename) は、filename からデータを読み込みます。

  • filename が MAT ファイルの場合、load(filename) は MAT ファイルの変数を MATLAB® ワークスペースに読み込みます。

  • 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 はファイルからのデータを含む倍精度配列になります。

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

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

load durer.mat      % command form
load('durer.mat')   % function form

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

load durer.mat X       % command form
load('durer.mat','X')  % function form

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

すべて折りたたむ

MAT ファイル gong.mat からすべての変数を読み込みます。読み込み操作の前後のワークスペースの内容を確認します。

disp('Contents of workspace before loading file:')
whos

disp('Contents of gong.mat:')
whos('-file','gong.mat')

load('gong.mat')
disp('Contents of workspace after loading file:')
whos

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

clear y Fs

load gong.mat

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

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

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

load handel.mat y

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

whos -file accidents.mat
 Name              Size            Bytes  Class     Attributes

  datasources       3x1              2724  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2758  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              6596  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               138  cell                

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

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

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

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

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

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

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

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

a = magic(4);
b = ones(2, 4) * -5.7;
c = [8 6 4 2];
save -ascii mydata.dat a b c
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 に拡張子が含まれない (すなわちピリオドの後に文字列が続かない) 場合、関数 load は、filename.mat という名前のファイルを検索します。filename.mat 以外の拡張子をもつ場合、関数 load は、ASCII データとしてファイルを扱います。

ファイルの場所によって、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' のようになります。

メモ

filename が string の場合は、コマンド形式を使用しないでください。

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

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

メモ

variables が string の場合は、コマンド形式を使用しないでください。

variables は、次のいずれかの形式にできます。

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

出力引数

すべて折りたたむ

読み込まれた変数。filename が MAT ファイルの場合、構造体配列として返されます。

読み込まれたデータ。filename が ASCII ファイルの場合、double 型の mn 列の配列として返されます。m はファイル内の行数、n は 1 行あたりの値の数に等しくなります。

制限

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

アルゴリズム

関数 load について出力を指定しない場合、MATLAB は、読み込まれたファイルの名前 (ただしファイル拡張子は除く) と同じ名前の変数を作成します。たとえば、次のコマンド

load mydata.dat

は、mydata という名前の変数にデータを読み取ります。

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

load 10-May-data.dat

は、X10_May_data という名前の変数を作成します。

拡張機能

バージョン履歴

R2006a より前に導入