Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Input/Output functions > read

read

行列を読み込む

呼び出し手順

[x]=read(file-desc,m,n,[format])
[x]=read(file-desc,m,n,k,format)

パラメータ

file-desc

ファイル名を指定する文字列または論理ユニットを 指定する整数値(file参照).

m, n

整数 (行列 xの次元). 行の数が未知の場合には m=-1を設定します. この場合,ファイル全体が読み込まれます.

format : 文字列,"Fortran" 形式で指定します.

この文字列は右括弧で始まり, 左括弧で終わる必要があります. format では 浮動小数点数または文字列編集モードを混用することができません.

k

整数または整数のベクトル

説明

ファイルfile-desc (文字列または整数)から mxn 行列 x (文字連鎖の場合,n=1)を行毎に読み込みます. 行列xの各行は, file-descファイルの新しい行で 始まります. formatに基づき, x行列の指定した行は file-descファイルの複数の行から読み込む ことができます.

結果の型は指定されたformatに依存します. formatが(d,e,f,g)記述子のみを有する場合, この関数は数値データを読み込みます(結果は実数の行列です).

format が a記述子のみを含む場合, この関数は文字列を読み込みます (結果は文字列列ベクトルです). この場合, n は1である必要があります. 警告: 文字列の長さが 4093 よりも長い場合,丸められます.

formatの例:

(1x,e10.3,5x,3(f3.0))
(10x,a20)

formatが省略された場合,データが数値フリー形式で読み込まれます: 空白,カンマおよびスラッシュをデータセパレータとして 使用でき, 値 v が n 回現れることを指定するためにn*v を使用できます.

読み込むレコード数のベクトル(行毎に1レコード)である パラメータkを使用する場合, ファイルの直接アクセスを使用できます. この場合,mm=prod(size(k))となります.

キーボードから読み込むには, read(%io(1),...)を使用してください.

注意

データファイルの最後の行は, 認識されるために,改行で終わる必要があります.

if getos() == 'Windows' then unix('del foo');
else unix('rm -f foo'); end
A=rand(3,5); write('foo',A);
B=read('foo',3,5)
B=read('foo',-1,5)
read(%io(1),1,1,'(a)')  // ユーザ入力を待つ

参照

  • write — フォーマットされたファイルに書き込む
  • load — フォーマットされたファイルに書き込む
  • file — ファイル管理
  • readb — fortranファイルバイナリの読み込み
  • x_dialog — 対話的な複数行入力用ダイアログ.
  • mscanf
  • mfscanf — 標準入力から入力を読み込む (C言語の scanf 関数へのインターフェイス)
  • msscanf
  • fscanfMat — テキストファイルから行列を読み込む.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:33 CEST 2012