Main Content

colon, :

シンボリック ベクトル、配列の添字および for ループの反復を作成

説明

m:n は、[m,m+1,...,n]の値をもつシンボリック ベクトルを返します。m および n はシンボリック定数です。nm のインクリメントでない場合、ベクトルの最後の値は nの前に停止します。これは、すべての構文に当てはまります。

m:d:n は、[m,m+d,...,n]の値をもつシンボリック ベクトルを返します。d は有理数です。

x:x+r は、[x,x+1,...,x+r]の値をもつシンボリック ベクトルを返します。x はシンボリック変数、r は有理数です。

x:d:x+r は、[x,x+d,...,x+r]の値をもつシンボリック ベクトルを返します。d および r は有理数です。

数値配列とシンボリック配列の作成

コロン演算子を使用して、数値配列とシンボリック配列を作成します。これらの入力はシンボリック オブジェクトではないため、結果は浮動小数点となります。

1/2:7/2
ans =
    0.5000    1.5000    2.5000    3.5000

シンボリックな結果を得るためには、入力をシンボリック オブジェクトに変換します。

sym(1/2):sym(7/2)
ans =
[ 1/2, 3/2, 5/2, 7/2]

使用するインクリメントを指定します。

sym(1/2):2/3:sym(7/2)
ans =
[ 1/2, 7/6, 11/6, 5/2, 19/6]

シンボリック変数のインクリメントの取得

syms x
x:x+2
ans =
[ x, x + 1, x + 2]

使用するインクリメントを指定します。

syms x
x:3/7:x+2
ans =
[ x, x + 3/7, x + 6/7, x + 9/7, x + 12/7]

x/3 間隔で x から 2*x までのインクリメントを取得します。

syms x
x:x/3:2*x
ans =
[ x, (4*x)/3, (5*x)/3, 2*x]

調和級数の積を求める

調和級数の最初の 4 つの項の積を求めます。

syms x
p = sym(1);
for i = x:x+3 
    p = p*1/i;
end
p
p =
1/(x*(x + 1)*(x + 2)*(x + 3))	

expand を使用して、完全な多項式を得ることができます。

expand(p)
ans =
1/(x^4 + 6*x^3 + 11*x^2 + 6*x)	

subs を使用して、x1 に置き換え、積を分数として求めます。

p = subs(p,x,1)
p =
1/24

vpa を使用し、結果を浮動小数点値として返します。

vpa(p)
ans =
0.041666666666666666666666666666667

記述された操作は 1 行のコードで実現できます。

vpa(subs( expand(prod(1./(x:x+3))) ,x,1))
ans =
0.041666666666666666666666666666667

入力引数

すべて折りたたむ

入力。シンボリック定数として指定します。

入力。シンボリック定数として指定します。

入力。シンボリック変数として指定します。

ベクトル値の上限。シンボリック有理数として指定します。たとえば、x:x+2[ x, x + 1, x + 2] を返します。

ベクトル値のインクリメント。シンボリック有理数として指定します。たとえば、x:1/2:x+2[ x, x + 1/2, x + 1, x + 3/2, x + 2] を返します。

バージョン履歴

R2006a より前に導入

参考