うしブログ

うしブログ

趣味で運営する、GeoGebraの専門ブログ。

(作業メモ)StartPoint要検証(2行の場合;テキスト変更時未定義問題)

(要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング

Union[ <リスト>, <リスト> ]

list1 = {2,3,4,5} と、list2 = {3,4,5,6}をつなげたい。

(1){2,3,4,5,3,4,5,6}というように、単純につなげ。

(2)単純につないだうえ、要素に重複があれば、初出(つまり、当該重複要素のうち、最も左にあるもの)のみを残し、あとは削除せよ。

解答

(1) Join[list1, list2]

(2)Union[list1, list2] (その値は、{2,3,4,5,6}である。)

解説

Union[ <リスト>, <リスト> ]は、2つのリストをつなげたリストを作成する。

ただし、Joinと違って、つなげた結果に重複する要素がある場合には、初出のみ残し、あとは削除する。

 

list1 = {3,6,2,4,3}, list2 = {4,6,1,5,6}のとき、以下の値を確認せよ。

(1)Join[list1, list2]

(2)Join[list2,list1]

(3)Union[list1, list2]

(4)Union[list2, list1]

(5)Unique[ Join[list1, list2] ]

解答

(1){3,6,2,4,3,4,6,1,5,6} →Joinは、2つのリストを単純につなげる。

(2){4,6,1,5,6,3,6,2,4,3} →Joinは、入力した引数の順番通りにつなぐ。

(3){3,6,2,4,1,5} →(1)の結果のうち、重複する要素を初出のみ残したもの。

(4){4,6,1,5,3,2} →(2)の結果のうち、重複する要素を初出のみ残したもの。

(4){1,2,3,4,5,6} →Uniqueを実行すると、重複を削除のうえ、昇順に並び替わる。

FitPoly[ <点のリスト>, <多項式の次数> ]

rawData = {(1, 2), (2, 2), (3, 2), (2, 3), (4, 4), (4, 3), (3, 3), (3, 4), (1, 4), (-2, 4), (-2, 6), (-3, 7), (-3, 6), (-2, 6), (-1, 4), (-1, 3), (-1, 5), (5, 4), (6, 6), (7, 6), (9, 6), (9, 4), (7, 5), (6, 5), (8, 5), (8, 6), (6, 7), (5, 6), (7, 3), (1, 3), (5, 5), (5, 8)}

を作成する。

rawDataから、3次多項式による近似曲線を求めよ。

f:id:usiblog:20200528024218p:plain

解答

FitPoly[rawData,3] (その値は、y = -0.02108x³ + 0.25513x² - 0.38431x + 3.02024)

解説

FitPoly[ <点のリスト>, <多項式の次数> ]は、指定の点のリストから、指定の次数の多項式による近似曲線を作成する。

Zip[ <式>, <変数1>, <リスト1>, <変数2>, <リスト2>, ... ]

list1 = {1,2,3,4,5}, list2 = {5,4,3,2,1}とする。

各要素の積からなるリスト {1×5, 2×4, 3×3, 4×2, 5×1}を作成せよ。

解答

Zip[s*t, s, list1, t, list2] (その値は、{5,8,9,8,5}である。)

解説

Zip[ <式>, <変数1>, <リスト1>, <変数2>, <リスト2>, ... ]は、要素数が等しい複数のリストから、同じ位置の要素を取り出してきて、<式>で指定した演算を行い、新たなリストを作成する。

 

list1 = {1,2,3,4,5}とする。list1の各要素に10を足したリスト{11,12,13,14,15}を作成せよ。

解答

Zip[k+10, k, list1]

 

list1 = {"もも", "かくざとう", "にほんおおかみ"}から、

{"ももの文字数は2文字です。", "かくざとうの文字数は5文字です。", "にほんおおかみの文字数は7文字です"}というリストを作成せよ。 

解答

Zip[s + "の文字数は" + Length[s] + "文字です。", s, list1]