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 >> Elementary Functions > setoperations > intersect

intersect

2つのベクトルで共通の値のベクトルを返す

呼び出し手順

[v [,ka,kb]]=intersect(a,b)
[v [,ka,kb]]=intersect(a,b,orient)

パラメータ

a

数値または文字列のベクトル

b

数値または文字列のベクトル

orient

flag で, 次の値を指定可能 : 1 または "r", 2 または "c"

v

数値または文字列の行ベクトル

ka

整数の行ベクトル

kb

整数の行ベクトル

説明

intersect(a,b) は2つのベクトル a および bで共通な値をソートした行ベクトルを返します.

[v,ka,kb]=intersect(a,b)v=a(ka) および v=b(kb)となるような 添字ベクトルka および kbも返します.

intersect(a,b,"r") または intersect(a,b,1)は,辞書式で昇順にソートされた a および b のユニークな行の 共通な値からなる行列を返します.この場合, 行列 a および b の列の数は 同じである必要があります.

[v,ka,kb]=intersect(a,b,"r")v=a(ka,:) および v=b(kb,:)となるような 添字ベクトルka および kbも返します.

intersect(a,b,"c") または intersect(a,b,2) は,辞書式で昇順にソートされた a および b のユニークな列の 共通な値からなる行列を返します.この場合, 行列 a および b の行の数は 同じである必要があります.

[v,ka,kb]=intersect(a,b,"c")v=a(:,ka) および v=b(:,kb)となるような 添字ベクトルka および kbも返します.

注意

NaN は処理対象ではないとみなされ,ベクトルの共通項の場合, 共通要素から除外されます.

A=round(5*rand(10,1));
B=round(5*rand(7,1));

intersect(A,B)
[N,ka,kb]=intersect(A,B)

intersect('a'+string(A),'a'+string(B))

intersect(int16(A),int16(B))

//行列の場合
 A = [0,0,1,1 1;
      0,1,1,1,1;
      2,0,1,1,1;
      0,2,2,2,2;
      2,0,1,1,1;
      0,0,1,1,%nan];
B = [1,0,1;
     1,0,2;
     1,2,3;
     2,0,4;
     1,2,5;
     %nan,0,6];

[v,ka,kb] = intersect(A,B,'c')
A(:,ka)

参照

  • unique — ベクトルまたは行列のユニークなな要素を展開
  • gsort — クイックソートアルゴリズムによるソート
  • union — ベクトルの和集合要素を展開
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:23 CEST 2012