insertion
変数への部分的な代入または修正
assignation
変数への部分的な代入
呼出し手順
x(i,j)=a x(i)=a l(i)=a l(k1)...(kn)(i)=a または l(list(k1,...,kn,i))=a l(k1)...(kn)(i,j)=a または l(list(k1,...,kn,list(i,j))=a
引数
- x
任意の型の行列 (定数, 疎行列, 多項式,...)
- l
リスト
- i,j
添え字
- k1,...kn
整数値の添え字
- a
新しいエントリの値
説明n
行列の場合
x
が行列の場合,
添え字 i
および j
, は次のようになります:
- 実数のスカラーまたはベクトルまたは行列
この場合,添え字として指定される値は正である必要があり, その整数部のみが使用されます.
a
が次元(size(i,'*'),size(j,'*'))
の行列の場合,x(i,j)=a
は,l
を1からsize(i,'*')
,k
を1からsize(j,'*')
としてx(int(i(l)),int(j(k)))=a(l,k)
となるような 新たな行列x
を返します.x
のその他の初期エントリは変更されません.a
がスカラーの場合,x(i,j)=a
は,l
を1からsize(i,'*')
,k
を1からsize(j,'*')
として,x(int(i(l)),int(j(k)))=a
となるような 新しい行列x
を返します.x
のその他の初期エントリは変更されません.i
またはj
の最大値が対応する行列x
の次元の最大値を 超える場合,配列x
は,必要な次元まで事前に拡張されます. この際,標準の行列の場合は0,文字列行列の場合は長さ0の文字列, 論理値行列の場合は 値false,をエントリとして拡張されます.x(i,j)=[]
は,j
がx
の全ての列にマッチする 場合,i
で指定した行を削除します. また,i
がx
の全ての行にマッチする 場合,j
で指定した列を削除します. その他の場合,x(i,j)=[]
はエラーを発生します.あるベクトル
a
を指定したx(i)=a
は,l
を1からsize(i,'*')
として,x(int(i(l)))=a(l)
となるような新しい行列x
を返します.x
のその他の初期エントリは変更されません.あるスカラー
a
を指定したx(i)=a
は,l
を1からsize(i,'*')
として,x(int(i(l)))=a
となるような新しい行列x
を返します.x
のその他の初期エントリは変更されません.i
の最大値がsize(x,1)
より大きくなる場合, 配列x
は,必要な次元まで事前に拡張されます. この際,標準の行列の場合は0,文字列行列の場合は長さ0の文字列, 論理値行列の場合は 値false,をエントリとして拡張されます.x
が 1x1行列 の場合,a
は,次元size(i,'*')
を有する 行 (各要素が1列) ベクトルとなります. 結果として,行列x
は行ベクトル (各要素が1列)となります.x
が行ベクトルの場合,a
は次元size(i,'*')
を有する行ベクトルである必要があります.x
が列ベクトルの場合,a
は次元size(i,'*')
を有する列ベクトルである必要があります.x
が一般の行列の場合,a
は次元がsize(i,'*')
の 行または列ベクトルである必要があります. また,i
の最大値はsize(x,'*')
を超えることはできません.
x(i)=[]
は,i
で指定したエントリを削除します.
- : 記号
:
記号は"全ての要素"を意味します.x(i,:)=a
は,x(i,1:size(x,2))=a
と解釈されます.x(:,j)=a
は,x(1:size(x,1),j)=a
と解釈されます.x(:)=a
は, 行列a
をxの次元に変形したx
を返します.size(x,'*')
は,size(a,'*')
に等しい必要があります.
- 論理値のベクトル
添え字 (
i
またはj
)が 論理値のベクトルの場合,それぞれfind(i)
またはfind(j)
として解釈されます.- 多項式
添え字 (
i
またはj
)が 多項式のベクトルまたは暗黙の多項式ベクトルの場合, それぞれhorner(i,m)
またはhorner(j,n)
と解釈されます. ただし,m
およびn
はx
の次元です. この機能は全ての多項式で動作しますが, 可読性の維持のため,$
の中で多項式を使用することを 推奨します.
listまたはtlistの場合
指定された場合,
ki
はl
データ構造 のサブリストのエントリへのパスを指定します. これにより,中間的なコピーをすることなく再帰的な挿入が 可能になります. 命令l(k1)...(kn)(i)=a
およびl(list(k1,...,kn,i)=a)
は 以下のように解釈されます:lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i) = a
lkn-1(kn) = lkn
.. = ..
l(k1) = lk1
命令
l(k1)...(kn)(i,j)=a
およびl(list(k1,...,kn,list(i,j))=a
は以下のように解釈されます:lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i,j) = a
lkn-1(kn) = lkn
.. = ..
l(k1)= lk1
i
は以下のようになります :実数の非負のスカラー.
l(0)=a
はリストの"左"にエントリを追加します.l(i)=a
はリストのi
番目の エントリにa
を設定します.i>size(l)
の場合,l
は長さ0のエントリ(未定義)で事前に拡張されます.l(i)=null()
は,i
番目の リストのエントリを削除します.多項式.
i
が多項式の場合,horner(i,m)
として解釈されます. ただし,m=size(l)
です. この機能は全ての多項式で動作しますが, 可読性の維持のため,$
の中で多項式を使用することを 推奨します.
k1,..kn
は次のようになります :実数の正のスカラー.
多項式,
horner(ki,m)
として解釈されます. ただし,m
は対応するサブリストの大きさです.サブリストのエントリ名を指す文字列.
注意
有理関数や状態空間線形システムのようにソフトウエアで作成される行列の型の場合,
リストの要素の展開と区別できないため,
x(i)
構文をベクトル要素の挿入には使用できない可能性が
あります.
この場合,
x(1,j)
または x(i,1)
構文を使用する必要があります.
例
Matrix case:
a = [1 2 3 ; 4 5 6] a(1,2) = 10 a([1 1],2) = [-1 ; -2] a(:,1) = [8 ; 5] a(1,3:-1:1) = [77 44 99] a(1) = %s a(6) = %s + 1 a(:) = 1:6 a([%t %f],1) = 33 a(1:2,$-1) = [2 ; 4] a($:-1:1,1) = [8 ; 7] a($) = 123 // x = 'test' x([4 5]) = ['4','5'] // b = [1/%s, (%s+1)/(%s-1)] b(1,1) = 0 b(1,$) = b(1,$) + 1 b(2) = [1 2] // the numerator
List or Tlist case:
参照
- extraction — 行列およびリストのエントリの展開
- colon — コロン演算子
- find — 論理値ベクトルまたは行列のtrue要素の添え字を見つける
- horner — 多項式/有理数の評価
- parentheses — ( ) 左および右括弧
Report an issue | ||
<< ind2sub | Elementary Functions | isempty >> |