変数への部分的な代入または修正
変数への部分的な代入
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
が行列の場合,
添え字 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
の次元です.
この機能は全ての多項式で動作しますが,
可読性の維持のため,$
の中で多項式を使用することを
推奨します.
指定された場合,
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 l=list(1,'qwerw',%s) l(1)='Changed' l(0)='Added' l(6)=['one more';'added'] // // dts=list(1,tlist(['x';'a';'b'],10,[2 3])); dts(2).a=33 dts(2)('b')(1,2)=-100 | ![]() | ![]() |